From 26369712c3ca09e925b260086a7a938eed2d208b Mon Sep 17 00:00:00 2001 From: Snirozu <72814880+Snirozu@users.noreply.github.com> Date: Sat, 16 Nov 2024 13:06:28 +0100 Subject: [PATCH 1/6] 0.9.0 --- assets/preload/data/introText.txt | 6 +- .../images/charSelect/gfChill/Animation.json | 49962 ++++++++++++++++ .../images/charSelect/gfChill/spritemap1.json | 41 + .../images/charSelect/gfChill/spritemap1.png | Bin 0 -> 111035 bytes assets/preload/images/credits/snirozu.png | Bin 1778 -> 6101 bytes source/Main.hx | 8 +- source/backend/ClientPrefs.hx | 3 + source/objects/Alphabet.hx | 16 +- source/objects/Character.hx | 53 +- source/objects/Note.hx | 4 +- source/online/FunkinPoints.hx | 16 +- source/online/GameClient.hx | 12 +- source/online/NetworkClient.hx | 95 + source/online/backend/Thread.hx | 14 + source/online/backend/schema/NetworkSchema.hx | 13 + source/online/gui/Alert.hx | 2 +- source/online/gui/sidebar/MainTab.hx | 152 +- source/online/gui/sidebar/SideUI.hx | 47 +- source/online/gui/sidebar/TabSprite.hx | 6 +- source/online/mods/Downloader.hx | 12 +- source/online/mods/OnlineMods.hx | 2 +- source/online/network/FunkinNetwork.hx | 33 +- source/online/objects/AlphaLikeText.hx | 44 + source/online/objects/ChatBox.hx | 21 +- source/online/objects/InputText.hx | 9 + source/online/objects/ProfileBox.hx | 190 +- source/online/replay/ReplayRecorder.hx | 6 +- source/online/states/FindRoomState.hx | 2 +- source/online/states/OnlineOptionsState.hx | 86 +- source/online/states/OnlineState.hx | 50 +- source/online/states/ResultsState.hx | 50 +- source/online/states/RoomState.hx | 164 +- source/online/states/SkinsState.hx | 9 + source/online/util/FileUtils.hx | 4 + source/online/util/HTTPClient.hx | 96 +- source/online/util/ShitUtil.hx | 220 + source/online/util/URLScraper.hx | 2 +- source/options/GameplaySettingsSubState.hx | 30 +- source/options/GraphicsSettingsSubState.hx | 27 +- source/options/OptionsState.hx | 4 +- source/options/VisualsUISubState.hx | 12 +- source/states/FreeplayState.hx | 205 +- source/states/PlayState.hx | 94 +- source/states/TitleState.hx | 4 +- source/states/editors/CharacterEditorState.hx | 18 +- source/states/stages/Philly.hx | 1 + 46 files changed, 51466 insertions(+), 379 deletions(-) create mode 100644 assets/preload/images/charSelect/gfChill/Animation.json create mode 100644 assets/preload/images/charSelect/gfChill/spritemap1.json create mode 100644 assets/preload/images/charSelect/gfChill/spritemap1.png create mode 100644 source/online/NetworkClient.hx create mode 100644 source/online/backend/schema/NetworkSchema.hx create mode 100644 source/online/objects/AlphaLikeText.hx create mode 100644 source/online/util/ShitUtil.hx diff --git a/assets/preload/data/introText.txt b/assets/preload/data/introText.txt index 258b0078..f3a63b6a 100644 --- a/assets/preload/data/introText.txt +++ b/assets/preload/data/introText.txt @@ -57,8 +57,6 @@ go pico yeah yeah--*twerks cutely* forever engine--well not so forever lol wash your hands--stay safe bro wear a mask--even if vaccinated -port engine psych--behavior fatherless -port psych a made i--yay clout free wanna work on my fnf--fnf mod gazozoz--sickest bomb recoveries atvdriver--the rats are coming @@ -81,4 +79,6 @@ yo soy luigi--mamma mia alexa enable reddit mod--reddit mod enables where is--ls mark? totally--garnular -we love--bopcity!! \ No newline at end of file +we love--bopcity!! +2 million dollars--call that a business meal +gf over gf--free clout yay \ No newline at end of file diff --git a/assets/preload/images/charSelect/gfChill/Animation.json b/assets/preload/images/charSelect/gfChill/Animation.json new file mode 100644 index 00000000..557c20b7 --- /dev/null +++ b/assets/preload/images/charSelect/gfChill/Animation.json @@ -0,0 +1,49962 @@ +{ +"AN": { +"N": "GF character select overlay edit", +"STI": { +"SI": { +"SN": "GIRLFRIEND CS", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +639.95, +360.0, +0.0, +1.0 +] +} +}, +"SN": "GIRLFRIEND CS", +"TL": { +"L": [ +{ +"LN": "Layer_1", +"FR": [ +{ +"N": "idle", +"I": 0, +"DU": 30, +"E": [] +}, +{ +"N": "confirm", +"I": 30, +"DU": 24, +"E": [] +}, +{ +"N": "deselect", +"I": 54, +"DU": 52, +"E": [] +} +] +}, +{ +"LN": "Partner_GF_idle_Layer", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 2, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 3, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 4, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 4, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 5, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 6, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 6, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 7, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 7, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 8, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 8, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 10, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 11, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 11, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 12, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 12, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 13, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 13, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 14, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 14, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 15, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 15, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 16, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 16, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 17, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 17, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 18, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 18, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 19, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 19, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 20, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 21, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 21, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 22, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 22, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 23, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 23, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 24, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 24, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 25, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 25, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 26, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 26, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 27, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 27, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 28, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 28, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 29, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF idle", +"IN": "", +"ST": "G", +"FF": 29, +"LP": "PO", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 30, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 31, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 32, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 2, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 33, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 3, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 34, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 4, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 35, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 5, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 36, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 6, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 37, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 7, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 38, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 8, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 39, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 40, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 10, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 41, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 11, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 42, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 12, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 43, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 13, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 44, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 14, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 45, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 15, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 46, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 16, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 47, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 17, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 48, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 18, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 49, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 19, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 50, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 51, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 21, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 52, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 22, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 53, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF confirm", +"IN": "", +"ST": "G", +"FF": 23, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 81.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 54, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 55, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 2, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 56, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 3, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 57, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 4, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 58, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 5, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 59, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 6, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 60, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 7, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 61, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 8, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 62, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 63, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 10, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 64, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 11, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 65, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 12, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 66, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 13, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 67, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 14, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 68, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 15, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 69, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 16, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 70, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 17, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 71, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 18, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 72, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 19, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 73, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 74, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 21, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 75, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 22, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 76, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 23, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 77, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 24, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 78, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 25, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 79, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 26, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 80, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 27, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 81, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 28, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 82, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 29, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 83, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 30, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 84, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 31, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 85, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 32, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 86, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 33, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 87, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 34, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 88, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 35, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 89, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 36, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 90, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 37, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 91, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 38, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 92, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 39, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 93, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 40, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 94, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 41, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 95, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 42, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 96, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 43, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 97, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 44, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 98, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 45, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 99, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 46, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 100, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 47, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 101, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 48, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 102, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 49, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 103, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 50, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 104, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 51, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 105, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "Partner GF deselect", +"IN": "", +"ST": "G", +"FF": 52, +"LP": "LP", +"TRP": { +"x": -335.95, +"y": 79.4 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.05, +-0.1, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +"SD": { +"S": [ +{ +"SN": "Partner GF idle", +"TL": { +"L": [ +{ +"LN": "Layer_1", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 2, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 3, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 4, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 4, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 5, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 6, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 6, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 7, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 7, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 8, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 8, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 10, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 11, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 11, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 12, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 12, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 13, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 13, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 14, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 14, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 15, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 15, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 16, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 16, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 17, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 17, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 18, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 18, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 19, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 19, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 20, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 21, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 21, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 22, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 22, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 23, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 23, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 24, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 24, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 25, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 25, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 26, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 26, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 27, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 27, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 28, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 28, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 29, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF character select", +"IN": "", +"ST": "G", +"FF": 29, +"LP": "LP", +"TRP": { +"x": 118.7, +"y": 167.3 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.2, +-78.6, +0.0, +1.0 +] +} +} +] +} +] +}, +{ +"LN": "Layer_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 29, +"LP": "LP", +"TRP": { +"x": 220.95000000000003, +"y": 160.45000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 220.95000000000003, +"y": 160.45000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 2, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 4, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 3, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 4, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 6, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 5, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 7, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 6, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 8, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 7, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 8, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 11, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 10, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 12, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 11, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 13, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 12, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 14, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 13, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 15, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 14, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 16, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 15, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 17, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 16, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 18, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 17, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 19, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 18, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 20, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 19, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 21, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 22, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 21, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 23, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 22, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 24, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 23, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 25, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 24, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 26, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 25, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 27, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 26, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 28, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 27, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 29, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 28, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "GF character select", +"TL": { +"L": [ +{ +"LN": "Layer_3", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.60000000000001, +"y": 91.10000000000001 +}, +"M3D": [ +0.9996795654296875, +-0.02227783203125, +0.0, +0.0, +0.02227783203125, +0.9996795654296875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +17.1, +3.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 45.2, +"y": 34.800000000000007 +}, +"M3D": [ +0.9996795654296875, +-0.02227783203125, +0.0, +0.0, +0.02227783203125, +0.9996795654296875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +59.7, +104.75, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.6, +"y": 91.1 +}, +"M3D": [ +0.9996795654296875, +-0.02227783203125, +0.0, +0.0, +0.02227783203125, +0.9996795654296875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +17.1, +3.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": 45.2, +"y": 34.8 +}, +"M3D": [ +0.9996795654296875, +-0.02227783203125, +0.0, +0.0, +0.02227783203125, +0.9996795654296875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +59.7, +104.75, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.60000000000001, +"y": 91.10000000000001 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +21.65, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 45.25, +"y": 34.800000000000007 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +62.5, +100.3, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.6, +"y": 91.1 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +21.65, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": 45.25, +"y": 34.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +62.5, +100.3, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 4, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.6, +"y": 91.1 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +21.65, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 2, +"LP": "LP", +"TRP": { +"x": 45.25, +"y": 34.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +62.5, +100.3, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.6, +"y": 91.1 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +21.65, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 3, +"LP": "LP", +"TRP": { +"x": 45.25, +"y": 34.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +62.5, +100.3, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 6, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.6, +"y": 91.1 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +21.65, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 4, +"LP": "LP", +"TRP": { +"x": 45.25, +"y": 34.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +62.5, +100.3, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 7, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.6, +"y": 91.1 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +21.65, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 5, +"LP": "LP", +"TRP": { +"x": 45.25, +"y": 34.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +62.5, +100.3, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 8, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.6, +"y": 91.1 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +21.65, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 6, +"LP": "LP", +"TRP": { +"x": 45.25, +"y": 34.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +62.5, +100.3, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.55, +"y": 91.15 +}, +"M3D": [ +0.999755859375, +-0.0181884765625, +0.0, +0.0, +0.0181884765625, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +20.1, +-0.25, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 45.300000000000007, +"y": 34.800000000000007 +}, +"M3D": [ +0.999755859375, +-0.0181884765625, +0.0, +0.0, +0.0181884765625, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +62.75, +100.3, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.55, +"y": 91.15 +}, +"M3D": [ +0.999755859375, +-0.0181884765625, +0.0, +0.0, +0.0181884765625, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +20.1, +-0.25, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": 45.3, +"y": 34.8 +}, +"M3D": [ +0.999755859375, +-0.0181884765625, +0.0, +0.0, +0.0181884765625, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +62.75, +100.3, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 11, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.55, +"y": 91.2 +}, +"M3D": [ +0.99517822265625, +0.092529296875, +0.0, +0.0, +-0.092529296875, +0.99517822265625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +34.85, +-13.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 45.300000000000007, +"y": 34.800000000000007 +}, +"M3D": [ +0.99517822265625, +0.092529296875, +0.0, +0.0, +-0.092529296875, +0.99517822265625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +66.15, +88.2, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 12, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.55, +"y": 91.2 +}, +"M3D": [ +0.99517822265625, +0.092529296875, +0.0, +0.0, +-0.092529296875, +0.99517822265625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +34.85, +-13.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": 45.3, +"y": 34.8 +}, +"M3D": [ +0.99517822265625, +0.092529296875, +0.0, +0.0, +-0.092529296875, +0.99517822265625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +66.15, +88.2, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 13, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.55, +"y": 91.15 +}, +"M3D": [ +0.99273681640625, +0.114959716796875, +0.0, +0.0, +-0.114959716796875, +0.99273681640625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +41.35, +-13.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 45.2, +"y": 34.75 +}, +"M3D": [ +0.9903564453125, +0.13330078125, +0.0, +0.0, +-0.13330078125, +0.9903564453125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +71.15, +86.15, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 14, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.55, +"y": 91.15 +}, +"M3D": [ +0.99273681640625, +0.114959716796875, +0.0, +0.0, +-0.114959716796875, +0.99273681640625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +41.35, +-13.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": 45.2, +"y": 34.75 +}, +"M3D": [ +0.9903564453125, +0.13330078125, +0.0, +0.0, +-0.13330078125, +0.9903564453125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +71.15, +86.15, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 15, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.55, +"y": 91.15 +}, +"M3D": [ +0.978118896484375, +0.2047119140625, +0.0, +0.0, +-0.2047119140625, +0.978118896484375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +58.1, +-15.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "SF", +"TRP": { +"x": 45.25, +"y": 34.800000000000007 +}, +"M3D": [ +0.978118896484375, +0.2047119140625, +0.0, +0.0, +-0.2047119140625, +0.978118896484375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +78.55, +92.15, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 16, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.55, +"y": 91.15 +}, +"M3D": [ +0.978118896484375, +0.2047119140625, +0.0, +0.0, +-0.2047119140625, +0.978118896484375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +58.1, +-15.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "SF", +"TRP": { +"x": 45.25, +"y": 34.8 +}, +"M3D": [ +0.978118896484375, +0.2047119140625, +0.0, +0.0, +-0.2047119140625, +0.978118896484375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +78.55, +92.15, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 17, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.60000000000001, +"y": 91.10000000000001 +}, +"M3D": [ +0.9817352294921875, +0.18701171875, +0.0, +0.0, +-0.18701171875, +0.9817352294921875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +53.3, +-15.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "SF", +"TRP": { +"x": 45.300000000000007, +"y": 34.800000000000007 +}, +"M3D": [ +0.9817352294921875, +0.18701171875, +0.0, +0.0, +-0.18701171875, +0.9817352294921875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +74.65, +91.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 18, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.6, +"y": 91.1 +}, +"M3D": [ +0.9817352294921875, +0.18701171875, +0.0, +0.0, +-0.18701171875, +0.9817352294921875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +53.3, +-15.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "SF", +"TRP": { +"x": 45.3, +"y": 34.8 +}, +"M3D": [ +0.9817352294921875, +0.18701171875, +0.0, +0.0, +-0.18701171875, +0.9817352294921875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +74.65, +91.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 19, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.6, +"y": 91.1 +}, +"M3D": [ +0.9817352294921875, +0.18701171875, +0.0, +0.0, +-0.18701171875, +0.9817352294921875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +53.3, +-15.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "SF", +"TRP": { +"x": 45.3, +"y": 34.8 +}, +"M3D": [ +0.9817352294921875, +0.18701171875, +0.0, +0.0, +-0.18701171875, +0.9817352294921875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +74.65, +91.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 20, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.6, +"y": 91.1 +}, +"M3D": [ +0.9817352294921875, +0.18701171875, +0.0, +0.0, +-0.18701171875, +0.9817352294921875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +53.3, +-15.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "SF", +"TRP": { +"x": 45.3, +"y": 34.8 +}, +"M3D": [ +0.9817352294921875, +0.18701171875, +0.0, +0.0, +-0.18701171875, +0.9817352294921875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +74.65, +91.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 21, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.6, +"y": 91.1 +}, +"M3D": [ +0.9817352294921875, +0.18701171875, +0.0, +0.0, +-0.18701171875, +0.9817352294921875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +53.3, +-15.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "SF", +"TRP": { +"x": 45.3, +"y": 34.8 +}, +"M3D": [ +0.9817352294921875, +0.18701171875, +0.0, +0.0, +-0.18701171875, +0.9817352294921875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +74.65, +91.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 22, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.6, +"y": 91.1 +}, +"M3D": [ +0.9817352294921875, +0.18701171875, +0.0, +0.0, +-0.18701171875, +0.9817352294921875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +53.3, +-15.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "SF", +"TRP": { +"x": 45.3, +"y": 34.8 +}, +"M3D": [ +0.9817352294921875, +0.18701171875, +0.0, +0.0, +-0.18701171875, +0.9817352294921875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +74.65, +91.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 23, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.6, +"y": 91.1 +}, +"M3D": [ +0.9817352294921875, +0.18701171875, +0.0, +0.0, +-0.18701171875, +0.9817352294921875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +53.3, +-15.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "SF", +"TRP": { +"x": 45.3, +"y": 34.8 +}, +"M3D": [ +0.9817352294921875, +0.18701171875, +0.0, +0.0, +-0.18701171875, +0.9817352294921875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +74.65, +91.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 24, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.60000000000001, +"y": 91.10000000000001 +}, +"M3D": [ +0.97625732421875, +0.2133026123046875, +0.0, +0.0, +-0.2133026123046875, +0.97625732421875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +56.45, +-17.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "SF", +"TRP": { +"x": 45.300000000000007, +"y": 34.85 +}, +"M3D": [ +0.97625732421875, +0.2133026123046875, +0.0, +0.0, +-0.2133026123046875, +0.97625732421875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +74.95, +89.2, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 25, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.6, +"y": 91.1 +}, +"M3D": [ +0.97625732421875, +0.2133026123046875, +0.0, +0.0, +-0.2133026123046875, +0.97625732421875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +56.45, +-17.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "SF", +"TRP": { +"x": 45.3, +"y": 34.85 +}, +"M3D": [ +0.97625732421875, +0.2133026123046875, +0.0, +0.0, +-0.2133026123046875, +0.97625732421875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +74.95, +89.2, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 26, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.5, +"y": 91.15 +}, +"M3D": [ +0.988800048828125, +0.144744873046875, +0.0, +0.0, +-0.144744873046875, +0.988800048828125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +42.1, +-17.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "SF", +"TRP": { +"x": 45.300000000000007, +"y": 34.85 +}, +"M3D": [ +0.988800048828125, +0.144744873046875, +0.0, +0.0, +-0.144744873046875, +0.988800048828125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +67.9, +83.7, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 27, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.5, +"y": 91.15 +}, +"M3D": [ +0.988800048828125, +0.144744873046875, +0.0, +0.0, +-0.144744873046875, +0.988800048828125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +42.1, +-17.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "SF", +"TRP": { +"x": 45.3, +"y": 34.85 +}, +"M3D": [ +0.988800048828125, +0.144744873046875, +0.0, +0.0, +-0.144744873046875, +0.988800048828125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +67.9, +83.7, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 28, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.45, +"y": 91.2 +}, +"M3D": [ +0.99432373046875, +0.096923828125, +0.0, +0.0, +-0.096923828125, +0.99432373046875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +33.45, +-12.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "SF", +"TRP": { +"x": 45.35, +"y": 34.85 +}, +"M3D": [ +0.99432373046875, +0.096923828125, +0.0, +0.0, +-0.096923828125, +0.99432373046875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +64.0, +86.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 29, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.45, +"y": 91.2 +}, +"M3D": [ +0.99432373046875, +0.096923828125, +0.0, +0.0, +-0.096923828125, +0.99432373046875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +33.45, +-12.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "SF", +"TRP": { +"x": 45.35, +"y": 34.85 +}, +"M3D": [ +0.99432373046875, +0.096923828125, +0.0, +0.0, +-0.096923828125, +0.99432373046875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +64.0, +86.05, +0.0, +1.0 +] +} +} +] +} +] +}, +{ +"LN": "Layer_1", +"FR": [ +{ +"I": 0, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.550000000000007, +"y": 61.400000000000009 +}, +"M3D": [ +1.00579833984375, +0.0, +0.0, +0.0, +0.0111846923828125, +0.9886322021484375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +79.3, +156.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +1.00518798828125, +0.0317535400390625, +0.0, +0.0, +-0.02001953125, +0.988372802734375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +58.0, +237.25, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 42.85, +"y": 85.25 +}, +"M3D": [ +1.004638671875, +-0.0354156494140625, +0.0, +0.0, +0.047210693359375, +0.98785400390625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +66.1, +177.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.3, +"y": 21.6 +}, +"M3D": [ +-0.9964599609375, +0.126861572265625, +0.0, +0.0, +0.13824462890625, +0.97943115234375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +193.1, +228.45, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 23.150000000000003, +"y": 95.30000000000001 +}, +"M3D": [ +1.0056610107421876, +0.0261993408203125, +0.0, +0.0, +-0.0154876708984375, +0.988189697265625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +118.45, +166.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 45.300000000000007, +"y": 45.6 +}, +"M3D": [ +1.0293426513671876, +0.0, +0.0, +0.0, +0.01080322265625, +0.95501708984375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +80.9, +173.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 118.80000000000001, +"y": 59.35 +}, +"M3D": [ +1.0057830810546876, +-0.0053558349609375, +0.0, +0.0, +0.016448974609375, +0.988525390625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +69.9, +250.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 53.45, +"y": 56.65 +}, +"M3D": [ +1.00567626953125, +0.013214111328125, +0.0, +0.0, +-0.001800537109375, +0.9886474609375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +28.55, +244.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 3, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.550000000000007, +"y": 61.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +81.0, +154.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +58.2, +236.1, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 28.95, +"y": 55.65 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +70.5, +173.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.997283935546875, +0.0703277587890625, +0.0, +0.0, +0.0703277587890625, +0.997283935546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +194.6, +227.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.15, +"y": 58.35 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +117.25, +165.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.800000000000007, +"y": 28.1 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +83.4, +169.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.75, +"y": 41.050000000000007 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +70.9, +248.45, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 85.95, +"y": 45.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +28.8, +243.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 4, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.550000000000007, +"y": 61.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +81.0, +154.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +58.2, +236.1, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 28.95, +"y": 55.65 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +70.5, +173.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.997283935546875, +0.0703277587890625, +0.0, +0.0, +0.0703277587890625, +0.997283935546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +194.6, +227.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.15, +"y": 58.35 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +117.25, +165.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.800000000000007, +"y": 28.1 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +83.4, +169.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.75, +"y": 41.050000000000007 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +70.9, +248.45, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 85.95, +"y": 45.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +28.8, +243.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.550000000000007, +"y": 61.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +81.0, +154.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +58.2, +236.1, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.45, +"y": 92.15 +}, +"M3D": [ +0.999786376953125, +0.0174713134765625, +0.0, +0.0, +-0.0174713134765625, +0.999786376953125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +72.1, +173.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.997283935546875, +0.0703277587890625, +0.0, +0.0, +0.0703277587890625, +0.997283935546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +194.6, +227.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 28.150000000000003, +"y": 99.30000000000001 +}, +"M3D": [ +0.999664306640625, +-0.02264404296875, +0.0, +0.0, +0.02264404296875, +0.999664306640625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +115.0, +164.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.800000000000007, +"y": 28.1 +}, +"M3D": [ +0.9886932373046875, +0.0, +0.0, +0.0, +0.0, +1.0498046875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +83.9, +168.15, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.75, +"y": 41.050000000000007 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +70.9, +248.45, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 85.95, +"y": 45.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +28.8, +243.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 11, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.5, +"y": 61.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.002777099609375, +1.0083160400390626, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +81.55, +153.25, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.5 +}, +"M3D": [ +0.9946136474609375, +0.1003875732421875, +0.0, +0.0, +-0.1039886474609375, +1.00262451171875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +60.85, +231.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.05, +"y": 86.30000000000001 +}, +"M3D": [ +0.998870849609375, +0.04412841796875, +0.0, +0.0, +-0.047271728515625, +1.0070648193359376, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +73.85, +165.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.25, +"y": 21.6 +}, +"M3D": [ +-0.98773193359375, +0.15423583984375, +0.0, +0.0, +0.151580810546875, +0.996124267578125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +192.85, +223.65, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 27.3, +"y": 91.15 +}, +"M3D": [ +0.996612548828125, +-0.078948974609375, +0.0, +0.0, +0.07684326171875, +1.005126953125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +114.55, +161.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.800000000000007, +"y": 28.05 +}, +"M3D": [ +0.9265594482421875, +0.0, +0.0, +0.0, +-0.0032196044921875, +1.17010498046875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +88.1, +158.15, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 81.7, +"y": 51.1 +}, +"M3D": [ +0.9986572265625, +0.0485076904296875, +0.0, +0.0, +-0.0516815185546875, +1.0068359375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +73.8, +243.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 53.400000000000009, +"y": 54.85 +}, +"M3D": [ +0.999237060546875, +-0.035980224609375, +0.0, +0.0, +0.03350830078125, +1.0076751708984376, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +28.15, +244.45, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 13, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.5, +"y": 61.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.002777099609375, +1.0083160400390626, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +81.55, +153.25, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.150000000000003, +"y": 21.55 +}, +"M3D": [ +0.9985198974609375, +0.043792724609375, +0.0, +0.0, +-0.04693603515625, +1.0067138671875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +59.55, +233.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.1, +"y": 86.30000000000001 +}, +"M3D": [ +0.997802734375, +0.06195068359375, +0.0, +0.0, +-0.0652313232421875, +1.00592041015625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +74.9, +167.85, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.996551513671875, +0.076141357421875, +0.0, +0.0, +0.072845458984375, +1.0046844482421876, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +194.8, +226.25, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 27.3, +"y": 91.05 +}, +"M3D": [ +0.994476318359375, +-0.100799560546875, +0.0, +0.0, +0.098876953125, +1.0030364990234376, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +112.55, +163.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 47.0, +"y": 13.5 +}, +"M3D": [ +0.9750823974609375, +0.0, +0.0, +0.0, +-0.0030517578125, +1.1112518310546876, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +85.85, +158.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 81.65, +"y": 51.1 +}, +"M3D": [ +0.999267578125, +0.0307464599609375, +0.0, +0.0, +-0.033782958984375, +1.00750732421875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +72.9, +245.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 53.400000000000009, +"y": 54.85 +}, +"M3D": [ +0.99957275390625, +-0.02191162109375, +0.0, +0.0, +0.019317626953125, +1.00799560546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +28.9, +243.7, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 15, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.550000000000007, +"y": 61.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.00799560546875, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +80.5, +154.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +0.99322509765625, +0.10888671875, +0.0, +0.0, +-0.11993408203125, +0.992034912109375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +61.85, +234.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 38.85, +"y": 86.10000000000001 +}, +"M3D": [ +0.9983367919921875, +-0.0394287109375, +0.0, +0.0, +0.04742431640625, +0.99951171875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +67.75, +173.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.150000000000003, +"y": 21.5 +}, +"M3D": [ +-0.98638916015625, +0.16241455078125, +0.0, +0.0, +0.151336669921875, +0.986663818359375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +193.4, +227.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 22.0, +"y": 91.35000000000001 +}, +"M3D": [ +0.9999237060546875, +0.035369873046875, +0.0, +0.0, +-0.027374267578125, +0.99884033203125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +119.1, +166.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 44.95, +"y": 43.1 +}, +"M3D": [ +1.0462799072265626, +0.0, +0.0, +0.0, +0.0077056884765625, +0.9651947021484375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +81.45, +172.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 97.35000000000001, +"y": 49.550000000000007 +}, +"M3D": [ +0.9999237060546875, +-0.0091094970703125, +0.0, +0.0, +-0.00201416015625, +1.0000152587890626, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +71.4, +249.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 60.050000000000007, +"y": 50.900000000000009 +}, +"M3D": [ +0.9999237060546875, +0.009613037109375, +0.0, +0.0, +-0.0207366943359375, +0.99981689453125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +30.3, +243.25, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 17, +"DU": 3, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.550000000000007, +"y": 61.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.00799560546875, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +80.5, +154.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.25, +"y": 21.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.0111236572265625, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +59.25, +236.1, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.0, +"y": 55.65 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.00799560546875, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +70.1, +173.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.998046875, +0.0703277587890625, +0.0, +0.0, +0.059234619140625, +0.997283935546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +195.75, +227.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 58.35 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.00799560546875, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +116.8, +165.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.85, +"y": 28.1 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.00799560546875, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +82.95, +168.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.75, +"y": 41.050000000000007 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.0111236572265625, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +71.85, +248.45, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 85.95, +"y": 45.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.0111236572265625, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +29.8, +243.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 20, +"DU": 4, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.550000000000007, +"y": 61.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.00799560546875, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +80.5, +154.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.25, +"y": 21.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.0111236572265625, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +59.25, +236.1, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.0, +"y": 55.65 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.00799560546875, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +70.1, +173.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.998046875, +0.0703277587890625, +0.0, +0.0, +0.059234619140625, +0.997283935546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +195.75, +227.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 58.35 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.00799560546875, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +116.8, +165.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.85, +"y": 28.1 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.00799560546875, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +83.0, +169.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.75, +"y": 41.050000000000007 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.0111236572265625, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +71.85, +248.45, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 85.95, +"y": 45.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.0111236572265625, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +29.8, +243.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 24, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.550000000000007, +"y": 61.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.00799560546875, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +80.5, +154.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.25, +"y": 21.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.0111236572265625, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +59.25, +236.1, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 35.25, +"y": 77.15 +}, +"M3D": [ +1.0001068115234376, +0.013763427734375, +0.0, +0.0, +-0.005767822265625, +0.99969482421875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +71.15, +172.15, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.998046875, +0.0703277587890625, +0.0, +0.0, +0.059234619140625, +0.997283935546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +195.75, +227.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 28.0, +"y": 92.30000000000001 +}, +"M3D": [ +0.999267578125, +-0.0218658447265625, +0.0, +0.0, +0.0298614501953125, +0.9999237060546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +114.75, +165.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.7, +"y": 28.1 +}, +"M3D": [ +0.98309326171875, +0.0, +0.0, +0.0, +0.0081329345703125, +1.017791748046875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +83.75, +168.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.75, +"y": 41.050000000000007 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.0111236572265625, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +71.85, +248.45, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 85.95, +"y": 45.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.0111236572265625, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +29.8, +243.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 26, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.5, +"y": 61.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.002777099609375, +1.0083160400390626, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +81.55, +153.25, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.5 +}, +"M3D": [ +0.9965667724609375, +0.07952880859375, +0.0, +0.0, +-0.08294677734375, +1.004638671875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +60.35, +232.1, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 37.1, +"y": 87.35000000000001 +}, +"M3D": [ +0.997528076171875, +0.06695556640625, +0.0, +0.0, +-0.0702972412109375, +1.0056610107421876, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +73.95, +163.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.25, +"y": 21.55 +}, +"M3D": [ +-0.9825897216796875, +0.183746337890625, +0.0, +0.0, +0.18133544921875, +0.99102783203125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +192.1, +222.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 26.75, +"y": 97.0 +}, +"M3D": [ +0.996490478515625, +-0.08038330078125, +0.0, +0.0, +0.0782928466796875, +1.0050201416015626, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +113.5, +160.85, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.75, +"y": 28.05 +}, +"M3D": [ +0.966094970703125, +0.0, +0.0, +0.0, +-0.0030975341796875, +1.126953125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +84.9, +160.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 74.65, +"y": 47.6 +}, +"M3D": [ +0.99908447265625, +0.03961181640625, +0.0, +0.0, +-0.042724609375, +1.0073089599609376, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +73.2, +244.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 63.900000000000009, +"y": 51.400000000000009 +}, +"M3D": [ +0.999267578125, +-0.0350189208984375, +0.0, +0.0, +0.03253173828125, +1.0076904296875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +27.35, +245.25, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 28, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.5, +"y": 61.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.002777099609375, +1.0083160400390626, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +81.55, +153.25, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.5 +}, +"M3D": [ +0.9984588623046875, +0.0481414794921875, +0.0, +0.0, +-0.051300048828125, +1.00665283203125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +59.6, +232.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 37.050000000000007, +"y": 87.35000000000001 +}, +"M3D": [ +0.99554443359375, +0.0887451171875, +0.0, +0.0, +-0.0922698974609375, +1.0035858154296876, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +74.4, +164.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.25, +"y": 21.55 +}, +"M3D": [ +-0.988433837890625, +0.14837646484375, +0.0, +0.0, +0.1456756591796875, +0.99676513671875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +193.05, +223.85, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 26.75, +"y": 97.05 +}, +"M3D": [ +0.9932861328125, +-0.110748291015625, +0.0, +0.0, +0.108917236328125, +1.0018768310546876, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +111.6, +162.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 47.300000000000007, +"y": 13.4 +}, +"M3D": [ +1.015869140625, +0.0, +0.0, +0.0, +-0.002899169921875, +1.0572509765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +82.55, +160.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 74.65, +"y": 47.550000000000007 +}, +"M3D": [ +0.9993743896484375, +0.02996826171875, +0.0, +0.0, +-0.032989501953125, +1.00762939453125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +72.7, +245.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 63.900000000000009, +"y": 51.35 +}, +"M3D": [ +0.99951171875, +-0.02520751953125, +0.0, +0.0, +0.02264404296875, +1.0079193115234376, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +27.85, +244.65, +0.0, +1.0 +] +} +} +] +} +] +}, +{ +"LN": "Layer_2", +"FR": [ +{ +"I": 0, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 123.75, +"y": 186.25 +}, +"M3D": [ +1.01318359375, +0.0, +0.0, +0.0, +0.0054473876953125, +0.991943359375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-2.65, +94.3, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 7, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 122.2, +"y": 170.75 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 122.2, +"y": 170.75 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0134735107421876, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +90.5, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 11, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 119.7, +"y": 171.25 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.01171875, +1.0058441162109376, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +2.0, +89.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 13, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 119.7, +"y": 171.25 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.0203094482421875, +0.997314453125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +3.45, +91.25, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 15, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 128.70000000000003, +"y": 190.75 +}, +"M3D": [ +1.0096435546875, +0.0, +0.0, +0.0, +-0.0620574951171875, +0.9947509765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +10.6, +93.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 17, +"DU": 7, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 128.70000000000003, +"y": 190.75 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.049530029296875, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +9.45, +92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 24, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 128.70000000000003, +"y": 190.75 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.049530029296875, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +9.45, +92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 26, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 119.7, +"y": 171.25 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.01171875, +1.0058441162109376, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +2.0, +89.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 28, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 119.7, +"y": 171.25 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.0029296875, +0.994384765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.5, +91.75, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "head gf", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0001", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "face 1 gf", +"TL": { +"L": [ +{ +"LN": "Layer_1", +"FR": [ +{ +"I": 0, +"DU": 9, +"E": [ +{ +"ASI": { +"N": "0010", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 2, +"E": [ +{ +"ASI": { +"N": "0011", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-1.0, +1.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "body backing gf", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0002", +"M3D": [ +0.991729736328125, +0.0, +0.0, +0.0, +0.0, +0.991729736328125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "knee gf", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0003", +"M3D": [ +0.9919891357421875, +0.0, +0.0, +0.0, +0.0, +0.9919891357421875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "arm right gf", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0004", +"M3D": [ +0.99188232421875, +0.0, +0.0, +0.0, +0.0, +0.99188232421875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "arm left gf", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0005", +"M3D": [ +0.99200439453125, +0.0, +0.0, +0.0, +0.0, +0.99200439453125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "tits gf", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0006", +"M3D": [ +0.7695159912109375, +0.0, +0.0, +0.0, +0.0, +0.7695159912109375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "leg back gf", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0007", +"M3D": [ +0.9918365478515625, +0.0, +0.0, +0.0, +0.0, +0.9918365478515625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "leg front gf", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0008", +"M3D": [ +0.9918212890625, +0.0, +0.0, +0.0, +0.0, +0.9918212890625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "hair back gf", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0009", +"M3D": [ +0.960418701171875, +0.0, +0.0, +0.0, +0.0, +0.960418701171875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "speaker systems", +"TL": { +"L": [ +{ +"LN": "Layer_1", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 61.900000000000009, +"y": 92.80000000000001 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 2, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 2, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 3, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 3, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 4, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 4, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 4, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 5, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 5, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 6, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 6, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 6, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 7, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 7, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 7, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 8, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 8, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 8, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 10, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 10, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 11, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 11, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 11, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 12, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 12, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 12, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 13, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 13, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 13, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 14, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 14, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 14, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 15, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 16, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 17, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 2, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 2, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 18, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 3, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 3, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 19, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 4, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 4, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 20, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 5, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 5, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 21, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 6, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 6, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 22, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 7, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 7, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 23, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 8, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 8, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 24, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 25, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 10, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 10, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 26, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 11, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 11, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 27, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 12, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 12, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 28, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 13, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 13, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 29, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker movin", +"IN": "", +"ST": "G", +"FF": 14, +"LP": "LP", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +315.0, +129.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "larger speaker", +"IN": "", +"ST": "G", +"FF": 14, +"LP": "LP", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +1.8, +49.85, +0.0, +1.0 +] +} +} +] +} +] +}, +{ +"LN": "Layer_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 105.35000000000001, +"y": 29.150000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +-1.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +73.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +-1.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +73.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 2, +"LP": "LP", +"TRP": { +"x": 105.35000000000001, +"y": 29.150000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 2, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 3, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 3, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 4, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 4, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 4, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 5, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 5, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 6, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 6, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 6, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 7, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 7, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 7, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 8, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 8, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 8, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 10, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 10, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 11, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 11, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 11, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 12, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 12, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 12, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 13, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 13, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 13, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 14, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 14, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 14, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 15, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 15, +"LP": "LP", +"TRP": { +"x": 105.35000000000001, +"y": 29.150000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +-1.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 15, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +74.2, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 16, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 16, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +-1.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 16, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +74.2, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 17, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 17, +"LP": "LP", +"TRP": { +"x": 105.35000000000001, +"y": 29.150000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 17, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 18, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 18, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 18, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 19, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 19, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 19, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 20, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 21, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 21, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 21, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 22, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 22, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 22, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 23, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 23, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 23, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 24, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 24, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 24, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 25, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 25, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 25, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 26, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 26, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 26, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 27, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 27, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 27, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 28, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 28, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 29, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device w lights", +"IN": "", +"ST": "G", +"FF": 29, +"LP": "LP", +"TRP": { +"x": 105.35, +"y": 29.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +25.2, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": 54.9, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +300.4, +75.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "small speaker movin", +"TL": { +"L": [ +{ +"LN": "Layer_2", +"FR": [ +{ +"I": 0, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 35.1, +"y": 50.85 +}, +"M3D": [ +1.049163818359375, +0.0, +0.0, +0.0, +0.0, +1.049163818359375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +23.2, +9.65, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 33.35, +"y": 56.550000000000007 +}, +"M3D": [ +1.03802490234375, +0.0, +0.0, +0.0, +0.0, +1.03802490234375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +20.2, +94.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 35.1, +"y": 54.400000000000009 +}, +"M3D": [ +1.0155029296875, +0.0, +0.0, +0.0, +0.0, +1.0155029296875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +23.35, +14.1, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 35.1, +"y": 55.300000000000007 +}, +"M3D": [ +1.0198974609375, +0.0, +0.0, +0.0, +0.0, +1.0198974609375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +20.75, +95.5, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 12, +"E": [ +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.550000000000007 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +23.55, +15.3, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.550000000000007 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +21.45, +96.6, +0.0, +1.0 +] +} +} +] +} +] +}, +{ +"LN": "Layer_1", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "SF", +"TRP": { +"x": 61.900000000000009, +"y": 92.80000000000001 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.900000000000009, +"y": 92.80000000000001 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 4, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 6, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 7, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 8, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 11, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 12, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 13, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 14, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "small speaker opening", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0012", +"M3D": [ +0.953125, +0.0, +0.0, +0.0, +0.0, +0.953125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "small speaker bod", +"TL": { +"L": [ +{ +"LN": "Layer_1", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0013", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0014", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-2.0, +-3.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "larger speaker", +"TL": { +"L": [ +{ +"LN": "Layer_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 49.95, +"y": 36.15 +}, +"M3D": [ +1.0570526123046876, +0.0, +0.0, +0.0, +0.0, +1.0570526123046876, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +42.5, +23.3, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 51.35, +"y": 37.6 +}, +"M3D": [ +-1.05450439453125, +0.0, +0.0, +0.0, +0.0, +1.05450439453125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +273.2, +23.3, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 10.65, +"y": 13.25 +}, +"M3D": [ +1.08892822265625, +0.0, +0.0, +0.0, +0.0, +1.08892822265625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +222.15, +222.15, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 7.05, +"y": 9.0 +}, +"M3D": [ +-1.0799407958984376, +0.0, +0.0, +0.0, +0.0, +1.0799407958984376, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +101.4, +222.65, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0303955078125, +0.0, +0.0, +0.0, +0.0, +1.0303955078125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +47.25, +82.3, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 49.95, +"y": 36.15 +}, +"M3D": [ +1.0570526123046876, +0.0, +0.0, +0.0, +0.0, +1.0570526123046876, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +42.5, +23.3, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 51.35, +"y": 37.6 +}, +"M3D": [ +-1.05450439453125, +0.0, +0.0, +0.0, +0.0, +1.05450439453125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +273.2, +23.3, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 10.65, +"y": 13.25 +}, +"M3D": [ +1.08892822265625, +0.0, +0.0, +0.0, +0.0, +1.08892822265625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +222.15, +222.15, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 7.05, +"y": 9.0 +}, +"M3D": [ +-1.0799407958984376, +0.0, +0.0, +0.0, +0.0, +1.0799407958984376, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +101.4, +222.65, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0303955078125, +0.0, +0.0, +0.0, +0.0, +1.0303955078125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +47.25, +82.3, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 52.050000000000007, +"y": 37.95 +}, +"M3D": [ +1.0201568603515626, +0.0, +0.0, +0.0, +0.0, +1.0201568603515626, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +44.3, +24.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 52.400000000000009, +"y": 37.95 +}, +"M3D": [ +-1.0197601318359376, +0.0, +0.0, +0.0, +0.0, +1.0197601318359376, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +271.45, +24.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 9.600000000000002, +"y": 9.35 +}, +"M3D": [ +1.0317230224609376, +0.0, +0.0, +0.0, +0.0, +1.0317230224609376, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +222.8, +223.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 8.85, +"y": 10.450000000000001 +}, +"M3D": [ +-1.0428314208984376, +0.0, +0.0, +0.0, +0.0, +1.0428314208984376, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +101.25, +222.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.016357421875, +0.0, +0.0, +0.0, +0.0, +1.016357421875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +48.8, +83.25, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +45.35, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +270.4, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +223.1, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +100.85, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +50.6, +84.35, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 4, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +45.35, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +270.4, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +223.1, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +100.85, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +50.6, +84.35, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +45.35, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +270.4, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +223.1, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +100.85, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +50.6, +84.35, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 6, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +45.35, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +270.4, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +223.1, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +100.85, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +50.6, +84.35, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 7, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +45.35, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +270.4, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +223.1, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +100.85, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +50.6, +84.35, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 8, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +45.35, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +270.4, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +223.1, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +100.85, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +50.6, +84.35, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +45.35, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +270.4, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +223.1, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +100.85, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +50.6, +84.35, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +45.35, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +270.4, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +223.1, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +100.85, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +50.6, +84.35, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 11, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +45.35, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +270.4, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +223.1, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +100.85, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +50.6, +84.35, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 12, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +45.35, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +270.4, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +223.1, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +100.85, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +50.6, +84.35, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 13, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +45.35, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +270.4, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +223.1, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +100.85, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +50.6, +84.35, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 14, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +45.35, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +270.4, +25.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +223.1, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +100.85, +223.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +50.6, +84.35, +0.0, +1.0 +] +} +} +] +} +] +}, +{ +"LN": "Layer_1", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 4, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 6, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 7, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 8, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 11, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 12, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 13, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 14, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "big small speaker hole 1", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0015", +"M3D": [ +0.946014404296875, +0.0, +0.0, +0.0, +0.0, +0.946014404296875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "small big hole 2", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0016", +"M3D": [ +0.9183197021484375, +0.0, +0.0, +0.0, +0.0, +0.9183197021484375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "big speaker square", +"TL": { +"L": [ +{ +"LN": "Layer_1", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0017", +"M3D": [ +0.970489501953125, +0.0, +0.0, +0.0, +0.0, +0.970489501953125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0018", +"M3D": [ +0.970489501953125, +0.0, +0.0, +0.0, +0.0, +0.970489501953125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-0.95, +-2.9, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "big speaker body", +"TL": { +"L": [ +{ +"LN": "Layer_1", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0019", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0020", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-2.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "music box device w lights", +"TL": { +"L": [ +{ +"LN": "Layer_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +24.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +69.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +48.45, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +91.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +114.65, +16.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +24.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +69.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +91.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +114.65, +16.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +24.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +69.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +48.45, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +91.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +114.65, +16.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +24.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +69.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +91.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +114.65, +16.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 4, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +24.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +69.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +48.45, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +114.65, +16.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +24.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +69.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +48.45, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +114.65, +16.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +91.85, +15.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 6, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +24.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +69.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +48.45, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +114.65, +16.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 7, +"DU": 23, +"E": [ +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +24.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +69.85, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +48.45, +15.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "green dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +114.65, +16.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +91.85, +15.8, +0.0, +1.0 +] +} +} +] +} +] +}, +{ +"LN": "Layer_1", +"FR": [ +{ +"I": 0, +"DU": 30, +"E": [ +{ +"SI": { +"SN": "music box device", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 105.35000000000001, +"y": 29.150000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "green dot", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0021", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "red dot", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0022", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "music box device", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0023", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "small music box w lights", +"TL": { +"L": [ +{ +"LN": "Layer_2", +"FR": [ +{ +"I": 0, +"DU": 16, +"E": [ +{ +"ASI": { +"N": "0024", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +44.0, +15.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 16, +"DU": 2, +"E": [ +{ +"ASI": { +"N": "0025", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +44.0, +15.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 18, +"DU": 2, +"E": [ +{ +"ASI": { +"N": "0024", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +44.0, +15.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 20, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0025", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +44.0, +15.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 21, +"DU": 7, +"E": [ +{ +"ASI": { +"N": "0024", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +44.0, +15.0, +0.0, +1.0 +] +} +} +] +} +] +}, +{ +"LN": "Layer_1", +"FR": [ +{ +"I": 0, +"DU": 28, +"E": [ +{ +"SI": { +"SN": "small music box", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "small music box", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0026", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "Partner GF confirm", +"TL": { +"L": [ +{ +"LN": "Layer_1", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 2, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 3, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 4, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 4, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 5, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 6, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 6, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 7, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 7, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 8, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 8, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 10, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 11, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 11, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 12, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 12, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 13, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 13, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 14, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 14, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 15, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 15, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 16, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 16, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 17, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 17, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 18, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 18, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 19, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 19, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 20, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 21, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 21, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 22, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 22, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 23, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "GF cs confirm dance", +"IN": "", +"ST": "G", +"FF": 23, +"LP": "LP", +"TRP": { +"x": 0.0, +"y": 0.0 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-313.5, +141.1, +0.0, +1.0 +] +} +} +] +} +] +}, +{ +"LN": "Layer_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 220.95000000000003, +"y": 160.45000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 2, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 3, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 4, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 4, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 5, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 6, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 6, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 7, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 7, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 8, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 8, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 220.95000000000003, +"y": 160.45000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 11, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 1, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 12, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 2, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 13, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 3, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 14, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 4, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 15, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 5, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 16, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 6, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 17, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 7, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 18, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 8, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 19, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 9, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 20, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 10, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 21, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 11, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 22, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 12, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 23, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 13, +"LP": "LP", +"TRP": { +"x": 220.95, +"y": 160.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "GF cs confirm dance", +"TL": { +"L": [ +{ +"LN": "Layer_1", +"FR": [ +{ +"I": 0, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "head n face gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.60000000000001, +"y": 98.5 +}, +"M3D": [ +0.9995574951171875, +0.026458740234375, +0.0, +0.0, +-0.026458740234375, +0.9995574951171875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-111.7, +-210.65, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head n face gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 87.55, +"y": 139.5 +}, +"M3D": [ +0.9976043701171875, +-0.0658416748046875, +0.0, +0.0, +0.0658416748046875, +0.9976043701171875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-117.8, +-207.95, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "head n face gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 88.15, +"y": 135.55 +}, +"M3D": [ +0.9993896484375, +0.0141448974609375, +0.0, +0.0, +-0.0141448974609375, +0.9993896484375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-104.45, +-221.2, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "head n face gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 88.2, +"y": 135.5 +}, +"M3D": [ +0.9933929443359375, +0.107452392578125, +0.0, +0.0, +-0.107452392578125, +0.9933929443359375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-87.8, +-229.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 7, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "head n face gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 88.15, +"y": 135.45 +}, +"M3D": [ +0.990020751953125, +0.13427734375, +0.0, +0.0, +-0.13427734375, +0.990020751953125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-83.35, +-230.95, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head n face gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 88.2, +"y": 135.5 +}, +"M3D": [ +0.94830322265625, +0.3126220703125, +0.0, +0.0, +-0.3126220703125, +0.94830322265625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-44.05, +-233.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "head n face gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 88.2, +"y": 135.5 +}, +"M3D": [ +0.928680419921875, +0.36627197265625, +0.0, +0.0, +-0.36627197265625, +0.928680419921875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-33.05, +-234.15, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 12, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "head n face gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 88.25, +"y": 135.55 +}, +"M3D": [ +0.920166015625, +0.386932373046875, +0.0, +0.0, +-0.386932373046875, +0.920166015625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-31.5, +-234.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 14, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head n face gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 88.30000000000001, +"y": 135.5 +}, +"M3D": [ +0.915985107421875, +0.39599609375, +0.0, +0.0, +-0.39599609375, +0.915985107421875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-35.95, +-242.55, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 15, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "head n face gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 88.2, +"y": 135.55 +}, +"M3D": [ +0.9234466552734375, +0.378143310546875, +0.0, +0.0, +-0.378143310546875, +0.9234466552734375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-45.45, +-245.5, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 17, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "head n face gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 88.25, +"y": 135.6 +}, +"M3D": [ +0.954315185546875, +0.29052734375, +0.0, +0.0, +-0.29052734375, +0.954315185546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-65.55, +-242.5, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 19, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "head n face gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 88.25, +"y": 135.65 +}, +"M3D": [ +0.9593963623046875, +0.273101806640625, +0.0, +0.0, +-0.273101806640625, +0.9593963623046875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-69.35, +-240.2, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 21, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head n face gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 88.2, +"y": 135.55 +}, +"M3D": [ +0.99114990234375, +0.1070556640625, +0.0, +0.0, +-0.1070556640625, +0.99114990234375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-108.15, +-215.25, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 22, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head n face gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 88.15, +"y": 135.55 +}, +"M3D": [ +0.9945068359375, +0.0674896240234375, +0.0, +0.0, +-0.0674896240234375, +0.9945068359375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-111.25, +-211.2, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 23, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head n face gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 88.15, +"y": 135.55 +}, +"M3D": [ +0.9945068359375, +0.0674896240234375, +0.0, +0.0, +-0.0674896240234375, +0.9945068359375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-111.25, +-211.2, +0.0, +1.0 +] +} +} +] +} +] +}, +{ +"LN": "Layer_2", +"FR": [ +{ +"I": 0, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.550000000000007, +"y": 61.400000000000009 +}, +"M3D": [ +0.995819091796875, +-0.0880889892578125, +0.0, +0.0, +0.1412353515625, +0.991119384765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-61.6, +-56.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +0.999755859375, +-0.0180511474609375, +0.0, +0.0, +0.0180511474609375, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-70.3, +22.45, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 28.95, +"y": 55.7 +}, +"M3D": [ +0.995819091796875, +-0.0880889892578125, +0.0, +0.0, +0.1412353515625, +0.991119384765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-69.4, +-36.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.99615478515625, +0.084259033203125, +0.0, +0.0, +0.084259033203125, +0.99615478515625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +66.45, +8.25, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.1, +"y": 58.300000000000007 +}, +"M3D": [ +0.995819091796875, +-0.0880889892578125, +0.0, +0.0, +0.1412353515625, +0.991119384765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-23.95, +-48.85, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.75, +"y": 28.1 +}, +"M3D": [ +0.995819091796875, +-0.0880889892578125, +0.0, +0.0, +0.1412353515625, +0.991119384765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-57.2, +-42.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.7, +"y": 41.1 +}, +"M3D": [ +0.999755859375, +-0.0180511474609375, +0.0, +0.0, +0.0180511474609375, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-57.35, +34.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 37.1, +"y": 60.25 +}, +"M3D": [ +0.99951171875, +-0.0276031494140625, +0.0, +0.0, +0.0276031494140625, +0.99951171875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-99.9, +28.65, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.65, +"y": 61.300000000000007 +}, +"M3D": [ +0.99908447265625, +-0.01715087890625, +0.0, +0.0, +0.070465087890625, +0.9981689453125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-54.25, +-63.3, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +0.999755859375, +-0.0180511474609375, +0.0, +0.0, +0.0180511474609375, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-70.3, +22.45, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.550000000000007, +"y": 82.95 +}, +"M3D": [ +0.9990234375, +0.0140380859375, +0.0, +0.0, +0.039276123046875, +0.999786376953125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-60.85, +-45.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.99615478515625, +0.084259033203125, +0.0, +0.0, +0.084259033203125, +0.99615478515625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +66.45, +8.25, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 23.5, +"y": 87.2 +}, +"M3D": [ +0.9918060302734375, +-0.118743896484375, +0.0, +0.0, +0.1716766357421875, +0.9854736328125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-23.3, +-53.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.900000000000009, +"y": 28.05 +}, +"M3D": [ +0.9019622802734375, +-0.0154876708984375, +0.0, +0.0, +0.0768890380859375, +1.08905029296875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-46.65, +-52.25, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.7, +"y": 41.1 +}, +"M3D": [ +0.999755859375, +-0.0180511474609375, +0.0, +0.0, +0.0180511474609375, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-57.35, +34.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 37.1, +"y": 60.25 +}, +"M3D": [ +0.99951171875, +-0.0276031494140625, +0.0, +0.0, +0.0276031494140625, +0.99951171875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-99.9, +28.65, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.550000000000007, +"y": 61.35 +}, +"M3D": [ +0.999420166015625, +-0.0307464599609375, +0.0, +0.0, +0.0307464599609375, +0.999420166015625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-49.4, +-59.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-68.8, +20.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 35.9, +"y": 87.10000000000001 +}, +"M3D": [ +0.99920654296875, +0.030548095703125, +0.0, +0.0, +-0.030548095703125, +0.99920654296875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-53.55, +-46.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.997283935546875, +0.0703277587890625, +0.0, +0.0, +0.0703277587890625, +0.997283935546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +67.6, +11.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 28.55, +"y": 89.30000000000001 +}, +"M3D": [ +0.982147216796875, +-0.184722900390625, +0.0, +0.0, +0.184722900390625, +0.982147216796875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-22.7, +-49.25, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.800000000000007, +"y": 28.05 +}, +"M3D": [ +0.878570556640625, +-0.0270233154296875, +0.0, +0.0, +0.0366058349609375, +1.1899261474609376, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-41.6, +-55.25, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.75, +"y": 41.050000000000007 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-56.1, +32.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 85.95, +"y": 45.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-98.2, +27.75, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.550000000000007, +"y": 61.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-46.0, +-61.3, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-68.8, +20.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 35.9, +"y": 87.15 +}, +"M3D": [ +0.9979095458984375, +0.0612640380859375, +0.0, +0.0, +-0.0612640380859375, +0.9979095458984375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-50.55, +-48.45, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.997283935546875, +0.0703277587890625, +0.0, +0.0, +0.0703277587890625, +0.997283935546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +67.6, +11.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 28.6, +"y": 89.35000000000001 +}, +"M3D": [ +0.9874725341796875, +-0.154449462890625, +0.0, +0.0, +0.154449462890625, +0.9874725341796875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-19.65, +-49.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.800000000000007, +"y": 28.05 +}, +"M3D": [ +0.8456268310546875, +0.0, +0.0, +0.0, +0.0, +1.29949951171875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-36.85, +-59.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.75, +"y": 41.050000000000007 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-56.1, +32.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 85.95, +"y": 45.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-98.2, +27.75, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 7, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.5, +"y": 61.45 +}, +"M3D": [ +0.9997406005859375, +0.019195556640625, +0.0, +0.0, +-0.019195556640625, +0.9997406005859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-43.85, +-62.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-68.8, +19.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 35.9, +"y": 87.10000000000001 +}, +"M3D": [ +0.9929046630859375, +0.1154022216796875, +0.0, +0.0, +-0.1154022216796875, +0.9929046630859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-45.5, +-50.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.997283935546875, +0.0703277587890625, +0.0, +0.0, +0.0703277587890625, +0.997283935546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +67.6, +13.25, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 28.700000000000004, +"y": 89.25 +}, +"M3D": [ +0.9830780029296875, +-0.179046630859375, +0.0, +0.0, +0.179046630859375, +0.9830780029296875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-21.0, +-46.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 46.1, +"y": 32.75 +}, +"M3D": [ +0.89117431640625, +0.0171051025390625, +0.0, +0.0, +-0.0228729248046875, +1.1908416748046876, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-36.8, +-56.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 86.25, +"y": 49.550000000000007 +}, +"M3D": [ +0.999755859375, +0.0180511474609375, +0.0, +0.0, +-0.0180511474609375, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-55.2, +30.85, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 18.95, +"y": 69.9 +}, +"M3D": [ +0.9999237060546875, +0.009490966796875, +0.0, +0.0, +-0.009490966796875, +0.9999237060546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-97.55, +27.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.65, +"y": 61.35 +}, +"M3D": [ +0.9986572265625, +0.0482025146484375, +0.0, +0.0, +-0.078521728515625, +0.9971923828125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-36.95, +-63.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.25, +"y": 21.55 +}, +"M3D": [ +0.9990692138671875, +0.0398406982421875, +0.0, +0.0, +-0.0398406982421875, +0.9990692138671875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-65.95, +14.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.800000000000007, +"y": 78.60000000000001 +}, +"M3D": [ +0.996368408203125, +0.078765869140625, +0.0, +0.0, +-0.1090087890625, +0.993988037109375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-46.4, +-45.85, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.9989013671875, +-0.030792236328125, +0.0, +0.0, +-0.030792236328125, +0.9989013671875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +70.95, +18.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 22.3, +"y": 94.60000000000001 +}, +"M3D": [ +0.998779296875, +0.0388031005859375, +0.0, +0.0, +-0.0691375732421875, +0.99761962890625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-2.4, +-50.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.8, +"y": 41.050000000000007 +}, +"M3D": [ +0.9990692138671875, +0.0398406982421875, +0.0, +0.0, +-0.0398406982421875, +0.9990692138671875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-53.75, +28.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 45.6, +"y": 41.0 +}, +"M3D": [ +0.999542236328125, +0.0267333984375, +0.0, +0.0, +-0.0267333984375, +0.999542236328125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-96.55, +26.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.45, +"y": 12.100000000000002 +}, +"M3D": [ +1.042083740234375, +0.11944580078125, +0.0, +0.0, +-0.1368255615234375, +0.940277099609375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-35.8, +-46.15, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 3, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.65, +"y": 61.35 +}, +"M3D": [ +0.9986572265625, +0.0482025146484375, +0.0, +0.0, +-0.078521728515625, +0.9971923828125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-36.95, +-63.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.25, +"y": 21.55 +}, +"M3D": [ +0.9990692138671875, +0.0398406982421875, +0.0, +0.0, +-0.0398406982421875, +0.9990692138671875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-65.95, +14.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 28.95, +"y": 55.6 +}, +"M3D": [ +0.9986572265625, +0.0482025146484375, +0.0, +0.0, +-0.078521728515625, +0.9971923828125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-48.85, +-44.85, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.9989013671875, +-0.030792236328125, +0.0, +0.0, +-0.030792236328125, +0.9989013671875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +70.95, +18.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.15, +"y": 58.300000000000007 +}, +"M3D": [ +0.9986572265625, +0.0482025146484375, +0.0, +0.0, +-0.078521728515625, +0.9971923828125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-1.6, +-50.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.45, +"y": 12.05 +}, +"M3D": [ +0.9930877685546875, +0.11383056640625, +0.0, +0.0, +-0.144012451171875, +0.9896240234375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-33.55, +-50.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.8, +"y": 41.050000000000007 +}, +"M3D": [ +0.9990692138671875, +0.0398406982421875, +0.0, +0.0, +-0.0398406982421875, +0.9990692138671875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-53.75, +28.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 45.6, +"y": 41.0 +}, +"M3D": [ +0.999542236328125, +0.0267333984375, +0.0, +0.0, +-0.0267333984375, +0.999542236328125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-96.55, +26.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 13, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.65, +"y": 61.35 +}, +"M3D": [ +0.9986572265625, +0.0482025146484375, +0.0, +0.0, +-0.078521728515625, +0.9971923828125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-36.95, +-63.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.25, +"y": 21.55 +}, +"M3D": [ +0.9990692138671875, +0.0398406982421875, +0.0, +0.0, +-0.0398406982421875, +0.9990692138671875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-65.95, +14.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 28.95, +"y": 55.6 +}, +"M3D": [ +0.9986572265625, +0.0482025146484375, +0.0, +0.0, +-0.078521728515625, +0.9971923828125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-48.85, +-44.85, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.9989013671875, +-0.030792236328125, +0.0, +0.0, +-0.030792236328125, +0.9989013671875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +70.95, +18.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.15, +"y": 58.300000000000007 +}, +"M3D": [ +0.9986572265625, +0.0482025146484375, +0.0, +0.0, +-0.078521728515625, +0.9971923828125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-1.6, +-50.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.45, +"y": 12.05 +}, +"M3D": [ +0.9930877685546875, +0.11383056640625, +0.0, +0.0, +-0.144012451171875, +0.9896240234375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-33.55, +-49.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.8, +"y": 41.050000000000007 +}, +"M3D": [ +0.9990692138671875, +0.0398406982421875, +0.0, +0.0, +-0.0398406982421875, +0.9990692138671875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-53.75, +28.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 45.6, +"y": 41.0 +}, +"M3D": [ +0.999542236328125, +0.0267333984375, +0.0, +0.0, +-0.0267333984375, +0.999542236328125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-96.55, +26.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 15, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.65, +"y": 61.400000000000009 +}, +"M3D": [ +0.99945068359375, +-0.01727294921875, +0.0, +0.0, +-0.0130615234375, +0.9999847412109375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-43.8, +-62.1, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.25, +"y": 21.55 +}, +"M3D": [ +0.9990692138671875, +0.0398406982421875, +0.0, +0.0, +-0.0398406982421875, +0.9990692138671875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-65.95, +14.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 28.900000000000003, +"y": 55.65 +}, +"M3D": [ +0.9976806640625, +0.0577392578125, +0.0, +0.0, +-0.088043212890625, +0.99591064453125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-48.7, +-47.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.9989013671875, +-0.030792236328125, +0.0, +0.0, +-0.030792236328125, +0.9989013671875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +70.95, +18.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 27.85, +"y": 84.45 +}, +"M3D": [ +0.9979248046875, +-0.0518646240234375, +0.0, +0.0, +0.0215606689453125, +0.999542236328125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-9.55, +-50.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 46.45, +"y": 28.95 +}, +"M3D": [ +0.90911865234375, +0.0442352294921875, +0.0, +0.0, +-0.089599609375, +1.1320037841796876, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-35.15, +-52.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.8, +"y": 41.050000000000007 +}, +"M3D": [ +0.9990692138671875, +0.0398406982421875, +0.0, +0.0, +-0.0398406982421875, +0.9990692138671875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-53.75, +28.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 45.6, +"y": 41.0 +}, +"M3D": [ +0.999542236328125, +0.0267333984375, +0.0, +0.0, +-0.0267333984375, +0.999542236328125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-96.55, +26.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 16, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.550000000000007, +"y": 61.400000000000009 +}, +"M3D": [ +0.9996795654296875, +0.0218963623046875, +0.0, +0.0, +-0.0218963623046875, +0.9996795654296875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-43.75, +-62.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-68.8, +20.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 35.9, +"y": 87.10000000000001 +}, +"M3D": [ +0.996246337890625, +0.083099365234375, +0.0, +0.0, +-0.083099365234375, +0.996246337890625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-48.55, +-49.45, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.997283935546875, +0.0703277587890625, +0.0, +0.0, +0.0703277587890625, +0.997283935546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +67.6, +11.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 28.6, +"y": 89.30000000000001 +}, +"M3D": [ +0.99053955078125, +-0.132781982421875, +0.0, +0.0, +0.132781982421875, +0.99053955078125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-17.65, +-50.1, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.900000000000009, +"y": 28.1 +}, +"M3D": [ +0.8912200927734375, +0.0195159912109375, +0.0, +0.0, +-0.0252838134765625, +1.15435791015625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-36.7, +-56.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.75, +"y": 41.050000000000007 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-56.1, +32.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 85.95, +"y": 45.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-98.2, +27.75, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 18, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.550000000000007, +"y": 61.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-46.0, +-61.3, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-68.8, +20.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 35.9, +"y": 87.15 +}, +"M3D": [ +0.9979095458984375, +0.0612640380859375, +0.0, +0.0, +-0.0612640380859375, +0.9979095458984375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-50.55, +-48.45, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.997283935546875, +0.0703277587890625, +0.0, +0.0, +0.0703277587890625, +0.997283935546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +67.6, +11.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 28.6, +"y": 89.35000000000001 +}, +"M3D": [ +0.9874725341796875, +-0.154449462890625, +0.0, +0.0, +0.154449462890625, +0.9874725341796875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-19.65, +-49.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.85, +"y": 28.1 +}, +"M3D": [ +0.868896484375, +0.0, +0.0, +0.0, +0.0, +1.22674560546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-37.85, +-57.85, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.75, +"y": 41.050000000000007 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-56.1, +32.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 85.95, +"y": 45.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-98.2, +27.75, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 19, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.6, +"y": 61.300000000000007 +}, +"M3D": [ +0.999755859375, +-0.012603759765625, +0.0, +0.0, +0.012603759765625, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-47.5, +-60.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-68.8, +20.05, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 36.0, +"y": 87.15 +}, +"M3D": [ +0.99774169921875, +0.05731201171875, +0.0, +0.0, +-0.05731201171875, +0.99774169921875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-51.2, +-47.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.997283935546875, +0.0703277587890625, +0.0, +0.0, +0.0703277587890625, +0.997283935546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +67.6, +11.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 28.6, +"y": 89.25 +}, +"M3D": [ +0.977783203125, +-0.2056121826171875, +0.0, +0.0, +0.2056121826171875, +0.977783203125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-23.2, +-48.65, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.85, +"y": 28.150000000000003 +}, +"M3D": [ +0.89532470703125, +-0.0112762451171875, +0.0, +0.0, +0.01483154296875, +1.175994873046875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-41.5, +-54.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.75, +"y": 41.050000000000007 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-56.1, +32.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 85.95, +"y": 45.400000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-98.2, +27.75, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 21, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.550000000000007, +"y": 61.400000000000009 +}, +"M3D": [ +0.995819091796875, +-0.0880889892578125, +0.0, +0.0, +0.1412353515625, +0.991119384765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-61.6, +-56.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +0.999755859375, +-0.0180511474609375, +0.0, +0.0, +0.0180511474609375, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-70.3, +22.45, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 44.15, +"y": 79.65 +}, +"M3D": [ +0.997772216796875, +-0.0533294677734375, +0.0, +0.0, +0.1065673828125, +0.9949188232421875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-66.75, +-38.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.99615478515625, +0.084259033203125, +0.0, +0.0, +0.084259033203125, +0.99615478515625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +66.45, +8.25, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 19.150000000000003, +"y": 91.30000000000001 +}, +"M3D": [ +0.995574951171875, +-0.0880889892578125, +0.0, +0.0, +0.1412200927734375, +0.9908447265625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-23.85, +-48.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 42.1, +"y": 42.6 +}, +"M3D": [ +1.02069091796875, +-0.0902862548828125, +0.0, +0.0, +0.1324310302734375, +0.92938232421875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-58.4, +-37.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.7, +"y": 41.1 +}, +"M3D": [ +0.999755859375, +-0.0180511474609375, +0.0, +0.0, +0.0180511474609375, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-57.35, +34.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 37.1, +"y": 60.25 +}, +"M3D": [ +0.99951171875, +-0.0276031494140625, +0.0, +0.0, +0.0276031494140625, +0.99951171875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-99.9, +28.65, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 22, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.550000000000007, +"y": 61.400000000000009 +}, +"M3D": [ +0.995819091796875, +-0.0880889892578125, +0.0, +0.0, +0.1412353515625, +0.991119384765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-61.6, +-56.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +0.999755859375, +-0.0180511474609375, +0.0, +0.0, +0.0180511474609375, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-70.3, +22.45, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 28.95, +"y": 55.7 +}, +"M3D": [ +0.995819091796875, +-0.0880889892578125, +0.0, +0.0, +0.1412353515625, +0.991119384765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-69.4, +-36.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.99615478515625, +0.084259033203125, +0.0, +0.0, +0.084259033203125, +0.99615478515625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +66.45, +8.25, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.1, +"y": 58.300000000000007 +}, +"M3D": [ +0.995819091796875, +-0.0880889892578125, +0.0, +0.0, +0.1412353515625, +0.991119384765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-23.95, +-48.85, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.75, +"y": 28.1 +}, +"M3D": [ +0.995819091796875, +-0.0880889892578125, +0.0, +0.0, +0.1412353515625, +0.991119384765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-57.2, +-44.1, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.7, +"y": 41.1 +}, +"M3D": [ +0.999755859375, +-0.0180511474609375, +0.0, +0.0, +0.0180511474609375, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-57.35, +34.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 37.1, +"y": 60.25 +}, +"M3D": [ +0.99951171875, +-0.0276031494140625, +0.0, +0.0, +0.0276031494140625, +0.99951171875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-99.9, +28.65, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 23, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.550000000000007, +"y": 61.400000000000009 +}, +"M3D": [ +0.995819091796875, +-0.0880889892578125, +0.0, +0.0, +0.1412353515625, +0.991119384765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-61.6, +-56.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +0.999755859375, +-0.0180511474609375, +0.0, +0.0, +0.0180511474609375, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-70.3, +22.45, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 28.95, +"y": 55.7 +}, +"M3D": [ +0.995819091796875, +-0.0880889892578125, +0.0, +0.0, +0.1412353515625, +0.991119384765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-69.4, +-36.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.99615478515625, +0.084259033203125, +0.0, +0.0, +0.084259033203125, +0.99615478515625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +66.45, +8.25, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.1, +"y": 58.300000000000007 +}, +"M3D": [ +0.995819091796875, +-0.0880889892578125, +0.0, +0.0, +0.1412353515625, +0.991119384765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-23.95, +-48.85, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.75, +"y": 28.1 +}, +"M3D": [ +0.995819091796875, +-0.0880889892578125, +0.0, +0.0, +0.1412353515625, +0.991119384765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-57.2, +-44.1, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.7, +"y": 41.1 +}, +"M3D": [ +0.999755859375, +-0.0180511474609375, +0.0, +0.0, +0.0180511474609375, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-57.35, +34.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 37.1, +"y": 60.25 +}, +"M3D": [ +0.99951171875, +-0.0276031494140625, +0.0, +0.0, +0.0276031494140625, +0.99951171875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-99.9, +28.65, +0.0, +1.0 +] +} +} +] +} +] +}, +{ +"LN": "Layer_3", +"FR": [ +{ +"I": 0, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 110.55, +"y": 78.0 +}, +"M3D": [ +0.9974365234375, +-0.102691650390625, +0.0, +0.0, +0.023956298828125, +0.964813232421875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-130.8, +-105.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 114.60000000000001, +"y": 73.05 +}, +"M3D": [ +0.997039794921875, +-0.0933380126953125, +0.0, +0.0, +0.0310516357421875, +0.97979736328125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-131.95, +-109.15, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 124.2, +"y": 74.25 +}, +"M3D": [ +1.0, +-0.03973388671875, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-127.0, +-119.3, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 4, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 119.45, +"y": 72.25 +}, +"M3D": [ +0.99957275390625, +0.0127105712890625, +0.0, +0.0, +-0.0322113037109375, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-121.45, +-128.75, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 122.2, +"y": 170.75 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.15167236328125, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-101.1, +-123.75, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 122.2, +"y": 170.75 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.1666259765625, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-98.55, +-122.25, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 12, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 122.2, +"y": 170.75 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.1607666015625, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-99.55, +-122.75, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 14, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 122.2, +"y": 170.75 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.1363525390625, +1.0322113037109376, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-103.7, +-128.75, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 15, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 120.9, +"y": -2.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.09796142578125, +1.028656005859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-110.05, +-132.3, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 17, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 115.15, +"y": -4.1000000000000009 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +-0.02996826171875, +1.02874755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-121.8, +-134.3, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 19, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 119.95, +"y": 88.85000000000001 +}, +"M3D": [ +1.000457763671875, +-0.0172119140625, +0.0, +0.0, +-0.0270233154296875, +1.01165771484375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-122.35, +-128.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 21, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 118.55, +"y": 88.35000000000001 +}, +"M3D": [ +0.99786376953125, +-0.046234130859375, +0.0, +0.0, +0.0444488525390625, +0.964813232421875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-134.35, +-113.25, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 22, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 114.95, +"y": 79.05 +}, +"M3D": [ +0.9962158203125, +-0.081939697265625, +0.0, +0.0, +0.0444488525390625, +0.964813232421875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-134.15, +-107.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 23, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 114.95, +"y": 79.05 +}, +"M3D": [ +0.9962158203125, +-0.081939697265625, +0.0, +0.0, +0.0444488525390625, +0.964813232421875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-134.15, +-107.85, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "head n face gf", +"TL": { +"L": [ +{ +"LN": "Layer_1", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "head gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 100.60000000000001, +"y": 91.10000000000001 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "face 1 gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 45.25, +"y": 34.800000000000007 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +40.85, +100.3, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "Partner GF deselect", +"TL": { +"L": [ +{ +"LN": "Layer_5", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [] +}, +{ +"I": 1, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "sweat drop", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 6.3500000000000009, +"y": 19.05 +}, +"M3D": [ +0.99932861328125, +-0.019287109375, +0.0, +0.0, +0.019287109375, +0.99932861328125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.75, +-9.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 7, +"E": [ +{ +"SI": { +"SN": "sweat drop", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 6.4, +"y": 19.05 +}, +"M3D": [ +0.9996185302734375, +0.012054443359375, +0.0, +0.0, +-0.012054443359375, +0.9996185302734375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-325.95, +-14.05, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 3, +"E": [ +{ +"SI": { +"SN": "sweat drop", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 6.4, +"y": 19.05 +}, +"M3D": [ +0.9996185302734375, +0.012054443359375, +0.0, +0.0, +-0.012054443359375, +0.9996185302734375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-325.95, +-13.5, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 13, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "sweat drop", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 6.4, +"y": 19.05 +}, +"M3D": [ +0.9996185302734375, +0.012054443359375, +0.0, +0.0, +-0.012054443359375, +0.9996185302734375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-325.95, +-11.85, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 15, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "sweat drop", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 6.4, +"y": 19.05 +}, +"M3D": [ +0.9996185302734375, +0.012054443359375, +0.0, +0.0, +-0.012054443359375, +0.9996185302734375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-325.95, +-9.1, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 17, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "sweat drop", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 6.4, +"y": 19.05 +}, +"M3D": [ +0.9996185302734375, +0.012054443359375, +0.0, +0.0, +-0.012054443359375, +0.9996185302734375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-325.95, +-7.45, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 19, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "sweat drop", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 6.4, +"y": 19.05 +}, +"M3D": [ +0.9996185302734375, +0.012054443359375, +0.0, +0.0, +-0.012054443359375, +0.9996185302734375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-325.95, +-6.35, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 21, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "sweat drop", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 6.4, +"y": 19.05 +}, +"M3D": [ +0.9996185302734375, +0.012054443359375, +0.0, +0.0, +-0.012054443359375, +0.9996185302734375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-325.95, +-5.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 23, +"DU": 3, +"E": [ +{ +"SI": { +"SN": "sweat drop", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 6.4, +"y": 19.05 +}, +"M3D": [ +0.9996185302734375, +0.012054443359375, +0.0, +0.0, +-0.012054443359375, +0.9996185302734375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-325.95, +-5.25, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 26, +"DU": 4, +"E": [ +{ +"SI": { +"SN": "sweat drop", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 6.4, +"y": 19.05 +}, +"M3D": [ +0.9996185302734375, +0.012054443359375, +0.0, +0.0, +-0.012054443359375, +0.9996185302734375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-325.95, +-4.7, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 30, +"DU": 23, +"E": [ +{ +"SI": { +"SN": "sweat drop", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 6.4, +"y": 19.05 +}, +"M3D": [ +0.9996185302734375, +0.012054443359375, +0.0, +0.0, +-0.012054443359375, +0.9996185302734375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-325.95, +-4.15, +0.0, +1.0 +] +} +} +] +} +] +}, +{ +"LN": "Layer_3", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [] +}, +{ +"I": 1, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "face meh gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 44.800000000000007, +"y": 32.45 +}, +"M3D": [ +0.996490478515625, +-0.0803375244140625, +0.0, +0.0, +0.0803375244140625, +0.996490478515625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-404.65, +42.2, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 50, +"E": [ +{ +"SI": { +"SN": "face meh gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 44.800000000000007, +"y": 32.4 +}, +"M3D": [ +0.9990234375, +-0.0407257080078125, +0.0, +0.0, +0.0407257080078125, +0.9990234375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-399.7, +35.0, +0.0, +1.0 +] +} +} +] +} +] +}, +{ +"LN": "Layer_8", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [] +}, +{ +"I": 1, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "head gf deselected", +"IN": "", +"ST": "MC", +"TRP": { +"x": 156.8, +"y": 109.85000000000001 +}, +"M3D": [ +0.999267578125, +-0.0382537841796875, +0.0, +0.0, +0.0382537841796875, +0.999267578125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-451.35, +-56.6, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 50, +"E": [ +{ +"SI": { +"SN": "head gf deselected", +"IN": "", +"ST": "MC", +"TRP": { +"x": 100.25, +"y": 98.9 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-442.5, +-65.4, +0.0, +1.0 +] +} +} +] +} +] +}, +{ +"LN": "Layer_1", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [] +}, +{ +"I": 1, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 114.9, +"y": -1.3 +}, +"M3D": [ +1.00067138671875, +-0.0073089599609375, +0.0, +0.0, +-0.0434722900390625, +0.9637908935546875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-459.2, +30.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.5, +"y": 61.35 +}, +"M3D": [ +0.9940185546875, +-0.10577392578125, +0.0, +0.0, +0.158843994140625, +0.988372802734375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-376.8, +85.7, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 10.9, +"y": 23.6 +}, +"M3D": [ +0.998504638671875, +0.0469818115234375, +0.0, +0.0, +-0.0469818115234375, +0.998504638671875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-382.95, +162.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.0, +"y": 55.6 +}, +"M3D": [ +0.9940185546875, +-0.10577392578125, +0.0, +0.0, +0.158843994140625, +0.988372802734375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-385.1, +103.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 14.100000000000002, +"y": 25.45 +}, +"M3D": [ +-0.999359130859375, +0.00494384765625, +0.0, +0.0, +0.00494384765625, +0.999359130859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-245.7, +149.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.1, +"y": 58.25 +}, +"M3D": [ +0.987548828125, +-0.15374755859375, +0.0, +0.0, +0.206451416015625, +0.9793701171875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-341.65, +89.85, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.75, +"y": 28.05 +}, +"M3D": [ +0.9940185546875, +-0.10577392578125, +0.0, +0.0, +0.158843994140625, +0.988372802734375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-372.15, +99.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.75, +"y": 41.1 +}, +"M3D": [ +0.9993743896484375, +-0.031982421875, +0.0, +0.0, +0.031982421875, +0.9993743896484375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-371.75, +177.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 37.15, +"y": 60.2 +}, +"M3D": [ +0.9990234375, +-0.04083251953125, +0.0, +0.0, +0.04083251953125, +0.9990234375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-414.25, +170.25, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 50, +"E": [ +{ +"SI": { +"SN": "hair back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 114.9, +"y": -1.3 +}, +"M3D": [ +1.0007171630859376, +0.010498046875, +0.0, +0.0, +-0.0606231689453125, +0.962921142578125, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +24.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "body backing gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.550000000000007, +"y": 61.400000000000009 +}, +"M3D": [ +0.995819091796875, +-0.0880889892578125, +0.0, +0.0, +0.1412353515625, +0.991119384765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-375.1, +84.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +0.999755859375, +-0.0180511474609375, +0.0, +0.0, +0.0180511474609375, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-383.8, +163.55, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm right gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 28.95, +"y": 55.7 +}, +"M3D": [ +0.995819091796875, +-0.0880889892578125, +0.0, +0.0, +0.1412353515625, +0.991119384765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-383.7, +101.75, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "knee gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 29.200000000000004, +"y": 21.55 +}, +"M3D": [ +-0.99615478515625, +0.084259033203125, +0.0, +0.0, +0.084259033203125, +0.99615478515625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-247.05, +149.35, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "arm left gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.1, +"y": 58.300000000000007 +}, +"M3D": [ +0.9902191162109375, +-0.1361541748046875, +0.0, +0.0, +0.1890106201171875, +0.9829559326171875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-340.05, +90.45, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "tits gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 43.75, +"y": 28.1 +}, +"M3D": [ +0.995819091796875, +-0.0880889892578125, +0.0, +0.0, +0.1412353515625, +0.991119384765625, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-370.7, +98.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg back gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 64.7, +"y": 41.1 +}, +"M3D": [ +0.999755859375, +-0.0180511474609375, +0.0, +0.0, +0.0180511474609375, +0.999755859375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-370.85, +175.65, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "leg front gf", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 37.1, +"y": 60.25 +}, +"M3D": [ +0.99951171875, +-0.0276031494140625, +0.0, +0.0, +0.0276031494140625, +0.99951171875, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-413.4, +169.75, +0.0, +1.0 +] +} +} +] +} +] +}, +{ +"LN": "Layer_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "speaker systems", +"IN": "", +"ST": "G", +"FF": 13, +"LP": "LP", +"TRP": { +"x": 220.95000000000003, +"y": 160.45000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-556.9, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.900000000000009, +"y": 92.80000000000001 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.550000000000007 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.550000000000007 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 4, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 6, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 7, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 8, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 11, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 12, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 13, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 14, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 15, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 16, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 17, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 18, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 19, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 20, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 21, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 22, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 23, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 24, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 25, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 26, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 27, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 28, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 29, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 30, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 31, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 32, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 33, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 34, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 35, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 36, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 37, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 38, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 39, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 40, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 41, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 42, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 43, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 44, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 45, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 46, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 47, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 48, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 49, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 50, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 51, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 52, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0000", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-181.0, +-37.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker bod", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 61.9, +"y": 92.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-241.9, +36.9, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-218.35, +52.2, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small speaker opening", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 40.1, +"y": 36.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-220.45, +133.5, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker body", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 159.05, +"y": 135.15 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-555.1, +-42.95, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-509.75, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big small speaker hole 1", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 34.2, +"y": 25.45 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-284.7, +-17.6, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-332.0, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small big hole 2", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 21.35, +"y": 16.85 +}, +"M3D": [ +-1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-454.25, +180.4, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "big speaker square", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "SF", +"TRP": { +"x": 109.9, +"y": 67.55 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-504.5, +41.4, +0.0, +1.0 +] +} +} +] +} +] +}, +{ +"LN": "Layer_7", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "music box device", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 105.35000000000001, +"y": 29.150000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-531.7, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 4, +"E": [ +{ +"SI": { +"SN": "music box device", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 105.35000000000001, +"y": 29.150000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-531.7, +-92.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-461.85, +-77.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.85, +-77.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-483.3, +-77.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-506.7, +-77.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-416.95, +-77.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 6, +"DU": 4, +"E": [ +{ +"SI": { +"SN": "music box device", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 105.35000000000001, +"y": 29.150000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-531.7, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 5, +"E": [ +{ +"SI": { +"SN": "music box device", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 105.35000000000001, +"y": 29.150000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-531.7, +-92.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-461.85, +-77.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.85, +-77.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-483.3, +-77.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-506.7, +-77.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-416.95, +-77.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 15, +"DU": 4, +"E": [ +{ +"SI": { +"SN": "music box device", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 105.35000000000001, +"y": 29.150000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-531.7, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 19, +"DU": 23, +"E": [ +{ +"SI": { +"SN": "music box device", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 105.35000000000001, +"y": 29.150000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-531.7, +-92.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-461.85, +-77.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.85, +-77.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-483.3, +-77.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-506.7, +-77.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-416.95, +-77.0, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 42, +"DU": 2, +"E": [ +{ +"SI": { +"SN": "music box device", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 105.35000000000001, +"y": 29.150000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-531.7, +-92.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 44, +"DU": 9, +"E": [ +{ +"SI": { +"SN": "music box device", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 105.35000000000001, +"y": 29.150000000000003 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-531.7, +-92.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-461.85, +-77.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-439.85, +-77.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-483.3, +-77.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-506.7, +-77.0, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "red dot", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 2.4000000000000005, +"y": 2.4000000000000005 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-416.95, +-77.0, +0.0, +1.0 +] +} +} +] +} +] +}, +{ +"LN": "Layer_6", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [] +}, +{ +"I": 1, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 2, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 3, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 4, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 5, +"DU": 4, +"E": [ +{ +"ASI": { +"N": "0024", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-212.5, +-2.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 9, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 10, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 11, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 12, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 13, +"DU": 4, +"E": [ +{ +"ASI": { +"N": "0024", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-212.5, +-2.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 17, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 18, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 19, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 20, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 21, +"DU": 4, +"E": [ +{ +"ASI": { +"N": "0024", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-212.5, +-2.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 25, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 26, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 27, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 28, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 29, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 30, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 31, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 32, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 33, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 34, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 35, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 36, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 37, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 38, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 39, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 40, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 41, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 42, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 43, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 44, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 45, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 46, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 47, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0024", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-212.5, +-2.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 48, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 49, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0024", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-212.5, +-2.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 50, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 51, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0024", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-212.5, +-2.8, +0.0, +1.0 +] +} +}, +{ +"SI": { +"SN": "small music box", +"IN": "", +"ST": "G", +"FF": 0, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +}, +{ +"I": 52, +"DU": 1, +"E": [ +{ +"SI": { +"SN": "small music box w lights", +"IN": "", +"ST": "G", +"FF": 20, +"LP": "LP", +"TRP": { +"x": 54.900000000000009, +"y": 29.8 +}, +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +-256.5, +-17.8, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "sweat drop", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0027", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "face meh gf", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0028", +"M3D": [ +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +}, +{ +"SN": "head gf deselected", +"TL": { +"L": [ +{ +"LN": "Capa_2", +"FR": [ +{ +"I": 0, +"DU": 1, +"E": [ +{ +"ASI": { +"N": "0029", +"M3D": [ +0.9999847412109375, +0.0, +0.0, +0.0, +0.0, +0.9999847412109375, +0.0, +0.0, +0.0, +0.0, +1.0, +0.0, +0.0, +0.0, +0.0, +1.0 +] +} +} +] +} +] +} +] +} +} +] +}, +"MD": { +"FRT": 24.0 +} +} \ No newline at end of file diff --git a/assets/preload/images/charSelect/gfChill/spritemap1.json b/assets/preload/images/charSelect/gfChill/spritemap1.json new file mode 100644 index 00000000..38f9c4b5 --- /dev/null +++ b/assets/preload/images/charSelect/gfChill/spritemap1.json @@ -0,0 +1,41 @@ +{"ATLAS": {"SPRITES":[ +{"SPRITE" : {"name": "0000","x":1004,"y":38,"w":1,"h":13,"rotated": true}}, +{"SPRITE" : {"name": "0001","x":332,"y":280,"w":201,"h":197,"rotated": false}}, +{"SPRITE" : {"name": "0002","x":538,"y":280,"w":88,"h":124,"rotated": false}}, +{"SPRITE" : {"name": "0003","x":952,"y":519,"w":59,"h":43,"rotated": false}}, +{"SPRITE" : {"name": "0004","x":300,"y":482,"w":58,"h":112,"rotated": false}}, +{"SPRITE" : {"name": "0005","x":801,"y":454,"w":69,"h":118,"rotated": false}}, +{"SPRITE" : {"name": "0006","x":141,"y":425,"w":73,"h":114,"rotated": true}}, +{"SPRITE" : {"name": "0007","x":5,"y":425,"w":131,"h":83,"rotated": false}}, +{"SPRITE" : {"name": "0008","x":907,"y":5,"w":92,"h":173,"rotated": true}}, +{"SPRITE" : {"name": "0009","x":655,"y":5,"w":247,"h":209,"rotated": false}}, +{"SPRITE" : {"name": "0010","x":452,"y":482,"w":68,"h":91,"rotated": true}}, +{"SPRITE" : {"name": "0011","x":219,"y":497,"w":65,"h":91,"rotated": true}}, +{"SPRITE" : {"name": "0012","x":363,"y":482,"w":84,"h":77,"rotated": false}}, +{"SPRITE" : {"name": "0013","x":672,"y":422,"w":124,"h":186,"rotated": false}}, +{"SPRITE" : {"name": "0014","x":538,"y":422,"w":129,"h":189,"rotated": false}}, +{"SPRITE" : {"name": "0015","x":875,"y":519,"w":72,"h":54,"rotated": false}}, +{"SPRITE" : {"name": "0016","x":100,"y":544,"w":47,"h":37,"rotated": false}}, +{"SPRITE" : {"name": "0017","x":5,"y":281,"w":227,"h":139,"rotated": false}}, +{"SPRITE" : {"name": "0018","x":861,"y":219,"w":146,"h":230,"rotated": true}}, +{"SPRITE" : {"name": "0019","x":332,"y":5,"w":318,"h":270,"rotated": false}}, +{"SPRITE" : {"name": "0020","x":5,"y":5,"w":322,"h":271,"rotated": false}}, +{"SPRITE" : {"name": "0021","x":1004,"y":28,"w":5,"h":5,"rotated": false}}, +{"SPRITE" : {"name": "0022","x":1014,"y":28,"w":5,"h":5,"rotated": false}}, +{"SPRITE" : {"name": "0023","x":237,"y":281,"w":58,"h":211,"rotated": true}}, +{"SPRITE" : {"name": "0024","x":1004,"y":5,"w":5,"h":18,"rotated": false}}, +{"SPRITE" : {"name": "0025","x":1014,"y":5,"w":5,"h":18,"rotated": false}}, +{"SPRITE" : {"name": "0026","x":875,"y":454,"w":110,"h":60,"rotated": false}}, +{"SPRITE" : {"name": "0027","x":907,"y":183,"w":38,"h":13,"rotated": true}}, +{"SPRITE" : {"name": "0028","x":5,"y":513,"w":90,"h":65,"rotated": false}}, +{"SPRITE" : {"name": "0029","x":655,"y":219,"w":201,"h":198,"rotated": false}} +]}, +"meta": { +"app": "Adobe Animate", +"version": "22.0.2.168", +"image": "spritemap1.png", +"format": "RGBA8888", +"size": {"w":1024,"h":616}, +"resolution": "1" +} +} diff --git a/assets/preload/images/charSelect/gfChill/spritemap1.png b/assets/preload/images/charSelect/gfChill/spritemap1.png new file mode 100644 index 0000000000000000000000000000000000000000..404c55f7be92f3c8dd2ed65df0b0a0598e243869 GIT binary patch literal 111035 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 bzW@UOqmg&78Qt{#00000NkvXXu0mjfqJx(S literal 1778 zcmb7_YdjMQ1IDKqCe3x2YWN-3ayhP}7ss->WahHX7NU^b+(Kc@y$-U-+zGigm)wbj zk-QP2#K@UkJBblOmc7pJ_kMW4zR&M@p8wb9+mm8vYatARf&c)3u$85`!wGZ#iNNWT z7GlM}J3+dg4HkLA|4Uphm(6CgSghXO-iC&Tl9CdS4o{a_SA3~cY;3F@&E7iYYEV#+ zd5pQ6o15`%6N6iD39Wgisp)%nwl33Vbba{Fc?fsLF^3V3>XXs3IR`M z$VtN2P9PHIVCx6~!!%7XZb7jROB#B|S?r%Ic`5(^c;gmRs^(C_4gpuj*4LHOI9e~tf-+1y)EVjQ)2NUgxy z;?%da7BoaODgYvXq`(+~7?9T9YyPQEd@bFY7k#@D-#FEUTSDySGx`POjHHS@foqG0 zPP7`;$_1$;T1|i9m*kjxs(QHmZGUsrn~yx?E=8j%n*%f*<^6h7l+^yLSf*}*DP;0g z3!d6fcHof@)n+a{weA$MFKco42moj)Ga%|&A&Z1YbRUWci1Q~p8?B5z9njx#CkYLC zIH;P8Q8*-Fg>&X_8Bl(uH4n)zuc+ts(U zLYmJpFubuiJ2h)038E}g8XVcjkneCqp&M@ zpp))wn7A`fo}r}wI1DKv9OZ*6R%+J*C~0K1igMx~b=R1M(SI8sofA<5kc!%GjKOR# zOlTOZr)p_n9!vi*P@<+fp&ei;d|$69HiSKLKHC1lFjB3vsT%H7WOZD%9EARrg1cF_<9lx%8o9BJ zD0sP?%gfFY5nmJ(lQ@!>>sd#mAiF~dy zD$>5%bD=;MleZHvTR;cyx+o%KhFO``vKe1jcN}%Yaxdt{IGsk)qcq3oN70tUR_c^1 z$%%TQVm<59rvZ{|$Hk{*hZyzEU7(k&mO-vi)}oxu^ADF>pQ95{Ica%086O+FnXp$h zszutX2hsU5#DSNWCqWeC+0=?`o9D9jjvk#vHb-&bN9(czWUT3|3xN zcnw{*fS_JYR+SBk=}G;2>85>+%!`3f*9L)dT+YFECZWI~-GC9_bXM-gdQqF0o3&2v}S@L%(mJklYVAYCNP zQ6rpGpTxe;nvoz*r_}6ELV6qd31!)S^}(*Di`;#4~K zs+{+C+z6Vot?V-7;Hgwb%q(x>o52MKOJS|^v6NACLrZsr}oQK9yco!%F4wz z)tH6e+~~~PW`Z3ET-;t_h4-5Fpt}|knt|+l>>W5hzP{YU!yG&H1KT29fq%6Brp|`Y z+gL4R0H3Bs_NQbZ={LLz&@M=B`?;C!U)MmjCkE=h3lg;Yasr_0B`xDQ&}rN zP*qd3nEYUwJ!IOd{E=T4^QPpI3iZj#rCsj+a^&N+|GJmP1=wXhIJ0!1hyUlftdO?m J&k*hj{{a=MInMw9 diff --git a/source/Main.hx b/source/Main.hx index 97aaf55d..d5c38cb9 100644 --- a/source/Main.hx +++ b/source/Main.hx @@ -50,8 +50,8 @@ class Main extends Sprite public static var stage3D:AwayStage; #end - public static final PSYCH_ONLINE_VERSION:String = "0.8.3"; - public static final CLIENT_PROTOCOL:Float = 4; + public static final PSYCH_ONLINE_VERSION:String = "0.9.0"; + public static final CLIENT_PROTOCOL:Float = 5; public static final GIT_COMMIT:String = online.backend.Macros.getGitCommitHash(); // You can pretty much ignore everything from here on - your code should go in your states. @@ -69,7 +69,7 @@ class Main extends Sprite sys.ssl.Socket.DEFAULT_VERIFY_CERT = false; Lib.current.addChild(new Main()); //TBA - //Lib.current.addChild(new online.sgui.SideUI()); + Lib.current.addChild(new online.gui.sidebar.SideUI()); } public function new() @@ -191,7 +191,7 @@ class Main extends Sprite #else online.GameClient.serverAddresses.push("ws://localhost:2567"); #end - online.network.FunkinNetwork.client = new online.util.HTTPClient(online.GameClient.addressToUrl(online.GameClient.serverAddress)); + online.network.FunkinNetwork.client = new online.util.HTTPClient(online.GameClient.addressToUrl()); online.mods.Downloader.checkDeleteDlDir(); diff --git a/source/backend/ClientPrefs.hx b/source/backend/ClientPrefs.hx index 422dd17b..60b328dd 100644 --- a/source/backend/ClientPrefs.hx +++ b/source/backend/ClientPrefs.hx @@ -84,6 +84,9 @@ class SaveVariables { public var showNoteTiming:Bool = false; public var disableAutoDownloads:Bool = false; public var disableSongComments:Bool = false; + public var disableFreeplayIcons:Bool = false; + public var showFP:Bool = false; + public var disableFreeplayAlphabet:Bool = false; public function new() { diff --git a/source/objects/Alphabet.hx b/source/objects/Alphabet.hx index 1ed3a460..b30e2079 100644 --- a/source/objects/Alphabet.hx +++ b/source/objects/Alphabet.hx @@ -2,6 +2,20 @@ package objects; import flixel.math.FlxPoint; +interface Scrollable extends IFlxSprite { + public var targetY:Int; + public var distancePerItem:FlxPoint; + public var startPosition:FlxPoint; + function snapToPosition():Void; + + var isMenuItem:Bool; + var scaleX(default, set):Float; + + // IFlxSprite doesn't have? + public var width(get, set):Float; + public var height(get, set):Float; +} + enum Alignment { LEFT; @@ -9,7 +23,7 @@ enum Alignment RIGHT; } -class Alphabet extends FlxSpriteGroup +class Alphabet extends FlxSpriteGroup implements Scrollable { public var text(default, set):String; diff --git a/source/objects/Character.hx b/source/objects/Character.hx index 6259f014..c43d5443 100644 --- a/source/objects/Character.hx +++ b/source/objects/Character.hx @@ -38,6 +38,7 @@ typedef AnimArray = { var loop:Bool; var indices:Array; var offsets:Array; + @:optional var sound:String; } class Character extends FlxSprite { @@ -77,6 +78,9 @@ class Character extends FlxSprite { public var isSkin:Bool = false; public var loadFailed:Bool = false; + public var animSounds:Map = new Map(); + public var sound:FlxSound; + public static var DEFAULT_CHARACTER:String = 'bf'; // In case a character is missing, it will use BF on its place public static function getCharacterFile(character:String, ?instance:Character):CharacterFile { @@ -126,7 +130,6 @@ class Character extends FlxSprite { var split:Array = json.image.split(','); imageFile = split[0]; - #if MODS_ALLOWED var modAnimToFind:String = Paths.modFolders('images/' + imageFile + '/Animation.json'); var animToFind:String = Paths.getPath('images/' + imageFile + '/Animation.json', TEXT); @@ -142,10 +145,10 @@ class Character extends FlxSprite { frames = AtlasFrameMaker.construct(imageFile); if (frames != null) { - for (i in split) { - if (!imageFile.contains(i)) - imageFile += ',$i'; - var daAtlas = Paths.getAtlas(i); + for (imgFile in split) { + if (!imageFile.contains(imgFile)) + imageFile += ',$imgFile'; + var daAtlas = Paths.getAtlas(imgFile); if (daAtlas != null) cast(frames, FlxAtlasFrames).addAtlas(daAtlas); } @@ -194,6 +197,12 @@ class Character extends FlxSprite { if (anim.offsets != null && anim.offsets.length > 1) { addOffset(anim.anim, anim.offsets[0], anim.offsets[1]); } + + if (anim.sound != null) { + var sound = Paths.sound(anim.sound); + if (sound != null) + animSounds.set(animAnim, sound); + } } } else { @@ -332,8 +341,7 @@ class Character extends FlxSprite { specialAnim = true; heyTimer = 1; } - @:privateAccess - if (animation._animations.get(AnimName) == null) { + if (!animExists(AnimName)) { if (AnimName.endsWith("-alt")) { AnimName = AnimName.substring(0, AnimName.length - "-alt".length); } @@ -349,11 +357,11 @@ class Character extends FlxSprite { AnimName = "hey"; } - if (AnimName == "hey" && curCharacter.startsWith("tankman") && animation._animations.get(AnimName) == null) { + if (AnimName == "hey" && curCharacter.startsWith("tankman") && !animExists(AnimName)) { AnimName = "singUP-alt"; } - if (animation._animations.get(AnimName) == null) { + if (!animExists(AnimName)) { if (AnimName == "hey") { specialAnim = false; heyTimer = 0; @@ -362,6 +370,19 @@ class Character extends FlxSprite { } } + if (animSounds.exists(AnimName)) { + if (sound != null) { + sound.stop(); + sound.destroy(); + sound = null; + } + + sound = FlxG.sound.play(animSounds.get(AnimName)); + sound.onComplete = () -> { + sound.destroy(); + sound = null; + }; + } animation.play(AnimName, Force, Reversed, Frame); var daOffset = animOffsets.get(AnimName); @@ -385,6 +406,10 @@ class Character extends FlxSprite { } } + public function animExists(AnimName:String) { + return @:privateAccess animation._animations.get(AnimName) != null; + } + function loadMappedAnims():Void { var noteData:Array = Song.loadFromJson('picospeaker', Paths.formatToSongPath(PlayState.SONG.song)).notes; for (section in noteData) { @@ -430,4 +455,14 @@ class Character extends FlxSprite { public function quickAnimAdd(name:String, anim:String) { animation.addByPrefix(name, anim, 24, false); } + + override public function destroy() { + super.destroy(); + + if (sound != null) { + sound.stop(); + sound.destroy(); + sound = null; + } + } } diff --git a/source/objects/Note.hx b/source/objects/Note.hx index 719eec0c..2a1841df 100644 --- a/source/objects/Note.hx +++ b/source/objects/Note.hx @@ -102,8 +102,8 @@ class Note extends FlxSprite public var copyAngle:Bool = true; public var copyAlpha:Bool = true; - public var hitHealth:Float = 0.023; - public var missHealth:Float = 0.0475; + public var hitHealth:Float = 0.02; + public var missHealth:Float = 0.1; public var rating:String = 'unknown'; public var ratingMod:Float = 0; //9 = unknown, 0.25 = shit, 0.5 = bad, 0.75 = good, 1 = sick public var ratingDisabled:Bool = false; diff --git a/source/online/FunkinPoints.hx b/source/online/FunkinPoints.hx index c63dffce..1409d56a 100644 --- a/source/online/FunkinPoints.hx +++ b/source/online/FunkinPoints.hx @@ -5,19 +5,21 @@ class FunkinPoints { @:forwardField(FlxG.save.data.funkinPointsv3, 0) public static var funkinPoints(get, set):Float; - public static function calcFP(accuracy:Float, misses:Float, denseNotes:Float, notesHit:Float, maxCombo:Float, playbackRate:Float):Float { + public static function calcFP(accuracy:Float, misses:Float, denseNotes:Float, notesHit:Float, maxCombo:Float):Float { if (accuracy <= 0 || notesHit <= 0) return 0; - // depends on player's hitted notes, and their weight - var fp:Float = Math.max(1, 1 + denseNotes) * (notesHit / 100); - fp *= 1 + maxCombo / 1000; // depends on player's note streak - fp *= accuracy / (1 + misses * 0.25); // depends on player's note accuracy + // depends on player's hitted notes and the density of all notes + var fp:Float = Math.max(1, 1 + denseNotes) * (notesHit / 200); + // depends on player's note streak (1000 combo doubles base fp) + fp *= 1 + maxCombo / 1000; + // depends on player's note accuracy (weighted by power of 4; 95% = x0.81, 90% = x0.65, 80% = x0.40) + fp *= Math.pow(accuracy, 5) / (1 + misses * 0.25); return Math.ffloor(fp); } - public static function save(accuracy:Float, misses:Float, denseNotes:Float, notesHit:Float, maxCombo:Float, playbackRate:Float) { - var gained:Float = online.FunkinPoints.calcFP(accuracy, misses, denseNotes, notesHit, maxCombo, playbackRate); + public static function save(accuracy:Float, misses:Float, denseNotes:Float, notesHit:Float, maxCombo:Float) { + var gained:Float = online.FunkinPoints.calcFP(accuracy, misses, denseNotes, notesHit, maxCombo); funkinPoints += gained; FlxG.save.flush(); GameClient.send("updateFP", funkinPoints); diff --git a/source/online/GameClient.hx b/source/online/GameClient.hx index 14e507d2..4b1d4758 100644 --- a/source/online/GameClient.hx +++ b/source/online/GameClient.hx @@ -84,7 +84,7 @@ class GameClient { reconnecting = false; if (err != null) { trace(err.code + " - " + err.message); - Alert.alert("Couldn't connect!", "JOIN ERROR: " + err.code + " - " + err.message); + Alert.alert("Couldn't connect!", "JOIN ERROR: " + ShitUtil.prettyStatus(err.code) + "\n" + ShitUtil.readableError(err.message)); client = null; _pendingMessages = []; onJoin(err); @@ -103,9 +103,9 @@ class GameClient { GameClient.rpcClientRoomID = Md5.encode(FlxG.random.int(0, 1000000).hex()); clearOnMessage(); - GameClient.room.onError += (id:Int, e:String) -> { - Alert.alert("Room error!", "room.onError: " + id + " - " + e + "\n\nPlease report this error on GitHub!"); - Sys.println("Room.onError: " + id + " - " + e); + GameClient.room.onError += (code:Int, e:String) -> { + Alert.alert("Room error!", "room.onError: " + ShitUtil.prettyStatus(code) + "\n" + ShitUtil.readableError(e)); + Sys.println("Room.onError: " + code + " - " + e); } GameClient.room.onLeave += () -> { @@ -159,7 +159,7 @@ class GameClient { if (err != null) { trace(err.code + " - " + err.message); Waiter.put(() -> { - Alert.alert("Couldn't reconnect!", "RECONNECT ERROR: " + err.code + " - " + err.message); + Alert.alert("Couldn't reconnect!", "RECONNECT ERROR: " + ShitUtil.prettyStatus(err.code) + " - " + ShitUtil.readableError(err.message)); }); leaveRoom(); return; @@ -357,7 +357,7 @@ class GameClient { return serverAddress; } - public static function addressToUrl(address:Null) { + public static function addressToUrl(?address:Null) { var copyAddress = address ?? GameClient.serverAddress; if (copyAddress.startsWith("wss://")) { copyAddress = "https://" + copyAddress.substr("wss://".length); diff --git a/source/online/NetworkClient.hx b/source/online/NetworkClient.hx new file mode 100644 index 00000000..ea848a32 --- /dev/null +++ b/source/online/NetworkClient.hx @@ -0,0 +1,95 @@ +package online; + +import online.gui.sidebar.MainTab; +import online.GameClient.Error; +import online.backend.schema.NetworkSchema; +import online.network.Auth; +import io.colyseus.Client; +import io.colyseus.Room; + +class NetworkClient { + public static var client:Client; + public static var room:Room; + public static var connecting:Bool = false; + + public static function connect() { + if (connecting) + return; + + connecting = true; + var client = new Client(GameClient.serverAddress); + + Thread.run(() -> { + client.joinById('0', [ + "protocol" => Main.CLIENT_PROTOCOL, + "networkId" => Auth.authID, + "networkToken" => Auth.authToken, + ], NetworkSchema, (err, room) -> { + joinCallback(err, room); + }); + }, (exc) -> { + connecting = false; + trace(ShitUtil.prettyError(exc)); + }); + } + + static function joinCallback(err:Error, room:Room, ?reconnect:Bool = false) { + connecting = false; + NetworkClient.room = null; + if (err != null) { + Waiter.put(() -> { + MainTab.addMessage('Failed to connect to the network chatroom! (Reopen this tab to try again)'); + }); + trace(err); + return; + } + + Waiter.put(() -> { + MainTab.addMessage('Connected to the network chatroom!'); + }); + + NetworkClient.room = room; + + room.onMessage("log", function(message) { + Waiter.put(() -> { + MainTab.addMessage(message); + }); + }); + + room.onError += (code:Int, e:String) -> { + Thread.safeCatch(() -> { + Waiter.put(() -> { + Alert.alert("Network Room error!", "room.onError: " + ShitUtil.prettyStatus(code) + "\n" + ShitUtil.readableError(e)); + }); + Sys.println("NetworkRoom.onError: " + code + " - " + e); + }, e -> { + trace(ShitUtil.prettyError(e)); + }); + } + + room.onLeave += () -> { + Waiter.put(() -> { + MainTab.addMessage('Disconnected from the chatroom'); + }); + + var recToken = NetworkClient.room.reconnectionToken; + NetworkClient.room = null; + + Thread.safeCatch(() -> { + trace("Left/Kicked from the Network room!"); + + connecting = true; + client.reconnect(recToken, NetworkSchema, (err, newRoom) -> { + trace("Reconnecting to the Network room"); + joinCallback(err, newRoom, true); + }); + }, e -> { + NetworkClient.room = null; + connecting = false; + trace(ShitUtil.prettyError(e)); + }); + } + + trace("Joined Network Room!"); + } +} \ No newline at end of file diff --git a/source/online/backend/Thread.hx b/source/online/backend/Thread.hx index bce85044..1c415a3f 100644 --- a/source/online/backend/Thread.hx +++ b/source/online/backend/Thread.hx @@ -39,4 +39,18 @@ class Thread { } }); } + + public static function safeCatch(task:Void->Void, ?onException:Exception->Void) { + try { + task(); + } + catch (exc:Dynamic) { + Waiter.put(() -> { + if (onException != null) + onException(exc); + else + throw exc; + }); + } + } } \ No newline at end of file diff --git a/source/online/backend/schema/NetworkSchema.hx b/source/online/backend/schema/NetworkSchema.hx new file mode 100644 index 00000000..91a12d46 --- /dev/null +++ b/source/online/backend/schema/NetworkSchema.hx @@ -0,0 +1,13 @@ +// +// THIS FILE HAS BEEN GENERATED AUTOMATICALLY +// DO NOT CHANGE IT MANUALLY UNLESS YOU KNOW WHAT YOU'RE DOING +// +// GENERATED USING @colyseus/schema 2.0.26 +// + +package online.backend.schema; + +import io.colyseus.serializer.schema.Schema; +import io.colyseus.serializer.schema.types.*; + +class NetworkSchema extends Schema {} diff --git a/source/online/gui/Alert.hx b/source/online/gui/Alert.hx index d12a4e03..b3dd057c 100644 --- a/source/online/gui/Alert.hx +++ b/source/online/gui/Alert.hx @@ -46,7 +46,7 @@ class Alert extends Sprite { text.x = Lib.application.window.width / 2 - text.textWidth / 2; text.y = bg.scaleY / 2 - text.textHeight / 2; - _targetAlpha = 5; + _targetAlpha = Math.min(2 + text.length * 0.05, 20); } override function __enterFrame(delta) { diff --git a/source/online/gui/sidebar/MainTab.hx b/source/online/gui/sidebar/MainTab.hx index 9782a4cf..a1c03b8d 100644 --- a/source/online/gui/sidebar/MainTab.hx +++ b/source/online/gui/sidebar/MainTab.hx @@ -1,33 +1,44 @@ package online.gui.sidebar; +import openfl.events.TextEvent; +import openfl.Lib; +import online.network.FunkinNetwork; import haxe.io.BytesOutput; import haxe.io.Bytes; import haxe.crypto.Base64; -import online.net.FunkinNetwork; class MainTab extends TabSprite { + var profileBg:Bitmap; var nickname:TextField; var nameDesc:TextField; var avatar:Bitmap; var avatarLoaded:Bool = false; + var chatBg:Bitmap; + var chatInput:TextField; + static var messages:Array = []; + var msgSprite:Sprite; + override function create() { - var bitmap = new Bitmap(new BitmapData(Std.int(widthTab), 150 + (30 * 2), true, FlxColor.fromRGB(0, 0, 0, 200))); - addChild(bitmap); + msgSprite = new Sprite(); + addChild(msgSprite); + + profileBg = new Bitmap(new BitmapData(Std.int(widthTab), 150, true, FlxColor.fromRGB(0, 0, 0, 200))); + addChild(profileBg); nickname = new TextField(); nickname.selectable = false; - var format = getDefaultFormat(); + var format = TabSprite.getDefaultFormat(); format.size = 20; nickname.defaultTextFormat = format; nickname.width = widthTab; - nickname.y = 40; + nickname.y = 20; nickname.x = widthTab / 2 - nickname.width / 2; addChild(nickname); nameDesc = new TextField(); nameDesc.selectable = false; - nameDesc.defaultTextFormat = getDefaultFormat(); + nameDesc.defaultTextFormat = TabSprite.getDefaultFormat(); nameDesc.width = widthTab; nameDesc.y = nickname.y + 30; nameDesc.x = nickname.x; @@ -35,13 +46,127 @@ class MainTab extends TabSprite { avatar = new Bitmap(new BitmapData(30, 30, true, FlxColor.fromRGB(0, 0, 0, 0))); addChild(avatar); + + chatInput = new TextField(); + chatInput.defaultTextFormat = TabSprite.getDefaultFormat(); + chatInput.text = ""; + chatInput.type = INPUT; + chatInput.width = Std.int(widthTab); + + var chatInputPlaceholder:TextField = new TextField(); + chatInputPlaceholder.defaultTextFormat = TabSprite.getDefaultFormat(); + chatInputPlaceholder.text = "(Click here to chat)"; + chatInputPlaceholder.selectable = false; + chatInputPlaceholder.y = Lib.application.window.height - (chatInputPlaceholder.textHeight + 5); + chatInputPlaceholder.width = Std.int(widthTab); + + chatInput.y = chatInputPlaceholder.y; + + chatBg = new Bitmap(new BitmapData(Std.int(widthTab), Std.int(chatInputPlaceholder.textHeight + 5), true, FlxColor.fromRGB(0, 0, 0, 200))); + chatBg.y = Lib.application.window.height - chatBg.height; + addChild(chatBg); + addChild(chatInputPlaceholder); + addChild(chatInput); + + chatInput.addEventListener(Event.CHANGE, _ -> { + chatInputPlaceholder.visible = chatInput.text.length <= 0; + }); + + updateMessages(); + } + + public static function addMessage(raw:Dynamic) { + var data = ShitUtil.parseLog(raw); + + var msg:TextField = new TextField(); + var format = TabSprite.getDefaultFormat(); + format.color = data.hue != null ? FlxColor.fromHSL(data.hue, 0.7, 0.7) : FlxColor.WHITE; + msg.defaultTextFormat = format; + msg.height = 10000; + msg.wordWrap = true; + msg.text = data.content; + msg.height = msg.textHeight + 1; + messages.unshift(msg); + + updateMessages(); + } + + public static function updateMessages() { + //maybe ill add other tabs later + if (SideUI.instance?.curTab == null || !(SideUI.instance.curTab is MainTab)) { + return; + } + + var instance:MainTab = cast SideUI.instance.curTab; + + if (messages.length > 100) { + messages.pop(); + } + + instance.msgSprite.removeChildren(); + + var lastY:Null = null; + for (message in messages) { + message.width = Std.int(instance.widthTab); + message.y = lastY = (lastY ?? Lib.application.window.height - instance.chatBg.height) - (message.textHeight + 5); + instance.msgSprite.addChild(message); + } + } + + override function keyDown(event:KeyboardEvent):Void { + if (stage.focus == chatInput && event.keyCode == 13) { + //addMessage(FunkinNetwork.nickname + ': ' + chatInput.text); + if (NetworkClient.room != null) { + NetworkClient.room.send('chat', chatInput.text); + } + else { + addMessage("Not connected to the server! Trying to connect!"); + NetworkClient.connect(); + } + + chatInput.text = ''; + chatInput.dispatchEvent(new Event(Event.CHANGE, true)); + } + } + + override function mouseDown(e:MouseEvent):Void { + if (e.localX < width && e.localY >= Lib.application.window.height - chatBg.height - 5) { + stage.focus = chatInput; + } + } + + override function mouseWheel(e:MouseEvent):Void { + msgSprite.y += e.delta * 30; + + if (msgSprite.y <= 0) + msgSprite.y = 0; + if (msgSprite.y >= msgSprite.height) + msgSprite.y = msgSprite.height; } - override function init() { + override function onShow() { + profileBg.bitmapData.floodFill(0, 0, FlxColor.fromHSL(FunkinNetwork.profileHue, 0.25, 0.25)); nickname.text = FunkinNetwork.loggedIn ? "Welcome, " + FunkinNetwork.nickname : "Not Logged In"; - nameDesc.text = "Points: " + FunkinNetwork.points; + nameDesc.text = "Points: " + FunkinNetwork.points + "\nAvg. Accuracy: " + FlxMath.roundDecimal(FunkinNetwork.avgAccuracy * 100, 2) + "%"; - if (FunkinNetwork.loggedIn && !avatarLoaded) { + loadAvatar(); + + if (NetworkClient.room == null) { + NetworkClient.connect(); + } + + updateMessages(); + } + + function loadAvatar() { + if (avatarLoaded) + return; + + nickname.x = widthTab / 2 - nickname.width / 2; + nameDesc.x = nickname.x; + avatar.visible = false; + + if (FunkinNetwork.loggedIn) { Thread.run(() -> { var output = new BytesOutput(); var avatarResponse = FunkinNetwork.requestAPI({ @@ -53,10 +178,11 @@ class MainTab extends TabSprite { if (avatar != null) { avatarLoaded = true; avatar.bitmapData = BitmapData.fromBytes(output.getBytes()); - avatar.width = 150; - avatar.height = 150; + avatar.width = 100; + avatar.height = 100; avatar.x = 50; - avatar.y = 30; + avatar.y = 20; + avatar.visible = true; nickname.x = avatar.x + avatar.width + 20; nameDesc.x = nickname.x; @@ -65,5 +191,5 @@ class MainTab extends TabSprite { } }); } - } + } } \ No newline at end of file diff --git a/source/online/gui/sidebar/SideUI.hx b/source/online/gui/sidebar/SideUI.hx index 8171855b..1f7491f8 100644 --- a/source/online/gui/sidebar/SideUI.hx +++ b/source/online/gui/sidebar/SideUI.hx @@ -1,16 +1,19 @@ package online.gui.sidebar; +import online.network.FunkinNetwork; import flixel.FlxG; import flixel.util.FlxColor; import openfl.Lib; class SideUI extends Sprite { - public var shown(default, set):Bool; + public static var instance:SideUI; + + public var active(default, set):Bool; public var cursor:Bitmap; var _wasMouseShown:Bool = false; - var curTab:TabSprite = null; + public var curTab:TabSprite = null; public function new() { super(); @@ -32,37 +35,51 @@ class SideUI extends Sprite { alpha = 0; x = -width; - stage.addEventListener(KeyboardEvent.KEY_DOWN, (e:KeyboardEvent) -> { - if (e.keyCode == 192) { - shown = !shown; + if (e.keyCode == 192 && stage.focus == null) { + if (FunkinNetwork.loggedIn) { + active = !active; + return; + } + else { + Waiter.put(() -> { + Alert.alert("Forbidden!", "Sidebar is only accessible for\npeople that are logged to the network!"); + }); + } } - if (shown) + if (active) curTab.keyDown(e); }); stage.addEventListener(MouseEvent.MOUSE_MOVE, (e:MouseEvent) -> { cursor.x = e.stageX; cursor.y = e.stageY; - if (shown) + if (active) curTab.mouseMove(e); }); stage.addEventListener(MouseEvent.MOUSE_DOWN, (e:MouseEvent) -> { - if (e.localX >= width) - shown = false; + if (e.localX >= (curTab?.widthTab ?? width)) + active = false; - if (shown) + if (active) curTab.mouseDown(e); }); + stage.addEventListener(MouseEvent.MOUSE_WHEEL, (e:MouseEvent) -> { + if (active) + curTab.mouseWheel(e); + }); curTab = new MainTab(bitmap.width); + + instance = this; } - function set_shown(show:Bool) { - if (show == shown) - return shown; + function set_active(show:Bool) { + if (show == active) + return active; + stage.focus = null; Actuate.stop(this); FlxG.mouse.enabled = !show; @@ -71,6 +88,7 @@ class SideUI extends Sprite { if (show) { addChild(curTab); + curTab.onShow(); _wasMouseShown = FlxG.mouse.visible; FlxG.mouse.visible = false; @@ -81,9 +99,10 @@ class SideUI extends Sprite { Actuate.tween(this, 1, {alpha: 0, x: -width}).onComplete(() -> { removeChild(curTab); + curTab.onHide(); }); } - return shown = show; + return active = show; } } diff --git a/source/online/gui/sidebar/TabSprite.hx b/source/online/gui/sidebar/TabSprite.hx index d1fbab40..ad883c5e 100644 --- a/source/online/gui/sidebar/TabSprite.hx +++ b/source/online/gui/sidebar/TabSprite.hx @@ -15,7 +15,7 @@ class TabSprite extends Sprite { addEventListener(Event.ADDED_TO_STAGE, _init); } - public function getDefaultFormat() { + public static inline function getDefaultFormat() { return new TextFormat(Assets.getFont('assets/fonts/vcr.ttf').fontName, 15, 0xFFFFFFFF); } @@ -29,9 +29,11 @@ class TabSprite extends Sprite { } function create():Void {} function init():Void {} + function onShow():Void {} + function onHide():Void {} function keyDown(event:KeyboardEvent):Void {} function mouseDown(e:MouseEvent):Void {} - function mouseMove(e:MouseEvent):Void {} + function mouseWheel(e:MouseEvent):Void {} } \ No newline at end of file diff --git a/source/online/mods/Downloader.hx b/source/online/mods/Downloader.hx index 1dfef750..ca57344a 100644 --- a/source/online/mods/Downloader.hx +++ b/source/online/mods/Downloader.hx @@ -1,6 +1,5 @@ package online.mods; -import haxe.io.Eof; import haxe.io.Error; import haxe.CallStack; import haxe.io.Path; @@ -81,7 +80,7 @@ class Downloader { if (!cancelRequested) { trace(id + ': ' + exc + "\n\n" + CallStack.toString(exc.stack)); Waiter.put(() -> { - Alert.alert('Uncaught Download Error!', id + ': ' + exc + "\n\n" + CallStack.toString(exc.stack)); + Alert.alert('Uncaught Download Error!', id + ': ' + ShitUtil.readableError(exc) + "\n\n" + CallStack.toString(exc.stack)); }); } doCancel(); @@ -163,7 +162,10 @@ class Downloader { if (tries >= 10) { trace(id + ': ' + exc + "\n\n" + CallStack.toString(exc.stack)); Waiter.put(() -> { - Alert.alert('Couldn\'t connect to the server after multiple tries!', '${urlFormat.domain + urlFormat.path}' + ': ' + exc + "\n\n" + CallStack.toString(exc.stack)); + Alert.alert('Couldn\'t connect to the server after multiple tries!', + '${urlFormat.domain + urlFormat.path}' + + ': ' + + ShitUtil.readableError(exc) + "\n\n" + CallStack.toString(exc.stack)); }); cancelRequested = true; break; @@ -257,7 +259,7 @@ class Downloader { gotContent += _bytesWritten; } catch (e:Dynamic) { - if (e is Eof || e == Error.Blocked) { + if (Std.string(e).toLowerCase() == "eof" || e == Error.Blocked) { // Eof and Blocked will be ignored continue; } @@ -274,7 +276,7 @@ class Downloader { gotContent += _bytesWritten; } catch (e:Dynamic) { - if (e is Eof || e == Error.Blocked) { + if (Std.string(e).toLowerCase() == "eof" || e == Error.Blocked) { // Eof and Blocked will be ignored continue; } diff --git a/source/online/mods/OnlineMods.hx b/source/online/mods/OnlineMods.hx index 905e5fe1..ff13d80c 100644 --- a/source/online/mods/OnlineMods.hx +++ b/source/online/mods/OnlineMods.hx @@ -60,7 +60,7 @@ class OnlineMods { Waiter.put(() -> { LoadingScreen.toggle(false); if (err != null) { - Alert.alert("Failed to download!", "For mod: " + url + "\n" + err); + Alert.alert("Failed to download!", "For mod: " + url + "\n" + ShitUtil.readableError(err)); return; } diff --git a/source/online/network/FunkinNetwork.hx b/source/online/network/FunkinNetwork.hx index 04bf9fb5..790be9f8 100644 --- a/source/online/network/FunkinNetwork.hx +++ b/source/online/network/FunkinNetwork.hx @@ -2,8 +2,6 @@ package online.network; import haxe.io.BytesOutput; import openfl.display.BitmapData; -import haxe.io.Error; -import haxe.io.Eof; import online.util.HTTPClient.HTTPResponse; import online.util.HTTPClient.HTTPRequest; import haxe.CallStack; @@ -20,6 +18,8 @@ class FunkinNetwork { public static var client:HTTPClient = null; public static var nickname(default, null):String = null; public static var points(default, null):Float = 0; + public static var avgAccuracy(default, null):Float = 0; + public static var profileHue(default, null):Float = 0; public static var loggedIn:Bool = false; public static function requestLogin(email:String, ?code:String) { @@ -88,8 +88,8 @@ class FunkinNetwork { var response = requestAPI({ path: "/api/network/account/me", - headers: ["authorization" => Auth.getAuthHeader()] - }); + headers: ["authorization" => Auth.getAuthHeader()], + }, false); if (response == null) return loggedIn = false; @@ -97,6 +97,8 @@ class FunkinNetwork { var json = Json.parse(response.body); nickname = json.name; points = json.points; + avgAccuracy = json.avgAccuracy; + profileHue = json.profileHue; return loggedIn = true; } @@ -171,7 +173,7 @@ class FunkinNetwork { public static function fetchFront():Dynamic { var response = requestAPI({ path: "/api/front" - }); + }, false); if (response == null) return null; @@ -226,7 +228,10 @@ class FunkinNetwork { } } - public static function fetchUserInfo(user:String):String { + public static function fetchUserInfo(user:String):Dynamic { + if (user == null) + return null; + var response = requestAPI({ path: "/api/network/user/info?name=" + user }); @@ -243,10 +248,10 @@ class FunkinNetwork { } } - public static var cacheAvatar:Map = []; + public static var cacheAvatar:Map = []; public static function getUserAvatar(user:String):BitmapData { if (cacheAvatar.exists(user)) - return cacheAvatar.get(user); + return BitmapData.fromBytes(cacheAvatar.get(user)); var output = new BytesOutput(); var avatarResponse = FunkinNetwork.requestAPI({ @@ -258,9 +263,9 @@ class FunkinNetwork { return null; try { - var bitmap = BitmapData.fromBytes(output.getBytes()); - cacheAvatar.set(user, bitmap); - return bitmap; + var bytes = output.getBytes(); + cacheAvatar.set(user, bytes); + return BitmapData.fromBytes(bytes); } catch (exc) { trace(exc); @@ -273,9 +278,9 @@ class FunkinNetwork { if (response.isFailed()) { if (response.exception != null) { - if (alertError && response.exception != "Eof" && response.exception != "EOF") + if (alertError) Waiter.put(() -> { - Alert.alert("Exception: " + request.path, response.exception + (response.exception.stack != null ? "\n\n" + CallStack.toString(response.exception.stack) : "")); + Alert.alert("Exception: " + request.path, ShitUtil.readableError(response.exception) + (response.exception.stack != null ? "\n\n" + CallStack.toString(response.exception.stack) : "")); }); } else if (response.status == 404) { @@ -283,7 +288,7 @@ class FunkinNetwork { } else if (alertError) { Waiter.put(() -> { - Alert.alert('HTTP Error ${response.status}: ' + request.path, response.body != null && response.body.ltrim().startsWith("{") ? Json.parse(response.body).error : response.body); + Alert.alert('HTTP Error ${ShitUtil.prettyStatus(response.status)}: ' + request.path, response.body != null && response.body.ltrim().startsWith("{") ? Json.parse(response.body).error : response.body); }); } return null; diff --git a/source/online/objects/AlphaLikeText.hx b/source/online/objects/AlphaLikeText.hx new file mode 100644 index 00000000..0415c113 --- /dev/null +++ b/source/online/objects/AlphaLikeText.hx @@ -0,0 +1,44 @@ +package online.objects; + +import flixel.math.FlxPoint; + +class AlphaLikeText extends FlxText implements Scrollable { + public var targetY:Int = 0; + public var distancePerItem:FlxPoint = new FlxPoint(20, 120); + public var startPosition:FlxPoint = new FlxPoint(0, 0); // for the calculations + public var isMenuItem:Bool = true; + public var scaleX(default, set):Float = 1; + + public function new(x:Float, y:Float, text:String = "") { + super(x, y); + + this.startPosition.x = x; + this.startPosition.y = y; + this.offset.x = 5; + this.text = " " + text + "\n "; //space because border cuts at the start and at the bottom + this.setFormat('Pixel Arial 11 Bold', 40, FlxColor.WHITE, LEFT); + this.setBorderStyle(OUTLINE, FlxColor.BLACK, 6); + } + + override function update(elapsed:Float) { + if (isMenuItem) { + var lerpVal:Float = FlxMath.bound(elapsed * 9.6, 0, 1); + x = FlxMath.lerp(x, (targetY * distancePerItem.x) + startPosition.x, lerpVal); + y = FlxMath.lerp(y, (targetY * 1.3 * distancePerItem.y) + startPosition.y, lerpVal); + } + super.update(elapsed); + } + + public function snapToPosition() + { + x = (targetY * distancePerItem.x) + startPosition.x; + y = (targetY * 1.3 * distancePerItem.y) + startPosition.y; + } + + private function set_scaleX(value:Float) { + if (value == scaleX) + return value; + + return scale.x = scaleX = value; + } +} \ No newline at end of file diff --git a/source/online/objects/ChatBox.hx b/source/online/objects/ChatBox.hx index 9636e80c..cd410121 100644 --- a/source/online/objects/ChatBox.hx +++ b/source/online/objects/ChatBox.hx @@ -1,5 +1,6 @@ package online.objects; +import online.util.ShitUtil; import online.substates.RequestSubstate; import flixel.math.FlxRect; import openfl.events.KeyboardEvent; @@ -36,19 +37,19 @@ class ChatBox extends FlxTypedSpriteGroup { var chatHeight:Float; var onCommand:(String, Array) -> Bool; - static var lastMessages:Array = []; + static var lastMessages:Array = []; var initMessage:String = "See /help for the list of commands!"; - public static function addMessage(message:String) { + public static function addMessage(raw:Dynamic) { if (instance == null) { - lastMessages.push(message); + lastMessages.push(raw); return; } instance.targetAlpha = 5; - var chat = new ChatMessage(instance.bg.width, message); + var chat = new ChatMessage(instance.bg.width, ShitUtil.parseLog(raw)); instance.chatGroup.insert(0, chat); if (instance.chatGroup.length >= 22) { @@ -254,22 +255,22 @@ class ChatBox extends FlxTypedSpriteGroup { class ChatMessage extends FlxText { public var link:String = null; - public function new(fieldWidth:Float = 0, message:String) { - super(0, 0, fieldWidth, message); - setFormat("VCR OSD Mono", 16, FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); + public function new(fieldWidth:Float = 0, msg:LogData) { + super(0, 0, fieldWidth, msg.content); + setFormat("VCR OSD Mono", 16, msg.hue != null ? FlxColor.fromHSL(msg.hue, 0.7, 0.7) : FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); - var _split = message.split(""); + var _split = msg.content.split(""); var i = -1; var str = ""; var formatBeg = null; var formatEnd = null; - while (++i < message.length) { + while (++i < msg.content.length) { if (this.link == null && str.startsWith("https://")) { if (_split[i].trim() == "") { this.link = str; formatEnd = i; } - else if (i == message.length - 1) { + else if (i == msg.content.length - 1) { this.link = str + _split[i].trim(); formatEnd = i + 1; } diff --git a/source/online/objects/InputText.hx b/source/online/objects/InputText.hx index b0eab36b..bbe303f1 100644 --- a/source/online/objects/InputText.hx +++ b/source/online/objects/InputText.hx @@ -1,5 +1,6 @@ package online.objects; +import online.gui.sidebar.SideUI; import flixel.addons.ui.FlxInputText; class InputText extends FlxInputText { @@ -10,7 +11,15 @@ class InputText extends FlxInputText { fieldBorderColor = FlxColor.TRANSPARENT; caretColor = FlxColor.WHITE; + var prevText:String = ''; callback = (text, action) -> { + if (SideUI.instance != null && SideUI.instance.active) { + this.text = prevText; + return; + } + + prevText = text; + if (action == FlxInputText.ENTER_ACTION) { hasFocus = false; //allow event to overwrite it onEnter(text); diff --git a/source/online/objects/ProfileBox.hx b/source/online/objects/ProfileBox.hx index 7d6e7098..26233c3a 100644 --- a/source/online/objects/ProfileBox.hx +++ b/source/online/objects/ProfileBox.hx @@ -1,48 +1,194 @@ package online.objects; -import online.net.FunkinNetwork; +import online.network.FunkinNetwork; import flixel.util.FlxSpriteUtil; +//slop class, i coded it really lazily class ProfileBox extends FlxSpriteGroup { - var data:Dynamic; + public var isSelf:Bool = false; + public var user:String; + public var verified:Bool = false; + public var cardHeight:Int; + public var autoCardHeight:Bool = true; + public var profileData:Dynamic; + + var bg:FlxSprite; var avatar:FlxSprite; public var text:FlxText; + public var desc:FlxText; + + public var autoUpdateThings:Bool = true; - public function new(user:String) { + public function new(leUser:String, leVerified:Bool, ?leCardHeight:Int = 100, ?sizeAdd:Int = 0) { super(); - data = FunkinNetwork.fetchUserInfo(user); - - var bg = new FlxSprite(); - FlxSpriteUtil.drawRoundRect(bg, 0, 0, 300, 200, 20, 20, FlxColor.fromHSL(data.profileHue ?? 250, 0.2, 0.2)); + bg = new FlxSprite(); + bg.alpha = 0.7; add(bg); - avatar = new FlxSprite(); + avatar = new FlxSprite(0, 0); + avatar.antialiasing = ClientPrefs.data.antialiasing; + avatar.visible = false; add(avatar); - text = new FlxText(0, 0, 0, "PLAYER 1"); - text.setFormat("VCR OSD Mono", 15, FlxColor.WHITE, CENTER, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); + text = new FlxText(0, 0, 0, ""); + text.setFormat("VCR OSD Mono", 16 + sizeAdd, FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); add(text); - updatePositions(); + desc = new FlxText(0, 0, 0, ""); + desc.setFormat("VCR OSD Mono", 14 + sizeAdd, FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); + add(desc); + + cardHeight = leCardHeight; + + updateData(leUser, leVerified); + } + + public function updateData(leUser:String, leVerified:Bool) { + user = leUser; + verified = leVerified; + + avatar.makeGraphic(0, 0, FlxColor.TRANSPARENT); + avatar.visible = false; + + profileData = null; + drawBG(); + if (autoUpdateThings) { + text.text = ""; + desc.text = ""; + } + + Thread.run(() -> { + isSelf = verified && user == FunkinNetwork.nickname; + + if (verified) + profileData = FunkinNetwork.fetchUserInfo(user); + else + profileData = null; + + if (!destroyed) + Waiter.put(creativo); + }); + } + + public function creativo() { + if (autoUpdateThings) { + text.text = ""; + desc.text = ""; + } + + if (verified) { + if (profileData != null) { + if (autoUpdateThings) { + if (isSelf) + text.text = "Welcome, " + user + "!"; + else + text.text = user; + desc.text = "Points: " + (profileData?.points ?? 0); + desc.text += "\nAvg. Accuracy: " + FlxMath.roundDecimal(((profileData?.avgAccuracy ?? 0) * 100), 2) + "%"; + } - Thread.run(() -> { - var avatarData = FunkinNetwork.getUserAvatar(user); + Thread.run(() -> { + var avatarData = FunkinNetwork.getUserAvatar(user); - Waiter.put(() -> { - if (!destroyed && avatarData != null) { - avatar.loadGraphic(avatarData); - avatar.width = 100; - avatar.height = 100; - updatePositions(); + Waiter.put(() -> { + if (!destroyed && avatarData != null) { + avatar.visible = true; + avatar.loadGraphic(avatarData); + fitAvatar(); + updatePositions(); + } + }); + }); + } + else { + if (autoUpdateThings) { + if (isSelf) { + text.text = "Not logged in!"; + desc.text = "(Click to register)"; + } + else + text.text = "User not found!"; + cardHeight = 50; } - }); - }); + } + } + + drawBG(); + } + + public function drawBG() { + var profileHue = profileData?.profileHue ?? 230; + + bg.makeGraphic(300, cardHeight, FlxColor.TRANSPARENT); + // later concept for detailed cards, fill a tall round rectangle with darker color and then draw the normal card + FlxSpriteUtil.drawRoundRect(bg, 0, 0, 300, cardHeight, 40, 40, FlxColor.fromHSL(profileHue, 0.25, 0.25)); + bg.updateHitbox(); + + fitAvatar(); + updatePositions(); } + public function fitAvatar() { + if (avatar == null || avatar.width < 1) + return; + + avatar.setGraphicSize(Math.min(cardHeight * 0.8, 80), Math.min(cardHeight * 0.8, 80)); + avatar.updateHitbox(); + updatePositions(); + } + + var maxTextSize:Float = 0.0; + var maxTextSizeDesc:Float = 0.0; + var _cardHeight:Int; public function updatePositions() { - + avatar.x = x + 20; + avatar.y = y + height / 2 - avatar.height / 2; + text.x = avatar.x + avatar.width + 20; + text.y = y + 15; + desc.x = text.x; + if (!avatar.visible) { + text.x = x + bg.width / 2 - text.width / 2; + desc.x = x + bg.width / 2 - desc.width / 2; + // text.y = y + bg.height / 2 - text.height / 2 - (desc.text.length > 0 ? (cardHeight >= 80 ? 20 : 10) : 0); + } + text.alignment = LEFT; + desc.y = text.y + text.height + 5; + if (desc.text.length < 1) { + if (!avatar.visible) + text.alignment = CENTER; + desc.y = text.y + text.height; + desc.height = 0; + } + + maxTextSize = bg.width - (text.x - x) - 20; + text.fieldWidth = maxTextSize; + //text.scale.x = Math.min(1, maxTextSizeDesc / text.width); + + maxTextSizeDesc = bg.width - (desc.x - x) - 20; + desc.fieldWidth = maxTextSizeDesc; + //desc.scale.x = Math.min(1, maxTextSizeDesc / desc.width); + + if (autoCardHeight) { + _cardHeight = Std.int(Math.max((desc.y - y) + desc.height, (avatar.y - y) + avatar.height) + 20); + if (cardHeight != _cardHeight) { + cardHeight = _cardHeight; + drawBG(); + } + } + } + + override function update(elapsed) { + super.update(elapsed); + + bg.alpha = FlxG.mouse.overlaps(this, camera) ? 1 : 0.8; + if (FlxG.mouse.overlaps(this, camera) && FlxG.mouse.justPressed) { + if (user != null) + RequestSubstate.requestURL(GameClient.addressToUrl() + "/user/" + StringTools.urlEncode(user), true); + else if (isSelf && !FunkinNetwork.loggedIn) + FlxG.switchState(() -> new OnlineOptionsState(true)); + } } var destroyed:Bool = false; diff --git a/source/online/replay/ReplayRecorder.hx b/source/online/replay/ReplayRecorder.hx index bd54efc1..b5087c79 100644 --- a/source/online/replay/ReplayRecorder.hx +++ b/source/online/replay/ReplayRecorder.hx @@ -40,7 +40,7 @@ class ReplayRecorder extends FlxBasic { ghost_tapping: true, rating_offset: null, safe_frames: null, - version: 1, + version: 2, mod_url: '' }; @@ -147,12 +147,12 @@ class ReplayRecorder extends FlxBasic { data.goods = state.songGoods; data.bads = state.songBads; data.shits = state.songShits; - data.points = FunkinPoints.calcFP(state.ratingPercent, state.songMisses, state.denseNotes, state.totalNotesHit, state.combo, state.playbackRate); + data.points = FunkinPoints.calcFP(state.ratingPercent, state.songMisses, state.denseNotes, state.totalNotesHit, state.combo); data.beat_time = Date.now().getTime(); data.note_offset = ClientPrefs.data.noteOffset; if (data.accuracy < 30) { - Alert.alert("GIT GUD", 'your performance was so shit that\nim not even going to save the replay for it'); + Alert.alert("git gud", 'your performance was SHIT'); return 0; } diff --git a/source/online/states/FindRoomState.hx b/source/online/states/FindRoomState.hx index 8bf08920..7d73fd02 100644 --- a/source/online/states/FindRoomState.hx +++ b/source/online/states/FindRoomState.hx @@ -114,7 +114,7 @@ class FindRoomState extends MusicBeatState { items.clear(); if (err != null) { - Alert.alert("Couldn't connect!", "ERROR: " + err.code + " - " + err.message + (GameClient.serverAddress.endsWith(".onrender.com") ? "\nTry again in a few minutes! The server is probably restarting!" : "")); + Alert.alert("Couldn't connect!", "ERROR: " + ShitUtil.prettyStatus(err.code) + " - " + err.message + (GameClient.serverAddress.endsWith(".onrender.com") ? "\nTry again in a few minutes! The server is probably restarting!" : "")); return; } diff --git a/source/online/states/OnlineOptionsState.hx b/source/online/states/OnlineOptionsState.hx index 024ae045..0b7e4d06 100644 --- a/source/online/states/OnlineOptionsState.hx +++ b/source/online/states/OnlineOptionsState.hx @@ -15,6 +15,14 @@ class OnlineOptionsState extends MusicBeatState { var camFollow:FlxObject; + var scrollToRegister:Bool = false; + + public function new(?scrollToRegister:Bool = false) { + super(); + + this.scrollToRegister = scrollToRegister; + } + override function create() { super.create(); @@ -34,6 +42,10 @@ class OnlineOptionsState extends MusicBeatState { var i = 0; + var section = new FlxText(0, 0, FlxG.width, "General"); + section.setFormat("VCR OSD Mono", 25, FlxColor.WHITE, CENTER, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); + add(section); + var nicknameOption:InputOption; items.add(nicknameOption = new InputOption("Nickname", "Set your nickname here!", ["Boyfriend"], (text, _) -> { curOption.inputs[0].text = curOption.inputs[0].text.trim().substr(0, 14); @@ -41,7 +53,7 @@ class OnlineOptionsState extends MusicBeatState { ClientPrefs.saveSettings(); })); nicknameOption.inputs[0].text = ClientPrefs.getNickname(); - nicknameOption.y = 50; + nicknameOption.y = 100; nicknameOption.screenCenter(X); nicknameOption.ID = i++; @@ -56,6 +68,10 @@ class OnlineOptionsState extends MusicBeatState { } items.add(serverOption = new InputOption("Server Address", "Set to empty if you want to use the default server\nLocal Address: 'localhost'" + appendText, [GameClient.serverAddresses[0]], (text, _) -> { curOption.inputs[0].text = curOption.inputs[0].text.trim(); + + if (curOption.inputs[0].text == "2567" || curOption.inputs[0].text == "0" || curOption.inputs[0].text == "local") { + curOption.inputs[0].text = "localhost"; + } if (curOption.inputs[0].text.length > 0 && !(curOption.inputs[0].text.startsWith('wss://') || curOption.inputs[0].text.startsWith('ws://'))) curOption.inputs[0].text = 'ws://' + curOption.inputs[0].text; @@ -114,17 +130,11 @@ class OnlineOptionsState extends MusicBeatState { trustedOption.screenCenter(X); trustedOption.ID = i++; - var sezOption:InputOption; - items.add(sezOption = new InputOption("Leave a Global Message", - "Leave a message for others to see in the Online Menu!", ["Message"], (message, _) -> { - if (FunkinNetwork.postFrontMessage(message)) - FlxG.switchState(() -> new OnlineState()); - })); - sezOption.y = trustedOption.y + trustedOption.height + 50; - sezOption.screenCenter(X); - sezOption.ID = i++; - if (Auth.authID == null && Auth.authToken == null) { + var section = new FlxText(0, trustedOption.y + trustedOption.height + 100, FlxG.width, "Account"); + section.setFormat("VCR OSD Mono", 25, FlxColor.WHITE, CENTER, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); + add(section); + // var registerOption:InputOption; // items.add(registerOption = new InputOption("Join the Network", // "Join the Psych Online Network\nSubmit your song replays to the leaderboard system!", null, false)); @@ -166,9 +176,12 @@ class OnlineOptionsState extends MusicBeatState { })); } })); - registerOption.y = sezOption.y + sezOption.height + 50; + registerOption.y = section.y + 100; registerOption.screenCenter(X); registerOption.ID = i++; + if (scrollToRegister) { + curSelected = registerOption.ID; + } var loginOption:InputOption; items.add(loginOption = new InputOption("Login to the Network", @@ -187,15 +200,35 @@ class OnlineOptionsState extends MusicBeatState { loginOption.ID = i++; } else { + var sezOption:InputOption; + items.add(sezOption = new InputOption("Leave a Global Message", "Leave a message for others to see in the Online Menu!", ["Message"], + (message, _) -> { + if (FunkinNetwork.postFrontMessage(message)) + FlxG.switchState(() -> new OnlineState()); + })); + sezOption.y = trustedOption.y + trustedOption.height + 50; + sezOption.screenCenter(X); + sezOption.ID = i++; + + var sidebarOption:InputOption; + items.add(sidebarOption = new InputOption("Open Sidebar", "Open the Network Sidebar, if you aren't able to.\n(Press ` (Tilde) to open it at any time!)")); + sidebarOption.y = sezOption.y + sezOption.height + 50; + sidebarOption.screenCenter(X); + sidebarOption.ID = i++; + + var section = new FlxText(0, sidebarOption.y + sidebarOption.height + 100, FlxG.width, "Account"); + section.setFormat("VCR OSD Mono", 25, FlxColor.WHITE, CENTER, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); + add(section); + var loginBrowserOption:InputOption; - items.add(loginBrowserOption = new InputOption("Login to Browser", "Authenticates you to the network your default web browser")); - loginBrowserOption.y = sezOption.y + sezOption.height + 50; + items.add(loginBrowserOption = new InputOption("Login to Browser", "Authenticates you to the network in your default web browser")); + loginBrowserOption.y = section.y + 100; loginBrowserOption.screenCenter(X); loginBrowserOption.ID = i++; var emailOption:InputOption; - items.add(emailOption = new InputOption("Set Email Address", - "Use the following format:\n from ", ["me@example.org"], (mail, _) -> { + items.add(emailOption = new InputOption("Change Email Address", + "Use the following format:\n from ", ["new@example.org from old@example.org"], (mail, _) -> { if (FunkinNetwork.setEmail(mail)) { openSubState(new VerifyCodeSubstate(code -> { if (FunkinNetwork.setEmail(mail, code)) { @@ -219,6 +252,9 @@ class OnlineOptionsState extends MusicBeatState { logoutOption.y = deleteOption.y + deleteOption.height + 50; logoutOption.screenCenter(X); logoutOption.ID = i++; + if (scrollToRegister) { + curSelected = logoutOption.ID; + } } add(items); @@ -280,13 +316,15 @@ class OnlineOptionsState extends MusicBeatState { ClientPrefs.saveSettings(); Alert.alert("Cleared the trusted domains list!", ""); case "delete network account": - if (FunkinNetwork.deleteAccount()) { - openSubState(new VerifyCodeSubstate(code -> { - if (FunkinNetwork.deleteAccount()) { - Alert.alert("Account Deleted"); - } - })); - } + RequestSubstate.request('Are you sure you want to delete your account?\n(This action is irreversible!)', '', _ -> { + if (FunkinNetwork.deleteAccount()) { + openSubState(new VerifyCodeSubstate(code -> { + if (FunkinNetwork.deleteAccount()) { + Alert.alert("Account Deleted"); + } + })); + } + }, null, true); case "logout of the network": RequestSubstate.request('Are you sure you want to logout?', '', _ -> { FunkinNetwork.logout(); @@ -294,6 +332,8 @@ class OnlineOptionsState extends MusicBeatState { }, null, true); case "login to browser": FlxG.openURL(FunkinNetwork.client.getURL("/api/network/account/cookie?id=" + Auth.authID + "&token=" + Auth.authToken)); + case "open sidebar": + online.gui.sidebar.SideUI.instance.active = true; } } } diff --git a/source/online/states/OnlineState.hx b/source/online/states/OnlineState.hx index 48f18f56..9d5feec6 100644 --- a/source/online/states/OnlineState.hx +++ b/source/online/states/OnlineState.hx @@ -25,8 +25,8 @@ class OnlineState extends MusicBeatState { "MOD DOWNLOADER" ]; - var networkPlayer:FlxText; - var networkBg:FlxSprite; + // var networkPlayer:FlxText; + // var networkBg:FlxSprite; var itemDesc:FlxText; var playersOnline:FlxText; @@ -185,32 +185,37 @@ class OnlineState extends MusicBeatState { availableRooms.screenCenter(X); add(availableRooms); - networkBg = new FlxSprite(20, 20); - networkBg.makeGraphic(1, 1, FlxColor.BLACK); - networkBg.alpha = 0.6; - add(networkBg); - - networkPlayer = new FlxText(30, 30); - networkPlayer.setFormat("VCR OSD Mono", 16, FlxColor.WHITE, CENTER, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); - networkPlayer.alpha = 0.5; - networkPlayer.text = FunkinNetwork.loggedIn ? "Logged in as " + FunkinNetwork.nickname : "Not logged in"; - if (FunkinNetwork.loggedIn) { - networkPlayer.text += "\nPoints:" + FunkinNetwork.points; - } - add(networkPlayer); + // networkBg = new FlxSprite(20, 20); + // networkBg.makeGraphic(1, 1, FlxColor.BLACK); + // networkBg.alpha = 0.6; + // add(networkBg); + + // networkPlayer = new FlxText(30, 30); + // networkPlayer.setFormat("VCR OSD Mono", 16, FlxColor.WHITE, CENTER, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); + // networkPlayer.alpha = 0.5; + // networkPlayer.text = FunkinNetwork.loggedIn ? "Logged in as " + FunkinNetwork.nickname : "Not logged in"; + // if (FunkinNetwork.loggedIn) { + // networkPlayer.text += "\nPoints:" + FunkinNetwork.points; + // } + // add(networkPlayer); - networkBg.scale.set(networkPlayer.width + 20, networkPlayer.height + 20); - networkBg.updateHitbox(); + // networkBg.scale.set(networkPlayer.width + 20, networkPlayer.height + 20); + // networkBg.updateHitbox(); - // slide to the right - networkBg.x = FlxG.width - networkBg.width - 20; - networkPlayer.x = networkBg.x + 10; + // // slide to the right + // networkBg.x = FlxG.width - networkBg.width - 20; + // networkPlayer.x = networkBg.x + 10; var frontMessage = new FlxText(0, 0, 500); frontMessage.setFormat("VCR OSD Mono", 16, FlxColor.WHITE, RIGHT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); frontMessage.alpha = 0.5; frontMessage.x = FlxG.width - frontMessage.fieldWidth - 50; add(frontMessage); + + FunkinNetwork.ping(); + var profileBox = new ProfileBox(FunkinNetwork.nickname, true); + profileBox.setPosition(FlxG.width - profileBox.width - 20, 20); + add(profileBox); changeSelection(0); @@ -219,8 +224,9 @@ class OnlineState extends MusicBeatState { Waiter.put(() -> { if (data == null) { playersOnline.text = "NETWORK OFFLINE"; - networkPlayer.visible = false; - networkBg.visible = false; + profileBox.visible = false; + // networkPlayer.visible = false; + // networkBg.visible = false; } else { playersOnline.text = 'Players Online: ' + data.online; diff --git a/source/online/states/ResultsState.hx b/source/online/states/ResultsState.hx index c5560ab7..d699acc9 100644 --- a/source/online/states/ResultsState.hx +++ b/source/online/states/ResultsState.hx @@ -3,11 +3,9 @@ package online.states; import flixel.util.FlxStringUtil; import backend.WeekData; import lumod.Lumod; -import flixel.util.FlxSpriteUtil; import flixel.effects.FlxFlicker; import sys.FileSystem; import objects.Character; -import online.backend.schema.Player; @:build(lumod.LuaScriptClass.build()) class ResultsState extends MusicBeatState { @@ -90,10 +88,21 @@ class ResultsState extends MusicBeatState { p2.y = p2.positionArray[1] - 50; add(p2); - p1.dance(); - p1.animation.finish(); - p2.dance(); - p2.animation.finish(); + if (p1.animExists('resultsIdle')) { + p1.playAnim('resultsIdle'); + } + else { + p1.dance(); + p1.animation.finish(); + } + + if (p2.animExists('resultsIdle')) { + p2.playAnim('resultsIdle'); + } + else { + p2.dance(); + p2.animation.finish(); + } var p1Bg = new FlxSprite(); p1Bg.makeGraphic(1, 1, FlxColor.BLACK); @@ -250,8 +259,33 @@ class ResultsState extends MusicBeatState { new FlxTimer().start(2, (t) -> { - winnerPlayer.playAnim("hey"); - loserPlayer.playAnim("hurt"); + if (winnerPlayer.animExists('win')) { + winnerPlayer.playAnim("win"); + + if (winnerPlayer.animExists('winLoop')) { + winnerPlayer.animation.finishCallback = n -> { + winnerPlayer.animation.finishCallback = null; + winnerPlayer.playAnim("winLoop"); + }; + } + } + else { + winnerPlayer.playAnim("hey"); + } + + if (loserPlayer.animExists('lose')) { + loserPlayer.playAnim("lose"); + + if (loserPlayer.animExists('loseLoop')) { + loserPlayer.animation.finishCallback = n -> { + loserPlayer.animation.finishCallback = null; + loserPlayer.playAnim("loseLoop"); + }; + } + } + else { + loserPlayer.playAnim("hurt"); + } FlxTween.tween(p1Text, {alpha: 1}, 1, {ease: FlxEase.quartInOut, startDelay: 1}); FlxTween.tween(p2Text, {alpha: 1}, 1, {ease: FlxEase.quartInOut, startDelay: 1}); diff --git a/source/online/states/RoomState.hx b/source/online/states/RoomState.hx index 16797fb7..60beb473 100644 --- a/source/online/states/RoomState.hx +++ b/source/online/states/RoomState.hx @@ -25,10 +25,13 @@ import openfl.utils.Assets as OpenFlAssets; @:publicFields class RoomState extends MusicBeatState { //this shit is messy - var player1Text:FlxText; - var player1Bg:FlxSprite; - var player2Text:FlxText; - var player2Bg:FlxSprite; + // var player1Text:FlxText; + // var player1Bg:FlxSprite; + // var player2Text:FlxText; + // var player2Bg:FlxSprite; + var playerBox1:ProfileBox; + var playerBox2:ProfileBox; + var isDuo:Bool = false; var verifyMod:FlxText; var verifyModBg:FlxSprite; @@ -227,27 +230,26 @@ class RoomState extends MusicBeatState { } else { Paths.setCurrentLevel("week3"); - stage = new Philly(); - untyped @:privateAccess { - stage.phillyTrain.sound.volume = 0; + var pStage = new Philly(); + stage = pStage; + pStage.phillyTrain.sound.volume = 0; - if (!ClientPrefs.data.lowQuality) { - stage.bg.setGraphicSize(Std.int(stage.bg.width * 1)); - stage.bg.updateHitbox(); + if (!ClientPrefs.data.lowQuality) { + pStage.bg.setGraphicSize(Std.int(pStage.bg.width * 1)); + pStage.bg.updateHitbox(); - stage.bg.x -= 80; - stage.bg.y -= 50; - } - stage.city.setGraphicSize(Std.int(stage.city.width * 1.1)); - stage.city.updateHitbox(); - stage.phillyWindow.setGraphicSize(Std.int(stage.phillyWindow.width * 1.1)); - stage.phillyWindow.updateHitbox(); - - stage.city.x -= 80; - stage.phillyWindow.x -= 80; - stage.city.y -= 20; - stage.phillyWindow.y -= 20; + pStage.bg.x -= 80; + pStage.bg.y -= 50; } + pStage.city.setGraphicSize(Std.int(pStage.city.width * 1.1)); + pStage.city.updateHitbox(); + pStage.phillyWindow.setGraphicSize(Std.int(pStage.phillyWindow.width * 1.1)); + pStage.phillyWindow.updateHitbox(); + + pStage.city.x -= 80; + pStage.phillyWindow.x -= 80; + pStage.city.y -= 20; + pStage.phillyWindow.y -= 20; } stage.cameras = [cum]; @@ -264,25 +266,39 @@ class RoomState extends MusicBeatState { // POST STAGE - player1Text = new FlxText(0, 100, 0, "PLAYER 1"); - player1Text.setFormat("VCR OSD Mono", 25, FlxColor.WHITE, CENTER, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); - - player1Bg = new FlxSprite(-1000); - player1Bg.makeGraphic(1, 1, 0xA4000000); - player1Bg.updateHitbox(); - player1Bg.y = player1Text.y - 30; - groupHUD.add(player1Bg); - groupHUD.add(player1Text); - - player2Text = new FlxText(0, 100, 0, "PLAYER 2"); - player2Text.setFormat("VCR OSD Mono", 25, FlxColor.WHITE, CENTER, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); - - player2Bg = new FlxSprite(-1000); - player2Bg.makeGraphic(1, 1, 0xA4000000); - player2Bg.updateHitbox(); - player2Bg.y = player2Text.y - 30; - groupHUD.add(player2Bg); - groupHUD.add(player2Text); + // player1Text = new FlxText(0, 100, 0, "PLAYER 1"); + // player1Text.setFormat("VCR OSD Mono", 25, FlxColor.WHITE, CENTER, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); + + // player1Bg = new FlxSprite(-1000); + // player1Bg.makeGraphic(1, 1, 0xA4000000); + // player1Bg.updateHitbox(); + // player1Bg.y = player1Text.y - 30; + // groupHUD.add(player1Bg); + // groupHUD.add(player1Text); + + // player2Text = new FlxText(0, 100, 0, "PLAYER 2"); + // player2Text.setFormat("VCR OSD Mono", 25, FlxColor.WHITE, CENTER, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); + + // player2Bg = new FlxSprite(-1000); + // player2Bg.makeGraphic(1, 1, 0xA4000000); + // player2Bg.updateHitbox(); + // player2Bg.y = player2Text.y - 30; + // groupHUD.add(player2Bg); + // groupHUD.add(player2Text); + + for (i in 1...3) { + var box = new ProfileBox(null, false, 50, 2); + if (i == 1) + playerBox1 = box; + else + playerBox2 = box; + box.autoUpdateThings = false; + box.autoCardHeight = true; + box.text.text = "PLAYER" + i; + box.setPosition(0, 70); + box.camera = camHUD; + groupHUD.add(box); + } chatBox = new ChatBox(camHUD, (cmd, args) -> { switch (cmd) { @@ -548,18 +564,14 @@ class RoomState extends MusicBeatState { var rightSide:Character; var leftSide:Character; - var rightSideText:FlxText; - var leftSideText:FlxText; - var rightSideTextBG:FlxSprite; - var leftSideTextBG:FlxSprite; + var rightSideBox:ProfileBox; + var leftSideBox:ProfileBox; function positionCharacters() { rightSide = GameClient.room.state.swagSides ? p1 : p2; leftSide = GameClient.room.state.swagSides ? p2 : p1; - rightSideText = GameClient.room.state.swagSides ? player1Text : player2Text; - leftSideText = GameClient.room.state.swagSides ? player2Text : player1Text; - rightSideTextBG = GameClient.room.state.swagSides ? player1Bg : player2Bg; - leftSideTextBG = GameClient.room.state.swagSides ? player2Bg : player1Bg; + rightSideBox = GameClient.room.state.swagSides ? playerBox1 : playerBox2; + leftSideBox = GameClient.room.state.swagSides ? playerBox2 : playerBox1; if (rightSide != null) { rightSide.x = 600 + rightSide.positionArray[0]; @@ -571,14 +583,12 @@ class RoomState extends MusicBeatState { leftSide.y = 120 + leftSide.positionArray[1]; } - if (leftSideText != null) { - leftSideText.x = 250 - leftSideText.width / 2; - leftSideTextBG.x = 250 - leftSideTextBG.width / 2; + if (leftSideBox != null) { + leftSideBox.x = 250 - leftSideBox.width / 2; } - if (rightSideText != null) { - rightSideText.x = 700 - rightSideText.width / 2; - rightSideTextBG.x = 700 - rightSideTextBG.width / 2; + if (rightSideBox != null) { + rightSideBox.x = 700 - leftSideBox.width / 2; } } @@ -776,7 +786,7 @@ class RoomState extends MusicBeatState { GameClient.send("verifyChart", Md5.encode(Song.loadRawSong(GameClient.room.state.song, GameClient.room.state.folder))); } catch (exc) { - Alert.alert("Caught an exception!", exc.toString()); + Alert.alert("Caught an exception!", ShitUtil.readableError(exc)); if (optionShake != null) optionShake.cancel(); optionShake = FlxTween.shake(playIcon, 0.05, 0.3, FlxAxes.X); @@ -980,25 +990,28 @@ class RoomState extends MusicBeatState { songNameBg.updateHitbox(); songNameBg.x = songName.x; - setPlayerText(player1Text, GameClient.room.state.player1, waitingForPlayer1Skin); + setPlayerText(playerBox1, GameClient.room.state.player1, waitingForPlayer1Skin); if (GameClient.room.state.player2 != null && GameClient.room.state.player2.name != "") { - player2Text.alpha = 1; p2.colorTransform.redOffset = 0; p2.colorTransform.greenOffset = 0; p2.colorTransform.blueOffset = 0; - p2.alpha = 1; dlSkinTxt.visible = waitingForPlayer2Skin; if (waitingForPlayer2Skin) dlSkinTxt.setPosition(p2.x + p2.width / 2 - dlSkinTxt.width / 2, p2.y + p2.height / 2 - dlSkinTxt.height / 2); - setPlayerText(player2Text, GameClient.room.state.player2, waitingForPlayer2Skin); + setPlayerText(playerBox2, GameClient.room.state.player2, waitingForPlayer2Skin); } else { if (p2.curCharacter != "default-player") loadCharacter(false); - player2Text.clearFormats(); - player2Text.text = "WAITING FOR\nOPPONENT"; - player2Text.alpha = 0.8; + playerBox2.text.clearFormats(); + playerBox2.text.text = "WAITING FOR\nOPPONENT"; + playerBox2.desc.text = ""; + if (playerBox2 != null && playerBox2.user != null) { + playerBox2.cardHeight = 50; + playerBox2.updateData(null, false); + } + playerBox2.updatePositions(); p2.colorTransform.redOffset = -255; p2.colorTransform.greenOffset = -255; p2.colorTransform.blueOffset = -255; @@ -1025,12 +1038,6 @@ class RoomState extends MusicBeatState { p2.alpha = 0.5; } - player1Bg.scale.set(FlxMath.bound(player1Text.width, 300), player1Text.height + 60); - player1Bg.updateHitbox(); - - player2Bg.scale.set(FlxMath.bound(player2Text.width, 300), player2Text.height + 60); - player2Bg.updateHitbox(); - positionCharacters(); switch (curSelected) { @@ -1061,7 +1068,7 @@ class RoomState extends MusicBeatState { var yellowMarker:FlxTextFormatMarkerPair; var pingMarker:FlxTextFormatMarkerPair; - function setPlayerText(text:FlxText, player:Player, noSkin:Bool) { + function setPlayerText(box:ProfileBox, player:Player, noSkin:Bool) { if (yellowMarker == null) yellowMarker = new FlxTextFormatMarkerPair(new FlxTextFormat(FlxColor.YELLOW), ""); if (pingMarker == null) @@ -1072,15 +1079,24 @@ class RoomState extends MusicBeatState { yellowMarker = new FlxTextFormatMarkerPair(new FlxTextFormat(FlxColor.YELLOW), ""); - text.applyMarkup( - (player.verified ? '${player.name}' : player.name) + "\n\n" + - "Statistics\n" + + if (box.user != player.name) { + box.updateData(player.name, player.verified); + } + + box.text.applyMarkup( + (player.verified ? '${player.name}' : player.name) + , [yellowMarker]); + + box.desc.applyMarkup( "Points: " + player.points + "\n" + + (player.verified && box.profileData != null ? "Avg. Accuracy: " + FlxMath.roundDecimal(((box.profileData?.avgAccuracy ?? 0) * 100), 2) + "%\n" : "") + "Ping:

" + player.ping + "ms

\n\n" + player.status + "\n" + (!player.isReady ? "NOT " : "") + "READY" + (noSkin ? "\n(Unloaded Skin)" : "") - , [yellowMarker, pingMarker]); + , [pingMarker]); + + box.updatePositions(); } function changeSelection(diffe:Int) { diff --git a/source/online/states/SkinsState.hx b/source/online/states/SkinsState.hx index f66be23e..8c301981 100644 --- a/source/online/states/SkinsState.hx +++ b/source/online/states/SkinsState.hx @@ -56,6 +56,7 @@ class SkinsState extends MusicBeatState { var stageCrowd:FlxAnimate; var stageSpeakers:FlxAnimate; + var defaultGirlfriend:FlxAnimate; var camFollow:FlxObject; // static var introPlayed:Bool = false; @@ -187,6 +188,14 @@ class SkinsState extends MusicBeatState { stageSpeakers.anim.play('beat'); stageSpeakers.scrollFactor.set(0.95, 0.95); add(stageSpeakers); + + defaultGirlfriend = new FlxAnimate(-80, 440); + Paths.loadAnimateAtlas(defaultGirlfriend, 'charSelect/gfChill'); + defaultGirlfriend.antialiasing = ClientPrefs.data.antialiasing; + defaultGirlfriend.anim.addBySymbol('beat', 'GIRLFRIEND CS', 24, true); + defaultGirlfriend.anim.play('beat'); + defaultGirlfriend.scrollFactor.set(0.95, 0.95); + add(defaultGirlfriend); } var i = 0; diff --git a/source/online/util/FileUtils.hx b/source/online/util/FileUtils.hx index e67409f0..597c0680 100644 --- a/source/online/util/FileUtils.hx +++ b/source/online/util/FileUtils.hx @@ -86,4 +86,8 @@ class FileUtils { } return filtered; } + + public static function joinNativePath(paths:Array):String { + return Path.join(paths).replace('/', #if windows '\\' #else '/' #end); + } } \ No newline at end of file diff --git a/source/online/util/HTTPClient.hx b/source/online/util/HTTPClient.hx index e3a009ca..f450e117 100644 --- a/source/online/util/HTTPClient.hx +++ b/source/online/util/HTTPClient.hx @@ -1,7 +1,7 @@ package online.util; import haxe.io.Error; -import haxe.io.Eof; +// import haxe.io.Eof; avoid using that, unreliable import haxe.io.Bytes; import haxe.io.Output; import sys.net.Host; @@ -15,6 +15,7 @@ class HTTPClient { public var hostname(default, null):String; public var port(default, null):Int = 80; public var ssl(default, null):Bool = false; + //requests:Array public function request(request:HTTPRequest):HTTPResponse { var response:HTTPResponse = new HTTPResponse(); @@ -36,11 +37,48 @@ class HTTPClient { socket = ssl ? new sys.ssl.Socket() : new Socket(); socket.setTimeout(5); socket.setBlocking(true); - socket.connect(new Host(hostname), port); - socket.write('${request.post ? "POST" : "GET"} ${request.path} HTTP/1.1${header}\r\n\r\n${request.body != null ? request.body : ""}'); + while (true) { + try { + socket.connect(new Host(hostname), port); + break; + } + catch (e:Dynamic) { + if (e == Error.Blocked) { + // Blocked will be ignored + continue; + } + throw e; + } + } + //another one + while (true) { + try { + socket.write('${request.post ? "POST" : "GET"} ${request.path} HTTP/1.1${header}\r\n\r\n${request.body != null ? request.body : ""}'); + break; + } + catch (e:Dynamic) { + if (e == Error.Blocked) { + // Blocked will be ignored + continue; + } + throw e; + } + } //read response status - var status:Array = socket.input.readLine().split(" "); + var status:Array = null; + while (status == null) { + try { + status = socket.input.readLine().split(" "); + } + catch (e:Dynamic) { + if (e == Error.Blocked) { + // Blocked will be ignored + continue; + } + throw e; + } + } status.shift(); response.status = Std.parseInt(status.shift()); response.body = status.join(" "); @@ -48,11 +86,24 @@ class HTTPClient { //read response headers response.headers = new Map(); while (true) { - var readLine:String = socket.input.readLine(); - if (readLine.trim() == "") - break; - var splitHeader = readLine.split(": "); - response.headers.set(splitHeader[0].toLowerCase(), splitHeader[1]); + try { + var readLine:String = socket.input.readLine(); + if (readLine.trim() == "") + break; + var splitHeader = readLine.split(": "); + response.headers.set(splitHeader[0].toLowerCase(), splitHeader[1]); + } + catch (e:Dynamic) { + if (e == Error.Blocked) { + // Blocked will be ignored + continue; + } + if (isEOF(e)) { + // End of Request (early?) (previous ones will catch eof because http status header is required for http servers) + break; + } + throw e; + } } //forward to another location if it's specified @@ -83,6 +134,10 @@ class HTTPClient { continue; } request.bodyOutput.close(); + if (isEOF(e)) { + // End of Request + break; + } throw e; } } @@ -100,6 +155,10 @@ class HTTPClient { // Blocked will be ignored continue; } + if (isEOF(e)) { + // End of Request + break; + } throw e; } } @@ -118,6 +177,10 @@ class HTTPClient { // Blocked will be ignored continue; } + if (isEOF(e)) { + // End of Request + break; + } throw e; } } @@ -135,6 +198,10 @@ class HTTPClient { // Blocked will be ignored continue; } + if (isEOF(e)) { + // End of Request + break; + } throw e; } } @@ -142,8 +209,11 @@ class HTTPClient { } } catch (exc) { - if (!(exc is Eof)) - response.exception = exc; + if (exc != null) { + trace(request); + trace(ShitUtil.prettyError(exc)); + } + response.exception = exc; } return response; @@ -213,6 +283,10 @@ class HTTPClient { path = "/" + path; return (ssl ? "https://" : "http://") + hostname + (port != 80 && port != 443 ? ":" + port : "") + path; } + + public static inline function isEOF(exc:Dynamic) { + return Std.string(exc).toLowerCase() == "eof"; + } } typedef HTTPURLRequest = { diff --git a/source/online/util/ShitUtil.hx b/source/online/util/ShitUtil.hx new file mode 100644 index 00000000..5a0ecea7 --- /dev/null +++ b/source/online/util/ShitUtil.hx @@ -0,0 +1,220 @@ +package online.util; + +import haxe.Json; +import haxe.CallStack; + +@:publicFields +class ShitUtil { + static function parseLog(msg:Dynamic):LogData { + try { + if (msg is String) + return cast(Json.parse(msg)); + return cast(msg); + } + catch (e) { + return { + content: msg, + hue: null + } + } + } + + static function readableError(exc:Dynamic) { + var str = Std.string(exc); + switch (str.toLowerCase()) { + case 'eof': + str += " (Server Refused to Respond)"; + } + return str; + } + + static function prettyError(exc:Dynamic) { + return '${Std.string(exc)} (${exc != null ? Type.getClassName(Type.getClass(exc)) : 'NULL CLASS'})\n' + (exc?.stack != null ? CallStack.toString(exc.stack) : "(NO CALLSTACK)") + "\n"; + } + + static function prettyStatus(status:Dynamic) { + var str = Std.string(status); + switch (Std.parseInt(str)) { + // informational (1XX) + case 100: + str += " (Continue)"; + case 101: + str += " (Switching Protocols)"; + case 102: + str += " (Processing)"; + case 103: + str += " (Early Hints)"; + //successful (2XX) + case 200: + str += " (OK)"; + case 201: + str += " (Created)"; + case 202: + str += " (Accepted)"; + case 203: + str += " (Non-Authoritative Information)"; + case 204: + str += " (No Content)"; + case 205: + str += " (Reset Content)"; + case 206: + str += " (Partial Content)"; + case 207: + str += " (Multi-Status)"; + case 208: + str += " (Already Reported)"; + case 226: + str += " (IM Used)"; + // redirect (3XX) + case 300: + str += " (Multiple Choices)"; + case 301: + str += " (Moved Permanently)"; + case 302: + str += " (Found)"; + case 303: + str += " (See Other)"; + case 304: + str += " (Not Modified)"; + case 305: + str += " (Use Proxy)"; + case 306: + str += " (Switch Proxy)"; + case 307: + str += " (Temporary Redirect)"; + case 308: + str += " (Permanent Redirect)"; + // bad request (4XX) + case 400: + str += " (Bad Request)"; + case 401: + str += " (Unauthorized)"; + case 402: + str += " (Payment Required)"; + case 403: + str += " (Forbidden)"; + case 404: + str += " (Not Found)"; + case 405: + str += " (Method Not Allowed)"; + case 406: + str += " (Not Acceptable)"; + case 407: + str += " (Proxy Authentication Required)"; + case 408: + str += " (Request Timeout)"; + case 409: + str += " (Conflict)"; + case 410: + str += " (Gone)"; + case 411: + str += " (Length Required)"; + case 412: + str += " (Precondition Failed)"; + case 413: + str += " (Content Too Large)"; + case 414: + str += " (URI Too Long)"; + case 415: + str += " (Unsupported Media Type)"; + case 416: + str += " (Range Not Satisfiable)"; + case 417: + str += " (Expectation Failed)"; + case 418: + str += " (I'm a teapot)"; + case 421: + str += " (Misdirected Request)"; + case 422: + str += " (Unprocessable Content)"; + case 423: + str += " (Locked)"; + case 424: + str += " (Failed Dependency)"; + case 425: + str += " (Too Early)"; + case 426: + str += " (Upgrade Required)"; + case 428: + str += " (Precondition Required)"; + case 429: + str += " (Too Many Requests)"; + case 431: + str += " (Request Header Fields Too Large)"; + case 451: + str += " (Unavailable For Legal Reasons)"; + // server error (5XX) + case 500: + str += " (Internal Server Error)"; + case 501: + str += " (Not Implemented)"; + case 502: + str += " (Bad Gateway)"; + case 503: + str += " (Service Unavailable)"; + case 504: + str += " (Gateway Timeout)"; + case 505: + str += " (HTTP Version Not Supported)"; + case 506: + str += " (Variant Also Negotiates)"; + case 507: + str += " (Insufficient Storage)"; + case 508: + str += " (Loop Detected)"; + case 510: + str += " (Not Extended)"; + case 511: + str += " (Network Authentication Required)"; + // websockets + case 1000: + str += " (WebSocket Closed)"; + case 1001: + str += " (WebSocket Lost)"; + // colyseus + case 4000: + str += " (Consented Leave)"; + case 4002: + str += " (WebSocket Close Crash)"; + case 4010: + str += " (Server Restarted)"; + case 4201: + str += " (Server Disconnected)"; + case 4202: + str += " (Too Many Clients)"; + case 4210: + str += " (Unrecognized Room Handler)"; + case 4211: + str += " (No Available Rooms for Criteria)"; + case 4212: + str += " (Room Not Found)"; + case 4213: + str += " (Room Connection Failure)"; + case 4214: + str += " (Reconnection Timeout)"; + case 4215: + str += " (Authentication Failure)"; + case 4216: + str += " (Application Error)"; + case 4217: + str += " (Unknown Message Type)"; + // psych online + case 5000: + str += " (Too Short Username)"; + case 5001: + str += " (Too Long Username)"; + case 5002: + str += " (IP Limit)"; + case 5003: + str += " (Server/Client Protocol Mismatch)"; + case 5004: + str += " (Illegal Username Characters)"; + } + return str; + } +} + +typedef LogData = { + var content:String; + var hue:Null; +} \ No newline at end of file diff --git a/source/online/util/URLScraper.hx b/source/online/util/URLScraper.hx index 8ca0637c..b197de0f 100644 --- a/source/online/util/URLScraper.hx +++ b/source/online/util/URLScraper.hx @@ -14,7 +14,7 @@ class URLScraper { if (response.isFailed()) { Waiter.put(() -> { - Alert.alert("Download failed!", "Couldn't connect to MediaFire!\n" + 'Status: ${response.status}\n${response.body}'); + Alert.alert("Download failed!", "Couldn't connect to MediaFire!\n" + 'Status: ${ShitUtil.prettyStatus(response.status)}\n${response.body}'); }); return; } diff --git a/source/options/GameplaySettingsSubState.hx b/source/options/GameplaySettingsSubState.hx index c7abe6d8..f9db0ad4 100644 --- a/source/options/GameplaySettingsSubState.hx +++ b/source/options/GameplaySettingsSubState.hx @@ -4,7 +4,7 @@ class GameplaySettingsSubState extends BaseOptionsMenu { public function new() { - title = 'Gameplay Settings'; + title = 'Gameplay'; rpcTitle = 'Gameplay Settings Menu'; //for Discord Rich Presence //I'd suggest using "Downscroll" as an example for making your own option since it is the simplest here @@ -109,13 +109,6 @@ class GameplaySettingsSubState extends BaseOptionsMenu option.changeValue = 0.1; addOption(option); - var option:Option = new Option('Max FPS', //Name - "If checked, the FPS limit will be set to 1000.\nThis setting makes the input timing more accurate, but in cost of minor graphical issues.", //Description - 'unlockFramerate', - 'bool'); - option.onChange = onChangeFramerate; - addOption(option); - var option:Option = new Option('Disable Note Modchart', 'If checked, strum notes will no longer move or change their opacity to invisible.', 'disableStrumMovement', @@ -137,27 +130,6 @@ class GameplaySettingsSubState extends BaseOptionsMenu super(); } - function onChangeFramerate() - { - if (ClientPrefs.data.unlockFramerate) { - FlxG.updateFramerate = 1000; - FlxG.drawFramerate = 1000; - return; - } - - - if(ClientPrefs.data.framerate > FlxG.drawFramerate) - { - FlxG.updateFramerate = ClientPrefs.data.framerate; - FlxG.drawFramerate = ClientPrefs.data.framerate; - } - else - { - FlxG.drawFramerate = ClientPrefs.data.framerate; - FlxG.updateFramerate = ClientPrefs.data.framerate; - } - } - function onChangeHitsoundVolume() { FlxG.sound.play(Paths.sound('hitsound'), ClientPrefs.data.hitsoundVolume); diff --git a/source/options/GraphicsSettingsSubState.hx b/source/options/GraphicsSettingsSubState.hx index b002889d..c90c736e 100644 --- a/source/options/GraphicsSettingsSubState.hx +++ b/source/options/GraphicsSettingsSubState.hx @@ -8,7 +8,7 @@ class GraphicsSettingsSubState extends BaseOptionsMenu var boyfriend:Character = null; public function new() { - title = 'Graphics'; + title = 'Graphics and Performance'; rpcTitle = 'Graphics Settings Menu'; //for Discord Rich Presence boyfriend = new Character(840, 170, 'bf', true); @@ -57,8 +57,33 @@ class GraphicsSettingsSubState extends BaseOptionsMenu option.maxValue = 240; option.displayFormat = '%v FPS'; option.onChange = onChangeFramerate; + + var option:Option = new Option('Max FPS', //Name + "If checked, the FPS limit will be set to 1000.\nThis setting makes the input timing more accurate, but in cost of minor graphical issues.", //Description + 'unlockFramerate', + 'bool'); + option.onChange = onChangeFramerate; + addOption(option); #end + var option:Option = new Option('Disable Freeplay Icons', //Name + "If checked, freeplay menu song icons will not be shown, slightly decreases loading times.", //Description + 'disableFreeplayIcons', + 'bool'); + addOption(option); + + var option:Option = new Option('Fast Freeplay Song Render', //Name + "If checked, freeplay songs will be render with the default HaxeFlixel font, greatly improving song loading time", //Description + 'disableFreeplayAlphabet', + 'bool'); + addOption(option); + + var option:Option = new Option('Combo Stacking', + "If unchecked, Ratings and Combo won't stack, saving on System Memory and making them easier to read", + 'comboStacking', + 'bool'); + addOption(option); + super(); insert(1, boyfriend); } diff --git a/source/options/OptionsState.hx b/source/options/OptionsState.hx index df393906..c9998cde 100644 --- a/source/options/OptionsState.hx +++ b/source/options/OptionsState.hx @@ -6,7 +6,7 @@ import backend.StageData; class OptionsState extends MusicBeatState { - var options:Array = ['Note Colors', 'Controls', 'Adjust Delay and Combo', 'Graphics', 'Visuals and UI', 'Gameplay']; + var options:Array = ['Note Colors', 'Controls', 'Adjust Delay and Combo', 'Graphics and Performance', 'Visuals and UI', 'Gameplay']; private var grpOptions:FlxTypedGroup; private static var curSelected:Int = 0; public static var menuBG:FlxSprite; @@ -19,7 +19,7 @@ class OptionsState extends MusicBeatState openSubState(new options.NotesSubState()); case 'Controls': openSubState(new options.ControlsSubState()); - case 'Graphics': + case 'Graphics and Performance': openSubState(new options.GraphicsSettingsSubState()); case 'Visuals and UI': openSubState(new options.VisualsUISubState()); diff --git a/source/options/VisualsUISubState.hx b/source/options/VisualsUISubState.hx index b5773694..6a4c6194 100644 --- a/source/options/VisualsUISubState.hx +++ b/source/options/VisualsUISubState.hx @@ -168,12 +168,6 @@ class VisualsUISubState extends BaseOptionsMenu addOption(option); #end - var option:Option = new Option('Combo Stacking', - "If unchecked, Ratings and Combo won't stack, saving on System Memory and making them easier to read", - 'comboStacking', - 'bool'); - addOption(option); - var option:Option = new Option('Debug Mode', "If checked, enables debug warnings etc.", 'debugMode', @@ -198,6 +192,12 @@ class VisualsUISubState extends BaseOptionsMenu 'bool'); addOption(option); + var option:Option = new Option('Show Funkin Points Counter', + 'If checked, the current FP count will be shown in the score text, can be toggled in-game with F7', + 'showFP', + 'bool'); + addOption(option); + super(); add(notes); } diff --git a/source/states/FreeplayState.hx b/source/states/FreeplayState.hx index 97c8d0d8..37c1b7e5 100644 --- a/source/states/FreeplayState.hx +++ b/source/states/FreeplayState.hx @@ -1,5 +1,7 @@ package states; +import flixel.FlxBasic; +import flixel.FlxSubState; import backend.ClientPrefs; import objects.Character; import objects.Character.CharacterFile; @@ -48,10 +50,11 @@ import sys.FileSystem; class FreeplayState extends MusicBeatState { + public static var instance:FreeplayState; public var songs:Array = []; var selector:FlxText; - public static var curSelected:Int = 0; + public static var curSelected:Int = 0; var lerpSelected:Float = 0; var curDifficulty:Int = -1; private static var lastDifficultyName:String = Difficulty.getDefault(); @@ -71,7 +74,7 @@ class FreeplayState extends MusicBeatState var randomText:Alphabet; var randomIcon:HealthIcon; - private var grpSongs:FlxTypedGroup; + private var grpSongs:FlxTypedGroup; private var grpIcons:FlxTypedGroup; private var curPlaying:Bool = false; @@ -146,8 +149,13 @@ class FreeplayState extends MusicBeatState var _substateIsModifiers = false; + var itemsCamera:FlxCamera; + var hudCamera:FlxCamera; + override function create() { + instance = this; + prevPauseGame = FlxG.autoPause; FlxG.autoPause = false; @@ -196,16 +204,28 @@ class FreeplayState extends MusicBeatState add(bg); bg.screenCenter(); - grpSongs = new FlxTypedGroup(); + itemsCamera = new FlxCamera(); + itemsCamera.bgColor.alpha = 0; + hudCamera = new FlxCamera(); + hudCamera.bgColor.alpha = 0; + FlxG.cameras.add(itemsCamera, false); + FlxG.cameras.add(hudCamera, false); + + CustomFadeTransition.nextCamera = hudCamera; + + grpSongs = new FlxTypedGroup(); + grpSongs.cameras = [itemsCamera]; add(grpSongs); grpIcons = new FlxTypedGroup(); + grpIcons.cameras = [itemsCamera]; add(grpIcons); randomText = new Alphabet(90, 320, "RANDOM", true); randomText.scaleX = Math.min(1, 980 / randomText.width); randomText.targetY = -1; randomText.snapToPosition(); + randomText.cameras = [itemsCamera]; add(randomText); var curSkin = ClientPrefs.data.modSkin ?? [null, null]; @@ -215,29 +235,41 @@ class FreeplayState extends MusicBeatState randomIcon = new HealthIcon(charaData.healthicon); randomIcon.sprTracker = randomText; randomIcon.scrollFactor.set(1, 1); + randomIcon.cameras = [itemsCamera]; add(randomIcon); Mods.loadTopMod(); + trace("drawing songs"); + var drawTime = Sys.time(); + for (i in 0...initSongs.length) { - var songText:Alphabet = new Alphabet(90, 320, initSongs[i].songName, true); + var songText:Scrollable; + if (!ClientPrefs.data.disableFreeplayAlphabet) + songText = new Alphabet(90, 320, initSongs[i].songName, true); + else + songText = new online.objects.AlphaLikeText(90, 320, initSongs[i].songName); songText.scaleX = Math.min(1, 980 / songText.width); songText.targetY = i; songText.snapToPosition(); - - Mods.currentModDirectory = initSongs[i].folder; - var icon:HealthIcon = new HealthIcon(initSongs[i].songCharacter); - icon.sprTracker = songText; - - // too laggy with a lot of songs, so i had to recode the logic for it songText.visible = songText.active = songText.isMenuItem = false; - icon.visible = icon.active = false; - icon.scrollFactor.set(1, 1); + Mods.currentModDirectory = initSongs[i].folder; + var icon = ClientPrefs.data.disableFreeplayIcons ? null : new HealthIcon(initSongs[i].songCharacter); + if (icon != null) { + icon.sprTracker = cast(songText); + icon.visible = icon.active = false; + icon.scrollFactor.set(1, 1); + } initSongItems.push([songText, icon]); } WeekData.setDirectoryFromWeek(); + trace("finished drawing songs (" + FlxMath.roundDecimal(Sys.time() - drawTime, 2) + "s)" + + (ClientPrefs.data.disableFreeplayAlphabet ? ' (fast render)' : '') + + (ClientPrefs.data.disableFreeplayIcons ? ' (no icons)' : '') + ); + search(true); // sickScore = new FlxSprite(Paths.image('sickScore')); @@ -263,29 +295,36 @@ class FreeplayState extends MusicBeatState // add(dShots); diffSelect.setScale(0.5); diffSelect.visible = false; + diffSelect.cameras = [itemsCamera]; add(diffSelect); modifiersSelect.setScale(0.6); modifiersSelect.visible = false; + modifiersSelect.cameras = [itemsCamera]; add(modifiersSelect); replaysSelect.setScale(0.6); replaysSelect.visible = false; + replaysSelect.cameras = [itemsCamera]; add(replaysSelect); resetSelect.setScale(0.6); resetSelect.visible = false; + resetSelect.cameras = [itemsCamera]; add(resetSelect); topTitle.setScale(0.8); topTitle.visible = false; + topTitle.cameras = [itemsCamera]; add(topTitle); topLoading.setScale(0.5); topLoading.visible = false; + topLoading.cameras = [itemsCamera]; add(topLoading); topShit.visible = false; + topShit.cameras = [itemsCamera]; add(topShit); scoreText = new FlxText(FlxG.width * 0.7, 5, 0, "", 32); @@ -295,11 +334,16 @@ class FreeplayState extends MusicBeatState scoreBG = new FlxSprite(scoreText.x - 6, 0).makeGraphic(1, 66, 0xFF000000); scoreBG.alpha = 0.6; scoreBG.scrollFactor.set(); + scoreBG.cameras = [hudCamera]; add(scoreBG); searchInput = new FlxText(scoreText.x, scoreText.y + 36, 0, "PRESS F TO SEARCH", 24); searchInput.font = scoreText.font; searchInput.scrollFactor.set(); + + searchInput.cameras = [hudCamera]; + scoreText.cameras = [hudCamera]; + add(searchInput); add(scoreText); @@ -366,6 +410,7 @@ class FreeplayState extends MusicBeatState gainedText.setPosition(FlxG.width - gainedText.width - 50, FlxG.height - gainedText.height - 50); gainedText.visible = gainedPoints != 0; gainedText.scrollFactor.set(); + gainedText.cameras = [hudCamera]; add(gainedText); gainedPoints = 0; @@ -374,12 +419,14 @@ class FreeplayState extends MusicBeatState missingTextBG.alpha = 0.6; missingTextBG.visible = false; missingTextBG.scrollFactor.set(); + missingTextBG.cameras = [hudCamera]; add(missingTextBG); missingText = new FlxText(50, 0, FlxG.width - 100, '', 24); missingText.setFormat(Paths.font("vcr.ttf"), 24, FlxColor.WHITE, CENTER, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); missingText.scrollFactor.set(); missingText.visible = false; + missingText.cameras = [hudCamera]; add(missingText); if(curSelected >= songs.length) curSelected = -1; @@ -391,35 +438,53 @@ class FreeplayState extends MusicBeatState var textBG:FlxSprite = new FlxSprite(0, FlxG.height - 26).makeGraphic(FlxG.width, 26, 0xFF000000); textBG.alpha = 0.6; textBG.scrollFactor.set(); + textBG.cameras = [hudCamera]; add(textBG); infoText = new FlxText(textBG.x, textBG.y + 4, FlxG.width, "???"); infoText.setFormat(Paths.font("vcr.ttf"), 16, FlxColor.WHITE, CENTER); infoText.scrollFactor.set(); + infoText.cameras = [hudCamera]; add(infoText); if (GameClient.isConnected()) { add(chatBox = new ChatBox(camera)); + chatBox.cameras = [hudCamera]; GameClient.send("status", "Choosing a Song"); } changeSelection(); updateTexts(); + searchString = searchString; super.create(); + CustomFadeTransition.nextCamera = hudCamera; + FlxG.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); } override function destroy() { super.destroy(); + FlxG.cameras.remove(itemsCamera); + FlxG.cameras.remove(hudCamera); + FlxG.stage.removeEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); if (leaderboardTimer != null) leaderboardTimer.cancel(); } + override function openSubState(SubState:FlxSubState) { + if (!(SubState is CustomFadeTransition)) { + hudCamera.visible = false; + itemsCamera.visible = false; + } + + super.openSubState(SubState); + } + override function closeSubState() { curPage = 0; changeSelection(0, false); @@ -433,6 +498,12 @@ class FreeplayState extends MusicBeatState _substateIsModifiers = false; } persistentUpdate = true; + + if (!(subState is CustomFadeTransition)) { + hudCamera.visible = true; + itemsCamera.visible = true; + } + super.closeSubState(); } @@ -490,7 +561,7 @@ class FreeplayState extends MusicBeatState v.time = FlxG.sound.music.time; } - if (instPlaying != -1) { + if (instPlaying != -1 && grpIcons.members[instPlaying] != null) { var mult:Float = FlxMath.lerp(1, grpIcons.members[instPlaying].scale.x, FlxMath.bound(1 - (elapsed * 9), 0, 1)); grpIcons.members[instPlaying].scale.set(mult, mult); } @@ -612,10 +683,11 @@ class FreeplayState extends MusicBeatState if(FlxG.keys.justPressed.SPACE) { if (curSelected == -1) { - var newSel = FlxG.random.int(0, songs.length); + var newSel = FlxG.random.int(0, songs.length - 1); if (newSel == -1) newSel = 0; - changeSelection(newSel); + curSelected = newSel; + changeSelection(); return; } @@ -624,10 +696,11 @@ class FreeplayState extends MusicBeatState else if (controls.ACCEPT) { if (curSelected == -1) { - var newSel = FlxG.random.int(0, songs.length); + var newSel = FlxG.random.int(0, songs.length - 1); if (newSel == -1) newSel = 0; - changeSelection(newSel); + curSelected = newSel; + changeSelection(); lerpSelected = curSelected; } @@ -727,7 +800,7 @@ class FreeplayState extends MusicBeatState fileDialog.onOpen.add(res -> { playReplay(cast(res, Bytes).toString()); }); - fileDialog.open('funkinreplay', Sys.getCwd() + Paths.PATH_SLASH + "replay", "Load Replay File"); + fileDialog.open('funkinreplay', online.util.FileUtils.joinNativePath([Sys.getCwd(), "replays", "_"]), "Load Replay File"); } case 3: persistentUpdate = false; @@ -831,10 +904,22 @@ class FreeplayState extends MusicBeatState } updateTexts(elapsed); - camera.scroll.x = 0; + if (FlxG.keys.pressed.SHIFT && !selected) { + itemsCameraZoom = FlxMath.lerp(itemsCameraZoom, 0.65, elapsed * 10); + itemsCameraScrollX = FlxMath.lerp(itemsCameraScrollX, 300, elapsed * 10); + } + else { + itemsCameraZoom = FlxMath.lerp(itemsCameraZoom, 1, elapsed * 10); + itemsCameraScrollX = FlxMath.lerp(itemsCameraScrollX, 0, elapsed * 10); + } + itemsCamera.zoom = itemsCameraZoom; + itemsCamera.scroll.x = itemsCameraScrollX; super.update(elapsed); } + var itemsCameraZoom:Float = 1; + var itemsCameraScrollX:Float = 0; + function playReplay(replayData:String, ?replayID:String) { var shit = Json.parse(replayData); PlayState.replayData = cast shit; @@ -932,7 +1017,7 @@ class FreeplayState extends MusicBeatState scoreText.visible = true; scoreBG.visible = true; - camera.targetOffset.set(0, 0); + itemsCamera.targetOffset.set(0, 0); if (curSelected == -1) { infoText.text = "Press ACCEPT to select a random song / Press SPACE to select without loading"; @@ -945,7 +1030,7 @@ class FreeplayState extends MusicBeatState case 0: if (selected) { infoText.text = "Press ACCEPT to enter the Song / Use your Arrow Keys to change the Difficulty"; - camera.targetOffset.y += 200; + itemsCamera.targetOffset.y += 200; } else { infoText.text = "Press ACCEPT to select the current Song / Press SPACE to listen to the Song"; @@ -955,7 +1040,7 @@ class FreeplayState extends MusicBeatState if (centerPoint == null) centerPoint = new FlxObject(FlxG.width / 2, FlxG.height / 2); - camera.follow(centerPoint, null, 0.15); + itemsCamera.follow(centerPoint, null, 0.15); grpSongs.members[curSelected].alpha = 1; diffSelect.alpha = 1; @@ -967,8 +1052,8 @@ class FreeplayState extends MusicBeatState case 1: infoText.text = "Press ACCEPT to open Gameplay Modifers Menu"; - camera.follow(modifiersSelect, null, 0.15); - camera.targetOffset.y += 200; + itemsCamera.follow(modifiersSelect, null, 0.15); + itemsCamera.targetOffset.y += 200; grpSongs.members[curSelected].alpha = 0.6; diffSelect.alpha = 0.6; @@ -980,8 +1065,8 @@ class FreeplayState extends MusicBeatState case 2: infoText.text = "Press ACCEPT to load a Replay data file"; - camera.follow(replaysSelect, null, 0.15); - camera.targetOffset.y += 200; + itemsCamera.follow(replaysSelect, null, 0.15); + itemsCamera.targetOffset.y += 200; grpSongs.members[curSelected].alpha = 0.6; diffSelect.alpha = 0.6; @@ -993,8 +1078,8 @@ class FreeplayState extends MusicBeatState case 3: infoText.text = "Press ACCEPT to reset Score and Accuracy of this Song"; - camera.follow(resetSelect, null, 0.15); - camera.targetOffset.y += 200; + itemsCamera.follow(resetSelect, null, 0.15); + itemsCamera.targetOffset.y += 200; grpSongs.members[curSelected].alpha = 0.6; diffSelect.alpha = 0.6; @@ -1006,8 +1091,8 @@ class FreeplayState extends MusicBeatState case 4: infoText.text = "LEFT or RIGHT to Flip Pages / ACCEPT to view Player's replay of this song"; - camera.follow(topShit.background, null, 0.15); - camera.targetOffset.y -= 100 + topTitle.height; + itemsCamera.follow(topShit.background, null, 0.15); + itemsCamera.targetOffset.y -= 100 + topTitle.height; grpSongs.members[curSelected].alpha = 0.6; diffSelect.alpha = 0.6; @@ -1212,14 +1297,18 @@ class FreeplayState extends MusicBeatState } if (curSelected != -1) { - grpIcons.members[curSelected].alpha = 1; + if (grpIcons.members[curSelected] != null) + grpIcons.members[curSelected].alpha = 1; for (item in grpSongs.members) { bullShit++; item.alpha = 0.6; - if (item.targetY == curSelected) - item.alpha = 1; + + if (item is Scrollable) { + if (cast(item, Scrollable).targetY == curSelected) + item.alpha = 1; + } } Mods.currentModDirectory = songs[curSelected].folder; @@ -1271,7 +1360,8 @@ class FreeplayState extends MusicBeatState for (i in _lastVisibles) { grpSongs.members[i].visible = grpSongs.members[i].active = false; - grpIcons.members[i].visible = grpIcons.members[i].active = false; + if (grpIcons.members[i] != null) + grpIcons.members[i].visible = grpIcons.members[i].active = false; } _lastVisibles = []; @@ -1291,14 +1381,16 @@ class FreeplayState extends MusicBeatState var max:Int = Math.round(Math.max(0, Math.min(songs.length, lerpSelected + _drawDistance))); for (i in min...max) { - var item:Alphabet = grpSongs.members[i]; + if (!(grpSongs.members[i] is Scrollable)) { + continue; + } + + var item:Scrollable = cast(grpSongs.members[i], Scrollable); item.visible = item.active = true; if (!selected) item.x = ((item.targetY - lerpSelected) * item.distancePerItem.x) + item.startPosition.x; item.y = ((item.targetY - lerpSelected) * 1.3 * item.distancePerItem.y) + item.startPosition.y; - var icon:HealthIcon = grpIcons.members[i]; - icon.visible = icon.active = true; _lastVisibles.push(i); if (selected) { @@ -1350,7 +1442,11 @@ class FreeplayState extends MusicBeatState // } // } - icon.alpha = item.alpha; + var icon = grpIcons.members[i]; + if (icon != null) { + icon.visible = icon.active = true; + icon.alpha = item.alpha; + } } if (_lastSelected != selected) { @@ -1381,7 +1477,7 @@ class FreeplayState extends MusicBeatState return; } - if (listening) + if (listening && instPlaying > -1 && grpIcons.members[instPlaying] != null) grpIcons.members[instPlaying].scale.set(1.2, 1.2); } @@ -1428,24 +1524,24 @@ class FreeplayState extends MusicBeatState #end } - var searchString(default, set):String = ''; - function set_searchString(v) { - if (!searchInputWait) { - searchInput.text = 'PRESS F TO SEARCH'; + static var searchString(default, set):String = ''; + static function set_searchString(v) { + if (FreeplayState.instance.searchInputWait || v.length > 0) { + FreeplayState.instance.searchInput.alpha = FreeplayState.instance.searchInputWait ? 1.0 : 0.6; + FreeplayState.instance.searchInput.text = "SEARCH: '" + v + "'"; return searchString = v; } - searchInput.text = "SEARCH: '" + v + "'"; + FreeplayState.instance.searchInput.alpha = 0.6; + FreeplayState.instance.searchInput.text = 'PRESS F TO SEARCH'; return searchString = v; } - function search(?skipRest:Bool = false) { + function search(?init:Bool = false) { grpIcons.clear(); grpSongs.clear(); _lastVisibles = []; - instPlaying = -1; songs = []; - curSelected = -1; var i:Int = 0; for (songID => arr in initSongItems) { @@ -1460,10 +1556,13 @@ class FreeplayState extends MusicBeatState arr[0].snapToPosition(); arr[0].visible = arr[0].active = arr[0].isMenuItem = false; - arr[1].visible = arr[1].active = false; grpSongs.add(arr[0]); // song - grpIcons.add(arr[1]); // icon + + if (arr[1] != null) { + arr[1].visible = arr[1].active = false; + grpIcons.add(arr[1]); // icon + } songs.push(song); i++; } @@ -1471,13 +1570,17 @@ class FreeplayState extends MusicBeatState if (songs.length < 1) { searchString = ''; - search(skipRest); + search(init); return; } - if (skipRest) + if (init) { + lerpSelected = curSelected; return; + } + curSelected = -1; + instPlaying = -1; if (songs.length < 2) curSelected = 0; changeSelection(); diff --git a/source/states/PlayState.hx b/source/states/PlayState.hx index 141b7e6a..734173bd 100644 --- a/source/states/PlayState.hx +++ b/source/states/PlayState.hx @@ -465,8 +465,10 @@ class PlayState extends MusicBeatState Conductor.judgeSongPosition = null; Conductor.judgePlaybackRate = null; - if (GameClient.isConnected()) + if (GameClient.isConnected()) { Lib.application.window.resizable = false; + swingMode = false; + } Paths.clearStoredMemory(); @@ -842,7 +844,7 @@ class PlayState extends MusicBeatState Conductor.songPosition = -5000 / Conductor.songPosition; showTime = (ClientPrefs.data.timeBarType != 'Disabled'); timeTxt = new FlxText(STRUM_X + (FlxG.width / 2) - 248, 19, 400, "", 32); - timeTxt.setFormat(Paths.font("vcr.ttf"), 32, FlxColor.WHITE, CENTER, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); + timeTxt.setFormat(!isPixelStage ? Paths.font("vcr.ttf") : 'Pixel Arial 11 Bold', !isPixelStage ? 32 : 28, FlxColor.WHITE, CENTER, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); timeTxt.scrollFactor.set(); timeTxt.alpha = 0; timeTxt.borderSize = 2; @@ -935,7 +937,7 @@ class PlayState extends MusicBeatState preloadTasks.push(() -> { scoreTxt = new FlxText(0, healthBar.y + 40, FlxG.width, "", 20); - scoreTxt.setFormat(Paths.font("vcr.ttf"), 20, FlxColor.WHITE, CENTER, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); + scoreTxt.setFormat(!isPixelStage ? Paths.font("vcr.ttf") : 'Pixel Arial 11 Bold', !isPixelStage ? 20 : 18, FlxColor.WHITE, CENTER, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); scoreTxt.scrollFactor.set(); scoreTxt.borderSize = 1.25; scoreTxt.visible = !ClientPrefs.data.hideHud; @@ -947,7 +949,7 @@ class PlayState extends MusicBeatState scoreTxt.visible = false; scoreTxtP1 = new FlxText(0, healthBar.y + 40, FlxG.width, "?", 20); - scoreTxtP1.setFormat(Paths.font("vcr.ttf"), 20, FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); + scoreTxtP1.setFormat(!isPixelStage ? Paths.font("vcr.ttf") : 'Pixel Arial 11 Bold', !isPixelStage ? 18 : 16, FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); scoreTxtP1.scrollFactor.set(); scoreTxtP1.borderSize = 1.25; scoreTxtP1.visible = !ClientPrefs.data.hideHud; @@ -957,7 +959,7 @@ class PlayState extends MusicBeatState preloadTasks.push(() -> { scoreTxtP2 = new FlxText(0, healthBar.y + 40, FlxG.width, "?", 20); - scoreTxtP2.setFormat(Paths.font("vcr.ttf"), 20, FlxColor.WHITE, RIGHT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); + scoreTxtP2.setFormat(!isPixelStage ? Paths.font("vcr.ttf") : 'Pixel Arial 11 Bold', !isPixelStage ? 18 : 16, FlxColor.WHITE, RIGHT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); scoreTxtP2.scrollFactor.set(); scoreTxtP2.borderSize = 1.25; scoreTxtP2.visible = !ClientPrefs.data.hideHud; @@ -1725,8 +1727,6 @@ class PlayState extends MusicBeatState } } - static var showFP:Bool = false; - public function updateScore(miss:Bool = false, ?skipRest:Bool = false) { var scoreTextObject = scoreTxt; @@ -1751,7 +1751,7 @@ class PlayState extends MusicBeatState scoreTextObject.text = 'Score: ' + FlxStringUtil.formatMoney(songScore, false) + ' | Misses: ' + songMisses + ' | Rating: ' + str; } - var points = online.FunkinPoints.calcFP(ratingPercent, songMisses, denseNotes, totalNotesHit, maxCombo, (Conductor.judgePlaybackRate ?? playbackRate)); + var points = online.FunkinPoints.calcFP(ratingPercent, songMisses, denseNotes, totalNotesHit, maxCombo); if (points != songPoints) { songPoints = points; resetRPC(true); @@ -1759,7 +1759,7 @@ class PlayState extends MusicBeatState songPoints = points; if (skipRest) { - if (showFP) + if (ClientPrefs.data.showFP) scoreTextObject.text += ' | FP: ' + songPoints; return; } @@ -1783,7 +1783,7 @@ class PlayState extends MusicBeatState }); } callOnScripts('onUpdateScore', [miss]); - if (showFP) + if (ClientPrefs.data.showFP) scoreTextObject.text += ' | FP: ' + songPoints; } @@ -1942,6 +1942,7 @@ class PlayState extends MusicBeatState var densLastStrumTime:Float = -1; var densNotes:Float = 0; var densNotesCount:Float = 0; + var _densNotesBonus:Float = 0; for (section in noteData) { for (songNotes in section.sectionNotes) @@ -1985,21 +1986,24 @@ class PlayState extends MusicBeatState var noteDiff = (daStrumTime - densLastStrumTime) / playbackRate; if (densLastStrumTime != -1 && noteDiff > 10) { - var keepCombo = tenseCombo < 2 || 150 - noteDiff <= tension / tenseCombo + 10; + var keepCombo = tenseCombo < 2 || Math.pow(150 - noteDiff, 2) <= tension / tenseCombo + 10; if (noteDiff <= 150) { if (keepCombo) { tenseCombo++; - tension += 150 - noteDiff; + tension += Math.pow(150 - noteDiff, 2); } densNotesCount++; - densNotes += (150 - noteDiff) / 30; + densNotes += (150 - noteDiff) / 50; } if (noteDiff > 150 || !keepCombo) { - if (tenseCombo > 0) { - densNotesCount++; - densNotes += tension / tenseCombo * tenseCombo / 25 * (1 + Math.max(0, tension / tenseCombo - 60) / 50); + if (tenseCombo > 0 && tension > 0) { + var temp = tension / tenseCombo * tenseCombo / 500; + _densNotesBonus += temp; + densNotes += temp; + if (ClientPrefs.isDebug()) + trace(temp, tenseCombo); } tenseCombo = 0; tension = 0; @@ -2093,9 +2097,10 @@ class PlayState extends MusicBeatState } } } - denseNotes = densNotes / densNotesCount; - if (ClientPrefs.isDebug()) - trace("note density score: " + denseNotes); + denseNotes = densNotesCount == 0 ? 0 : densNotes / 1000; + trace(' + predensity: ' + densNotes); + trace(' + bonus: ' + _densNotesBonus); + trace("note density score: " + denseNotes); for (event in songData.events) //Event Notes for (i in 0...event[1].length) makeEvent(event, i); @@ -2341,13 +2346,37 @@ class PlayState extends MusicBeatState } } - public var paused:Bool = false; + public var paused(default, set):Bool = false; + function set_paused(v) { + for (group in [boyfriendGroup, dadGroup, gfGroup]) { + if (group == null) + continue; + + for (character in group) { + if (!(character is Character)) + continue; + + var char:Character = cast(character); + + if (char.sound == null) + continue; + + if (v) + char.sound.pause(); + else + char.sound.resume(); + } + } + return paused = v; + } public var canReset:Bool = true; var startedCountdown:Bool = false; public var canPause:Bool = true; public var disableForceShow:Bool = false; + var lastLagPos:Float = 0; + override public function update(elapsed:Float) { if (!isCreated) { @@ -2359,12 +2388,19 @@ class PlayState extends MusicBeatState return; } - if (FlxG.keys.justPressed.F6) { + if (!GameClient.isConnected() && !finishingSong && elapsed >= 0.1 && Conductor.songPosition > lastLagPos) { + setSongTime(Conductor.songPosition - 3000); + lastLagPos = Conductor.songPosition; + Alert.alert("Mod Lag Detected (-3s)"); + } + + if (!GameClient.isConnected() && FlxG.keys.justPressed.F6) { swingMode = !swingMode; } if (FlxG.keys.justPressed.F7) { - showFP = !showFP; + ClientPrefs.data.showFP = !ClientPrefs.data.showFP; + ClientPrefs.saveSettings(); updateScore(); } @@ -3191,7 +3227,7 @@ class PlayState extends MusicBeatState return false; } - songPoints = online.FunkinPoints.calcFP(ratingPercent, songMisses, denseNotes, totalNotesHit, maxCombo, (Conductor.judgePlaybackRate ?? playbackRate)); + songPoints = online.FunkinPoints.calcFP(ratingPercent, songMisses, denseNotes, totalNotesHit, maxCombo); //Should kill you if you tried to cheat if(!startingSong) { @@ -3247,7 +3283,7 @@ class PlayState extends MusicBeatState if(Math.isNaN(percent)) percent = 0; if (!isInvalidScore() && finishingSong) { Highscore.saveScore(SONG.song, songScore, storyDifficulty, percent); - var offlinePoints = online.FunkinPoints.save(ratingPercent, songMisses, denseNotes, totalNotesHit, maxCombo, playbackRate); + var offlinePoints = online.FunkinPoints.save(ratingPercent, songMisses, denseNotes, totalNotesHit, maxCombo); if (!online.network.FunkinNetwork.loggedIn) gainedPoints = offlinePoints; if (replayRecorder != null) @@ -3579,8 +3615,10 @@ class PlayState extends MusicBeatState songGoods++; case "bad": songBads++; + combo = 0; case "shit": songShits++; + combo = 0; } if(!note.ratingDisabled) @@ -4008,12 +4046,14 @@ class PlayState extends MusicBeatState if(ClientPrefs.getGhostTapping()) return; //fuck it noteMissCommon(direction); - FlxG.sound.play(Paths.soundRandom('missnote', 1, 3), FlxG.random.float(0.1, 0.2)); callOnScripts('noteMissPress', [direction]); } function noteMissCommon(direction:Int, note:Note = null) { + // am i the only one that kinda hears the rayman 3 selection sound there + FlxG.sound.play(Paths.soundRandom('missnote', 1, 3), 0.3); + // score and data var subtract:Float = 0.05; if(note != null) subtract = note.missHealth; @@ -4987,9 +5027,9 @@ class PlayState extends MusicBeatState }); }); - GameClient.room.onMessage("log", function(message:String) { + GameClient.room.onMessage("log", function(message) { Waiter.put(() -> { - Alert.alert("New message", message); + Alert.alert("New message", online.util.ShitUtil.parseLog(message).content); }); }); diff --git a/source/states/TitleState.hx b/source/states/TitleState.hx index a6b7e6c3..cd5b2a9f 100644 --- a/source/states/TitleState.hx +++ b/source/states/TitleState.hx @@ -108,8 +108,8 @@ class TitleState extends MusicBeatState updateVersion = data.split('\n')[0].trim(); var curVersion:String = Main.PSYCH_ONLINE_VERSION.trim(); trace('version online: ' + updateVersion + ', your version: ' + curVersion); - if(updateVersion != curVersion) { - trace('versions arent matching!'); + if(Std.parseFloat(updateVersion.replace('.', '')) > Std.parseFloat(curVersion.replace('.', ''))) { + trace('update version is newer!'); mustUpdate = true; //offlineMode = true; } diff --git a/source/states/editors/CharacterEditorState.hx b/source/states/editors/CharacterEditorState.hx index e091d0c8..bd727169 100644 --- a/source/states/editors/CharacterEditorState.hx +++ b/source/states/editors/CharacterEditorState.hx @@ -197,7 +197,7 @@ class CharacterEditorState extends MusicBeatState { UI_characterbox = new FlxUITabMenu(null, tabs, true); UI_characterbox.cameras = [camMenu]; - UI_characterbox.resize(350, 250); + UI_characterbox.resize(350, 300); UI_characterbox.x = UI_box.x - 100; UI_characterbox.y = UI_box.y + UI_box.height; UI_characterbox.scrollFactor.set(); @@ -620,6 +620,7 @@ class CharacterEditorState extends MusicBeatState { var animationInputText:FlxUIInputText; var animationNameInputText:FlxUIInputText; var animationIndicesInputText:FlxUIInputText; + var animationSoundInputText:FlxUIInputText; var animationNameFramerate:FlxUINumericStepper; var animationLoopCheckBox:FlxUICheckBox; @@ -630,6 +631,7 @@ class CharacterEditorState extends MusicBeatState { animationInputText = new FlxUIInputText(15, 85, 80, '', 8); animationNameInputText = new FlxUIInputText(animationInputText.x, animationInputText.y + 35, 150, '', 8); animationIndicesInputText = new FlxUIInputText(animationNameInputText.x, animationNameInputText.y + 40, 250, '', 8); + animationSoundInputText = new FlxUIInputText(animationIndicesInputText.x, animationIndicesInputText.y + 40, 150, '', 8); animationNameFramerate = new FlxUINumericStepper(animationInputText.x + 170, animationInputText.y, 1, 24, 0, 240, 0); animationLoopCheckBox = new FlxUICheckBox(animationNameInputText.x + 170, animationNameInputText.y - 1, null, null, "Should it Loop?", 100); @@ -641,6 +643,7 @@ class CharacterEditorState extends MusicBeatState { animationNameInputText.text = anim.name; animationLoopCheckBox.checked = anim.loop; animationNameFramerate.value = anim.fps; + animationSoundInputText.text = anim.sound ?? ""; var indicesStr:String = anim.indices.toString(); animationIndicesInputText.text = indicesStr.substr(1, indicesStr.length - 2); @@ -658,7 +661,7 @@ class CharacterEditorState extends MusicBeatState { } }); - var addUpdateButton:FlxButton = new FlxButton(70, animationIndicesInputText.y + 30, "Add/Update", function() { + var addUpdateButton:FlxButton = new FlxButton(70, animationSoundInputText.y + 30, "Add/Update", function() { var indices:Array = []; var indicesStr:Array = animationIndicesInputText.text.trim().split(','); if (indicesStr.length > 1) { @@ -694,6 +697,10 @@ class CharacterEditorState extends MusicBeatState { indices: indices, offsets: lastOffsets }; + if (animationSoundInputText.text.length > 0) { + newAnim.sound = animationSoundInputText.text; + } + if (indices != null && indices.length > 0) { char.animation.addByIndices(newAnim.anim, newAnim.name, newAnim.indices, "", newAnim.fps, newAnim.loop); } @@ -730,7 +737,7 @@ class CharacterEditorState extends MusicBeatState { trace('Added/Updated animation: ' + animationInputText.text); }); - var removeButton:FlxButton = new FlxButton(180, animationIndicesInputText.y + 30, "Remove", function() { + var removeButton:FlxButton = new FlxButton(180, addUpdateButton.y, "Remove", function() { for (anim in char.animationsArray) { if (animationInputText.text == anim.anim) { var resetAnim:Bool = false; @@ -762,10 +769,12 @@ class CharacterEditorState extends MusicBeatState { tab_group.add(new FlxText(animationNameFramerate.x, animationNameFramerate.y - 18, 0, 'Framerate:')); tab_group.add(new FlxText(animationNameInputText.x, animationNameInputText.y - 18, 0, 'Animation on .XML/.TXT file:')); tab_group.add(new FlxText(animationIndicesInputText.x, animationIndicesInputText.y - 18, 0, 'ADVANCED - Animation Indices:')); + tab_group.add(new FlxText(animationSoundInputText.x, animationSoundInputText.y - 18, 0, 'Animation Sound:')); tab_group.add(animationInputText); tab_group.add(animationNameInputText); tab_group.add(animationIndicesInputText); + tab_group.add(animationSoundInputText); tab_group.add(animationNameFramerate); tab_group.add(animationLoopCheckBox); tab_group.add(addUpdateButton); @@ -1126,7 +1135,8 @@ class CharacterEditorState extends MusicBeatState { imageInputText, healthIconInputText, animationNameInputText, - animationIndicesInputText + animationIndicesInputText, + animationSoundInputText ]; for (i in 0...inputTexts.length) { if (inputTexts[i].hasFocus) { diff --git a/source/states/stages/Philly.hx b/source/states/stages/Philly.hx index 12405dfd..e57d0f13 100644 --- a/source/states/stages/Philly.hx +++ b/source/states/stages/Philly.hx @@ -3,6 +3,7 @@ package states.stages; import states.stages.objects.*; import objects.Character; +@:publicFields class Philly extends BaseStage { var bg:BGSprite; From 3967314036b1a04a5018b83302cdbafe6d64ba3f Mon Sep 17 00:00:00 2001 From: Snirozu <72814880+Snirozu@users.noreply.github.com> Date: Sat, 16 Nov 2024 13:19:10 +0100 Subject: [PATCH 2/6] d --- hmm.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hmm.json b/hmm.json index caf24620..ac5eeb15 100644 --- a/hmm.json +++ b/hmm.json @@ -61,8 +61,8 @@ "name": "SScript", "type": "git", "dir": null, - "ref": "main", - "url": "https://github.com/mcagabe19-stuff/SScript-7.7.0" + "ref": "patch-1", + "url": "https://github.com/Snirozu/SScript-7.7.0" }, { "name": "discord_rpc", From 25858c6e1450d6c790ccd048e31f4661c8175268 Mon Sep 17 00:00:00 2001 From: Snirozu <72814880+Snirozu@users.noreply.github.com> Date: Sat, 16 Nov 2024 13:28:13 +0100 Subject: [PATCH 3/6] cooler colors --- source/online/gui/sidebar/MainTab.hx | 2 +- source/online/objects/ChatBox.hx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/online/gui/sidebar/MainTab.hx b/source/online/gui/sidebar/MainTab.hx index a1c03b8d..eadf92c9 100644 --- a/source/online/gui/sidebar/MainTab.hx +++ b/source/online/gui/sidebar/MainTab.hx @@ -80,7 +80,7 @@ class MainTab extends TabSprite { var msg:TextField = new TextField(); var format = TabSprite.getDefaultFormat(); - format.color = data.hue != null ? FlxColor.fromHSL(data.hue, 0.7, 0.7) : FlxColor.WHITE; + format.color = data.hue != null ? FlxColor.fromHSL(data.hue, 0.8, 0.6) : FlxColor.WHITE; msg.defaultTextFormat = format; msg.height = 10000; msg.wordWrap = true; diff --git a/source/online/objects/ChatBox.hx b/source/online/objects/ChatBox.hx index cd410121..636d6f2d 100644 --- a/source/online/objects/ChatBox.hx +++ b/source/online/objects/ChatBox.hx @@ -257,7 +257,7 @@ class ChatMessage extends FlxText { public function new(fieldWidth:Float = 0, msg:LogData) { super(0, 0, fieldWidth, msg.content); - setFormat("VCR OSD Mono", 16, msg.hue != null ? FlxColor.fromHSL(msg.hue, 0.7, 0.7) : FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); + setFormat("VCR OSD Mono", 16, msg.hue != null ? FlxColor.fromHSL(msg.hue, 0.8, 0.6) : FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); var _split = msg.content.split(""); var i = -1; From 33b94a63fed75811322682bff47f59541df1104d Mon Sep 17 00:00:00 2001 From: Snirozu <72814880+Snirozu@users.noreply.github.com> Date: Sat, 16 Nov 2024 16:36:27 +0100 Subject: [PATCH 4/6] notid --- source/online/NetworkClient.hx | 8 +++++++- source/online/network/FunkinNetwork.hx | 4 +++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/source/online/NetworkClient.hx b/source/online/NetworkClient.hx index ea848a32..c0972564 100644 --- a/source/online/NetworkClient.hx +++ b/source/online/NetworkClient.hx @@ -13,7 +13,7 @@ class NetworkClient { public static var connecting:Bool = false; public static function connect() { - if (connecting) + if (connecting || NetworkClient.room != null) return; connecting = true; @@ -56,6 +56,12 @@ class NetworkClient { }); }); + room.onMessage("notification", function(message) { + Waiter.put(() -> { + Alert.alert(message); + }); + }); + room.onError += (code:Int, e:String) -> { Thread.safeCatch(() -> { Waiter.put(() -> { diff --git a/source/online/network/FunkinNetwork.hx b/source/online/network/FunkinNetwork.hx index 790be9f8..0591479d 100644 --- a/source/online/network/FunkinNetwork.hx +++ b/source/online/network/FunkinNetwork.hx @@ -99,7 +99,9 @@ class FunkinNetwork { points = json.points; avgAccuracy = json.avgAccuracy; profileHue = json.profileHue; - return loggedIn = true; + loggedIn = true; + NetworkClient.connect(); + return loggedIn; } public static function requestRegister(username:String, email:String, ?code:String) { From 6bf7386a0ad867dac3dbdf8ecd1019de32e505aa Mon Sep 17 00:00:00 2001 From: Snirozu <72814880+Snirozu@users.noreply.github.com> Date: Sat, 16 Nov 2024 17:19:07 +0100 Subject: [PATCH 5/6] fixbox --- source/online/gui/sidebar/MainTab.hx | 10 ++++++++-- source/online/objects/ProfileBox.hx | 11 +++++++---- source/online/states/RoomState.hx | 2 +- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/source/online/gui/sidebar/MainTab.hx b/source/online/gui/sidebar/MainTab.hx index eadf92c9..1cbb817a 100644 --- a/source/online/gui/sidebar/MainTab.hx +++ b/source/online/gui/sidebar/MainTab.hx @@ -19,7 +19,11 @@ class MainTab extends TabSprite { static var messages:Array = []; var msgSprite:Sprite; - override function create() { + var chatInputPlaceholder:TextField; + + public function new(tabWidth:Float) { + super(tabWidth); + msgSprite = new Sprite(); addChild(msgSprite); @@ -53,7 +57,7 @@ class MainTab extends TabSprite { chatInput.type = INPUT; chatInput.width = Std.int(widthTab); - var chatInputPlaceholder:TextField = new TextField(); + chatInputPlaceholder = new TextField(); chatInputPlaceholder.defaultTextFormat = TabSprite.getDefaultFormat(); chatInputPlaceholder.text = "(Click here to chat)"; chatInputPlaceholder.selectable = false; @@ -67,7 +71,9 @@ class MainTab extends TabSprite { addChild(chatBg); addChild(chatInputPlaceholder); addChild(chatInput); + } + override function create() { chatInput.addEventListener(Event.CHANGE, _ -> { chatInputPlaceholder.visible = chatInput.text.length <= 0; }); diff --git a/source/online/objects/ProfileBox.hx b/source/online/objects/ProfileBox.hx index 26233c3a..890cbbc4 100644 --- a/source/online/objects/ProfileBox.hx +++ b/source/online/objects/ProfileBox.hx @@ -19,10 +19,13 @@ class ProfileBox extends FlxSpriteGroup { public var desc:FlxText; public var autoUpdateThings:Bool = true; + public var sizeAdd:Int = 0; public function new(leUser:String, leVerified:Bool, ?leCardHeight:Int = 100, ?sizeAdd:Int = 0) { super(); + this.sizeAdd = sizeAdd; + bg = new FlxSprite(); bg.alpha = 0.7; add(bg); @@ -85,8 +88,8 @@ class ProfileBox extends FlxSpriteGroup { text.text = "Welcome, " + user + "!"; else text.text = user; - desc.text = "Points: " + (profileData?.points ?? 0); - desc.text += "\nAvg. Accuracy: " + FlxMath.roundDecimal(((profileData?.avgAccuracy ?? 0) * 100), 2) + "%"; + desc.text = "Points: " + (profileData.points ?? 0); + desc.text += "\nAvg. Accuracy: " + FlxMath.roundDecimal((profileData.avgAccuracy * 100), 2) + "%"; } Thread.run(() -> { @@ -121,9 +124,9 @@ class ProfileBox extends FlxSpriteGroup { public function drawBG() { var profileHue = profileData?.profileHue ?? 230; - bg.makeGraphic(300, cardHeight, FlxColor.TRANSPARENT); + bg.makeGraphic(320 + 10 * sizeAdd, cardHeight, FlxColor.TRANSPARENT); // later concept for detailed cards, fill a tall round rectangle with darker color and then draw the normal card - FlxSpriteUtil.drawRoundRect(bg, 0, 0, 300, cardHeight, 40, 40, FlxColor.fromHSL(profileHue, 0.25, 0.25)); + FlxSpriteUtil.drawRoundRect(bg, 0, 0, 320 + 10 * sizeAdd, cardHeight, 40, 40, FlxColor.fromHSL(profileHue, 0.25, 0.25)); bg.updateHitbox(); fitAvatar(); diff --git a/source/online/states/RoomState.hx b/source/online/states/RoomState.hx index 60beb473..6ae78b02 100644 --- a/source/online/states/RoomState.hx +++ b/source/online/states/RoomState.hx @@ -1089,7 +1089,7 @@ class RoomState extends MusicBeatState { box.desc.applyMarkup( "Points: " + player.points + "\n" + - (player.verified && box.profileData != null ? "Avg. Accuracy: " + FlxMath.roundDecimal(((box.profileData?.avgAccuracy ?? 0) * 100), 2) + "%\n" : "") + + (player.verified && box.profileData != null ? "Avg. Accuracy: " + FlxMath.roundDecimal((box.profileData.avgAccuracy * 100), 2) + "%\n" : "") + "Ping:

" + player.ping + "ms

\n\n" + player.status + "\n" + (!player.isReady ? "NOT " : "") + "READY" + From 46994c2c6a07d45e0e012b7167b5125097af84ba Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 16 Nov 2024 16:56:49 +0000 Subject: [PATCH 6/6] Bump to 0.9.0 --- gitVersion.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitVersion.txt b/gitVersion.txt index fab77af2..899f24fc 100644 --- a/gitVersion.txt +++ b/gitVersion.txt @@ -1 +1 @@ -0.8.3 \ No newline at end of file +0.9.0 \ No newline at end of file