diff --git a/tools/gopher-kart/.gitignore b/tools/gopher-kart/.gitignore deleted file mode 100644 index c667e8f..0000000 --- a/tools/gopher-kart/.gitignore +++ /dev/null @@ -1,27 +0,0 @@ -# General -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk \ No newline at end of file diff --git a/tools/gopher-kart/Dockerfile b/tools/gopher-kart/Dockerfile deleted file mode 100644 index 230d739..0000000 --- a/tools/gopher-kart/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM httpd - -# Copy Apache config. -COPY httpd.conf /usr/local/apache2/conf/httpd.conf - -# Copy source files. -COPY . /usr/local/apache2/htdocs/ diff --git a/tools/gopher-kart/Makefile b/tools/gopher-kart/Makefile deleted file mode 100644 index af707df..0000000 --- a/tools/gopher-kart/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -build: - @docker build -t quay.io/ardanlabs/ardan-labs-racing-game . - -run: build - @docker run -p 8080:80 quay.io/ardanlabs/ardan-labs-racing-game - -push: build - @docker push quay.io/ardanlabs/ardan-labs-racing-game - -deploy: push - @curl -X POST -d "" https://hooks.cloud66.com/stacks/redeploy/103c4c9d8e625f05551c9d64256a30b6/2c366231dcab8d579e51077d21157ac0?services=ardan-labs-api,ardan-labs-hugo - -open: - @open http://localhost:8080 diff --git a/tools/gopher-kart/README.md b/tools/gopher-kart/README.md deleted file mode 100644 index 696788d..0000000 --- a/tools/gopher-kart/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# GopherCon Racing Game - -Created by Jamilet Zelaya with very little help from Erick Zelaya. - -# Run - -You can simply double click on `index.html`. - -Additionally you can also run with Docker (naturally it's required for this). -Apache will start and log all the requests. - -``` -make run -``` - -You can now go to http://localhost:8080 or use make. - -``` -make open -``` - diff --git a/tools/gopher-kart/assets/back-button.png b/tools/gopher-kart/assets/back-button.png deleted file mode 100644 index 9effb1a..0000000 Binary files a/tools/gopher-kart/assets/back-button.png and /dev/null differ diff --git a/tools/gopher-kart/assets/beige-gopher.png b/tools/gopher-kart/assets/beige-gopher.png deleted file mode 100644 index 1bb23e4..0000000 Binary files a/tools/gopher-kart/assets/beige-gopher.png and /dev/null differ diff --git a/tools/gopher-kart/assets/bg-color.png b/tools/gopher-kart/assets/bg-color.png deleted file mode 100644 index 46cdc93..0000000 Binary files a/tools/gopher-kart/assets/bg-color.png and /dev/null differ diff --git a/tools/gopher-kart/assets/black-gopher.png b/tools/gopher-kart/assets/black-gopher.png deleted file mode 100644 index e9173d6..0000000 Binary files a/tools/gopher-kart/assets/black-gopher.png and /dev/null differ diff --git a/tools/gopher-kart/assets/blue-crawl.png b/tools/gopher-kart/assets/blue-crawl.png deleted file mode 100644 index bea4113..0000000 Binary files a/tools/gopher-kart/assets/blue-crawl.png and /dev/null differ diff --git a/tools/gopher-kart/assets/bottom-rail-long.png b/tools/gopher-kart/assets/bottom-rail-long.png deleted file mode 100644 index 912665e..0000000 Binary files a/tools/gopher-kart/assets/bottom-rail-long.png and /dev/null differ diff --git a/tools/gopher-kart/assets/bottom-rail.png b/tools/gopher-kart/assets/bottom-rail.png deleted file mode 100644 index c489d27..0000000 Binary files a/tools/gopher-kart/assets/bottom-rail.png and /dev/null differ diff --git a/tools/gopher-kart/assets/burgundy-gopher.png b/tools/gopher-kart/assets/burgundy-gopher.png deleted file mode 100644 index b663e30..0000000 Binary files a/tools/gopher-kart/assets/burgundy-gopher.png and /dev/null differ diff --git a/tools/gopher-kart/assets/character-select-bg.png b/tools/gopher-kart/assets/character-select-bg.png deleted file mode 100644 index ee26431..0000000 Binary files a/tools/gopher-kart/assets/character-select-bg.png and /dev/null differ diff --git a/tools/gopher-kart/assets/character-select-loops.png b/tools/gopher-kart/assets/character-select-loops.png deleted file mode 100644 index 4952441..0000000 Binary files a/tools/gopher-kart/assets/character-select-loops.png and /dev/null differ diff --git a/tools/gopher-kart/assets/city-re-colored.png b/tools/gopher-kart/assets/city-re-colored.png deleted file mode 100644 index e711d39..0000000 Binary files a/tools/gopher-kart/assets/city-re-colored.png and /dev/null differ diff --git a/tools/gopher-kart/assets/city-scape.png b/tools/gopher-kart/assets/city-scape.png deleted file mode 100644 index b629bd2..0000000 Binary files a/tools/gopher-kart/assets/city-scape.png and /dev/null differ diff --git a/tools/gopher-kart/assets/city.png b/tools/gopher-kart/assets/city.png deleted file mode 100644 index daef05c..0000000 Binary files a/tools/gopher-kart/assets/city.png and /dev/null differ diff --git a/tools/gopher-kart/assets/clouds-re-colored.png b/tools/gopher-kart/assets/clouds-re-colored.png deleted file mode 100644 index 6235b2a..0000000 Binary files a/tools/gopher-kart/assets/clouds-re-colored.png and /dev/null differ diff --git a/tools/gopher-kart/assets/clouds.png b/tools/gopher-kart/assets/clouds.png deleted file mode 100644 index 9239063..0000000 Binary files a/tools/gopher-kart/assets/clouds.png and /dev/null differ diff --git a/tools/gopher-kart/assets/coin-shadow.png b/tools/gopher-kart/assets/coin-shadow.png deleted file mode 100644 index 8fce9dd..0000000 Binary files a/tools/gopher-kart/assets/coin-shadow.png and /dev/null differ diff --git a/tools/gopher-kart/assets/coin.png b/tools/gopher-kart/assets/coin.png deleted file mode 100644 index ddca33a..0000000 Binary files a/tools/gopher-kart/assets/coin.png and /dev/null differ diff --git a/tools/gopher-kart/assets/controls-animation.png b/tools/gopher-kart/assets/controls-animation.png deleted file mode 100644 index 3ac49df..0000000 Binary files a/tools/gopher-kart/assets/controls-animation.png and /dev/null differ diff --git a/tools/gopher-kart/assets/controls-button.png b/tools/gopher-kart/assets/controls-button.png deleted file mode 100644 index 4efa8bb..0000000 Binary files a/tools/gopher-kart/assets/controls-button.png and /dev/null differ diff --git a/tools/gopher-kart/assets/count-down.png b/tools/gopher-kart/assets/count-down.png deleted file mode 100644 index 58c0cb8..0000000 Binary files a/tools/gopher-kart/assets/count-down.png and /dev/null differ diff --git a/tools/gopher-kart/assets/explosion.png b/tools/gopher-kart/assets/explosion.png deleted file mode 100644 index 0caa15d..0000000 Binary files a/tools/gopher-kart/assets/explosion.png and /dev/null differ diff --git a/tools/gopher-kart/assets/fonts/bitmapFonts/pixelFont.png b/tools/gopher-kart/assets/fonts/bitmapFonts/pixelFont.png deleted file mode 100644 index b05cbe4..0000000 Binary files a/tools/gopher-kart/assets/fonts/bitmapFonts/pixelFont.png and /dev/null differ diff --git a/tools/gopher-kart/assets/fonts/bitmapFonts/pixelFont.xml b/tools/gopher-kart/assets/fonts/bitmapFonts/pixelFont.xml deleted file mode 100644 index ce54875..0000000 --- a/tools/gopher-kart/assets/fonts/bitmapFonts/pixelFont.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/tools/gopher-kart/assets/game-over.png b/tools/gopher-kart/assets/game-over.png deleted file mode 100644 index 13514f2..0000000 Binary files a/tools/gopher-kart/assets/game-over.png and /dev/null differ diff --git a/tools/gopher-kart/assets/go-button.png b/tools/gopher-kart/assets/go-button.png deleted file mode 100644 index e382fd2..0000000 Binary files a/tools/gopher-kart/assets/go-button.png and /dev/null differ diff --git a/tools/gopher-kart/assets/go-ex-truck.png b/tools/gopher-kart/assets/go-ex-truck.png deleted file mode 100644 index 33bab45..0000000 Binary files a/tools/gopher-kart/assets/go-ex-truck.png and /dev/null differ diff --git a/tools/gopher-kart/assets/go.png b/tools/gopher-kart/assets/go.png deleted file mode 100644 index 822fcd1..0000000 Binary files a/tools/gopher-kart/assets/go.png and /dev/null differ diff --git a/tools/gopher-kart/assets/gopher-blue-updated.png b/tools/gopher-kart/assets/gopher-blue-updated.png deleted file mode 100644 index 76c134b..0000000 Binary files a/tools/gopher-kart/assets/gopher-blue-updated.png and /dev/null differ diff --git a/tools/gopher-kart/assets/gopher-blue.png b/tools/gopher-kart/assets/gopher-blue.png deleted file mode 100644 index 505f80b..0000000 Binary files a/tools/gopher-kart/assets/gopher-blue.png and /dev/null differ diff --git a/tools/gopher-kart/assets/gopher-pink.png b/tools/gopher-kart/assets/gopher-pink.png deleted file mode 100644 index aa25b48..0000000 Binary files a/tools/gopher-kart/assets/gopher-pink.png and /dev/null differ diff --git a/tools/gopher-kart/assets/gopher-purple.png b/tools/gopher-kart/assets/gopher-purple.png deleted file mode 100644 index c40ddc6..0000000 Binary files a/tools/gopher-kart/assets/gopher-purple.png and /dev/null differ diff --git a/tools/gopher-kart/assets/heart-17x16.png b/tools/gopher-kart/assets/heart-17x16.png deleted file mode 100644 index 4a29fa6..0000000 Binary files a/tools/gopher-kart/assets/heart-17x16.png and /dev/null differ diff --git a/tools/gopher-kart/assets/light-posts.png b/tools/gopher-kart/assets/light-posts.png deleted file mode 100644 index 30545c5..0000000 Binary files a/tools/gopher-kart/assets/light-posts.png and /dev/null differ diff --git a/tools/gopher-kart/assets/main-menu-buttons.png b/tools/gopher-kart/assets/main-menu-buttons.png deleted file mode 100644 index 7ddc634..0000000 Binary files a/tools/gopher-kart/assets/main-menu-buttons.png and /dev/null differ diff --git a/tools/gopher-kart/assets/menu-animation-flags.png b/tools/gopher-kart/assets/menu-animation-flags.png deleted file mode 100644 index a6baf4a..0000000 Binary files a/tools/gopher-kart/assets/menu-animation-flags.png and /dev/null differ diff --git a/tools/gopher-kart/assets/menu-animation.png b/tools/gopher-kart/assets/menu-animation.png deleted file mode 100644 index 463ec63..0000000 Binary files a/tools/gopher-kart/assets/menu-animation.png and /dev/null differ diff --git a/tools/gopher-kart/assets/mobile-bg.png b/tools/gopher-kart/assets/mobile-bg.png deleted file mode 100644 index df9198f..0000000 Binary files a/tools/gopher-kart/assets/mobile-bg.png and /dev/null differ diff --git a/tools/gopher-kart/assets/mobile-text-small.png b/tools/gopher-kart/assets/mobile-text-small.png deleted file mode 100644 index 5d057b8..0000000 Binary files a/tools/gopher-kart/assets/mobile-text-small.png and /dev/null differ diff --git a/tools/gopher-kart/assets/mobile-text.png b/tools/gopher-kart/assets/mobile-text.png deleted file mode 100644 index cb1e2f5..0000000 Binary files a/tools/gopher-kart/assets/mobile-text.png and /dev/null differ diff --git a/tools/gopher-kart/assets/mountains-recolored.png b/tools/gopher-kart/assets/mountains-recolored.png deleted file mode 100644 index 2ae16af..0000000 Binary files a/tools/gopher-kart/assets/mountains-recolored.png and /dev/null differ diff --git a/tools/gopher-kart/assets/music/BeepBox-Song1-compressed.m4a b/tools/gopher-kart/assets/music/BeepBox-Song1-compressed.m4a deleted file mode 100644 index aefce1a..0000000 Binary files a/tools/gopher-kart/assets/music/BeepBox-Song1-compressed.m4a and /dev/null differ diff --git a/tools/gopher-kart/assets/music/BeepBox-Song2-compressed.m4a b/tools/gopher-kart/assets/music/BeepBox-Song2-compressed.m4a deleted file mode 100644 index 8409cf2..0000000 Binary files a/tools/gopher-kart/assets/music/BeepBox-Song2-compressed.m4a and /dev/null differ diff --git a/tools/gopher-kart/assets/music/BeepBox-Song3-compressed.m4a b/tools/gopher-kart/assets/music/BeepBox-Song3-compressed.m4a deleted file mode 100644 index 1898f82..0000000 Binary files a/tools/gopher-kart/assets/music/BeepBox-Song3-compressed.m4a and /dev/null differ diff --git a/tools/gopher-kart/assets/music/countdown.wav b/tools/gopher-kart/assets/music/countdown.wav deleted file mode 100644 index 8ddc84e..0000000 Binary files a/tools/gopher-kart/assets/music/countdown.wav and /dev/null differ diff --git a/tools/gopher-kart/assets/music/goverrr-compressed.m4a b/tools/gopher-kart/assets/music/goverrr-compressed.m4a deleted file mode 100644 index 09b22c3..0000000 Binary files a/tools/gopher-kart/assets/music/goverrr-compressed.m4a and /dev/null differ diff --git a/tools/gopher-kart/assets/music/racingMain-compressed.m4a b/tools/gopher-kart/assets/music/racingMain-compressed.m4a deleted file mode 100644 index ad34cca..0000000 Binary files a/tools/gopher-kart/assets/music/racingMain-compressed.m4a and /dev/null differ diff --git a/tools/gopher-kart/assets/music/sfx/Untitled 123 Random.wav b/tools/gopher-kart/assets/music/sfx/Untitled 123 Random.wav deleted file mode 100644 index 2eb14b6..0000000 Binary files a/tools/gopher-kart/assets/music/sfx/Untitled 123 Random.wav and /dev/null differ diff --git a/tools/gopher-kart/assets/music/sfx/accelerate.wav b/tools/gopher-kart/assets/music/sfx/accelerate.wav deleted file mode 100644 index d7318aa..0000000 Binary files a/tools/gopher-kart/assets/music/sfx/accelerate.wav and /dev/null differ diff --git a/tools/gopher-kart/assets/music/sfx/button-select.wav b/tools/gopher-kart/assets/music/sfx/button-select.wav deleted file mode 100644 index f92c176..0000000 Binary files a/tools/gopher-kart/assets/music/sfx/button-select.wav and /dev/null differ diff --git a/tools/gopher-kart/assets/music/sfx/coin.wav b/tools/gopher-kart/assets/music/sfx/coin.wav deleted file mode 100644 index 7b75593..0000000 Binary files a/tools/gopher-kart/assets/music/sfx/coin.wav and /dev/null differ diff --git a/tools/gopher-kart/assets/music/sfx/countdown.wav b/tools/gopher-kart/assets/music/sfx/countdown.wav deleted file mode 100644 index 8ddc84e..0000000 Binary files a/tools/gopher-kart/assets/music/sfx/countdown.wav and /dev/null differ diff --git a/tools/gopher-kart/assets/music/sfx/crash.wav b/tools/gopher-kart/assets/music/sfx/crash.wav deleted file mode 100644 index d59c848..0000000 Binary files a/tools/gopher-kart/assets/music/sfx/crash.wav and /dev/null differ diff --git a/tools/gopher-kart/assets/music/sfx/drive.wav b/tools/gopher-kart/assets/music/sfx/drive.wav deleted file mode 100644 index a475aaa..0000000 Binary files a/tools/gopher-kart/assets/music/sfx/drive.wav and /dev/null differ diff --git a/tools/gopher-kart/assets/music/sfx/game_over.wav b/tools/gopher-kart/assets/music/sfx/game_over.wav deleted file mode 100644 index dbf266f..0000000 Binary files a/tools/gopher-kart/assets/music/sfx/game_over.wav and /dev/null differ diff --git a/tools/gopher-kart/assets/music/sfx/npc_explosion.wav b/tools/gopher-kart/assets/music/sfx/npc_explosion.wav deleted file mode 100644 index 595b01f..0000000 Binary files a/tools/gopher-kart/assets/music/sfx/npc_explosion.wav and /dev/null differ diff --git a/tools/gopher-kart/assets/music/sfx/select.wav b/tools/gopher-kart/assets/music/sfx/select.wav deleted file mode 100644 index 3d13db8..0000000 Binary files a/tools/gopher-kart/assets/music/sfx/select.wav and /dev/null differ diff --git a/tools/gopher-kart/assets/music/tutorialScreenJam-compressed.m4a b/tools/gopher-kart/assets/music/tutorialScreenJam-compressed.m4a deleted file mode 100644 index f739cb1..0000000 Binary files a/tools/gopher-kart/assets/music/tutorialScreenJam-compressed.m4a and /dev/null differ diff --git a/tools/gopher-kart/assets/neon-sign.png b/tools/gopher-kart/assets/neon-sign.png deleted file mode 100644 index f1b7559..0000000 Binary files a/tools/gopher-kart/assets/neon-sign.png and /dev/null differ diff --git a/tools/gopher-kart/assets/on-off-buttons.png b/tools/gopher-kart/assets/on-off-buttons.png deleted file mode 100644 index fd436df..0000000 Binary files a/tools/gopher-kart/assets/on-off-buttons.png and /dev/null differ diff --git a/tools/gopher-kart/assets/one.png b/tools/gopher-kart/assets/one.png deleted file mode 100644 index 4693943..0000000 Binary files a/tools/gopher-kart/assets/one.png and /dev/null differ diff --git a/tools/gopher-kart/assets/other-gophers.png b/tools/gopher-kart/assets/other-gophers.png deleted file mode 100644 index defe1c2..0000000 Binary files a/tools/gopher-kart/assets/other-gophers.png and /dev/null differ diff --git a/tools/gopher-kart/assets/pink-crawl.png b/tools/gopher-kart/assets/pink-crawl.png deleted file mode 100644 index 06f652c..0000000 Binary files a/tools/gopher-kart/assets/pink-crawl.png and /dev/null differ diff --git a/tools/gopher-kart/assets/play-button.png b/tools/gopher-kart/assets/play-button.png deleted file mode 100644 index 9afcbbf..0000000 Binary files a/tools/gopher-kart/assets/play-button.png and /dev/null differ diff --git a/tools/gopher-kart/assets/post-score.png b/tools/gopher-kart/assets/post-score.png deleted file mode 100644 index 65d4f3e..0000000 Binary files a/tools/gopher-kart/assets/post-score.png and /dev/null differ diff --git a/tools/gopher-kart/assets/purple-crawl.png b/tools/gopher-kart/assets/purple-crawl.png deleted file mode 100644 index e163dae..0000000 Binary files a/tools/gopher-kart/assets/purple-crawl.png and /dev/null differ diff --git a/tools/gopher-kart/assets/road-tile.png b/tools/gopher-kart/assets/road-tile.png deleted file mode 100644 index 92bc9f6..0000000 Binary files a/tools/gopher-kart/assets/road-tile.png and /dev/null differ diff --git a/tools/gopher-kart/assets/semi-truck.png b/tools/gopher-kart/assets/semi-truck.png deleted file mode 100644 index 56866b1..0000000 Binary files a/tools/gopher-kart/assets/semi-truck.png and /dev/null differ diff --git a/tools/gopher-kart/assets/signs.png b/tools/gopher-kart/assets/signs.png deleted file mode 100644 index e5796ac..0000000 Binary files a/tools/gopher-kart/assets/signs.png and /dev/null differ diff --git a/tools/gopher-kart/assets/stop.gif b/tools/gopher-kart/assets/stop.gif deleted file mode 100644 index 19c8609..0000000 Binary files a/tools/gopher-kart/assets/stop.gif and /dev/null differ diff --git a/tools/gopher-kart/assets/stop.png b/tools/gopher-kart/assets/stop.png deleted file mode 100644 index b87888c..0000000 Binary files a/tools/gopher-kart/assets/stop.png and /dev/null differ diff --git a/tools/gopher-kart/assets/three.png b/tools/gopher-kart/assets/three.png deleted file mode 100644 index 411876e..0000000 Binary files a/tools/gopher-kart/assets/three.png and /dev/null differ diff --git a/tools/gopher-kart/assets/top-rail-long.png b/tools/gopher-kart/assets/top-rail-long.png deleted file mode 100644 index d92d5b0..0000000 Binary files a/tools/gopher-kart/assets/top-rail-long.png and /dev/null differ diff --git a/tools/gopher-kart/assets/top-rail-patchy.png b/tools/gopher-kart/assets/top-rail-patchy.png deleted file mode 100644 index f8333f8..0000000 Binary files a/tools/gopher-kart/assets/top-rail-patchy.png and /dev/null differ diff --git a/tools/gopher-kart/assets/top-rail.png b/tools/gopher-kart/assets/top-rail.png deleted file mode 100644 index 03ab67a..0000000 Binary files a/tools/gopher-kart/assets/top-rail.png and /dev/null differ diff --git a/tools/gopher-kart/assets/truck.png b/tools/gopher-kart/assets/truck.png deleted file mode 100644 index 7ef70be..0000000 Binary files a/tools/gopher-kart/assets/truck.png and /dev/null differ diff --git a/tools/gopher-kart/assets/try-again.png b/tools/gopher-kart/assets/try-again.png deleted file mode 100644 index c367fbe..0000000 Binary files a/tools/gopher-kart/assets/try-again.png and /dev/null differ diff --git a/tools/gopher-kart/assets/two.png b/tools/gopher-kart/assets/two.png deleted file mode 100644 index d0cc892..0000000 Binary files a/tools/gopher-kart/assets/two.png and /dev/null differ diff --git a/tools/gopher-kart/assets/web/Untitled-1.jpg b/tools/gopher-kart/assets/web/Untitled-1.jpg deleted file mode 100644 index e659195..0000000 Binary files a/tools/gopher-kart/assets/web/Untitled-1.jpg and /dev/null differ diff --git a/tools/gopher-kart/assets/web/arcade-bg.jpg b/tools/gopher-kart/assets/web/arcade-bg.jpg deleted file mode 100644 index 186396f..0000000 Binary files a/tools/gopher-kart/assets/web/arcade-bg.jpg and /dev/null differ diff --git a/tools/gopher-kart/assets/web/arcade-cabinet-light.png b/tools/gopher-kart/assets/web/arcade-cabinet-light.png deleted file mode 100644 index e60176a..0000000 Binary files a/tools/gopher-kart/assets/web/arcade-cabinet-light.png and /dev/null differ diff --git a/tools/gopher-kart/assets/web/arcade-cabinet-simple.png b/tools/gopher-kart/assets/web/arcade-cabinet-simple.png deleted file mode 100644 index 3eb22e1..0000000 Binary files a/tools/gopher-kart/assets/web/arcade-cabinet-simple.png and /dev/null differ diff --git a/tools/gopher-kart/assets/web/arcade-cabinet-small.png b/tools/gopher-kart/assets/web/arcade-cabinet-small.png deleted file mode 100644 index 5f2e676..0000000 Binary files a/tools/gopher-kart/assets/web/arcade-cabinet-small.png and /dev/null differ diff --git a/tools/gopher-kart/assets/web/arcade-cabinet.png b/tools/gopher-kart/assets/web/arcade-cabinet.png deleted file mode 100644 index e4882d7..0000000 Binary files a/tools/gopher-kart/assets/web/arcade-cabinet.png and /dev/null differ diff --git a/tools/gopher-kart/assets/web/arcade-page-light.png b/tools/gopher-kart/assets/web/arcade-page-light.png deleted file mode 100644 index e60176a..0000000 Binary files a/tools/gopher-kart/assets/web/arcade-page-light.png and /dev/null differ diff --git a/tools/gopher-kart/assets/web/arcade-page-pixel.png b/tools/gopher-kart/assets/web/arcade-page-pixel.png deleted file mode 100644 index a561889..0000000 Binary files a/tools/gopher-kart/assets/web/arcade-page-pixel.png and /dev/null differ diff --git a/tools/gopher-kart/assets/web/arcade-page-small.png b/tools/gopher-kart/assets/web/arcade-page-small.png deleted file mode 100644 index 45c9c1b..0000000 Binary files a/tools/gopher-kart/assets/web/arcade-page-small.png and /dev/null differ diff --git a/tools/gopher-kart/assets/web/bg.jpg b/tools/gopher-kart/assets/web/bg.jpg deleted file mode 100644 index a7432c7..0000000 Binary files a/tools/gopher-kart/assets/web/bg.jpg and /dev/null differ diff --git a/tools/gopher-kart/assets/web/full-bg.jpg b/tools/gopher-kart/assets/web/full-bg.jpg deleted file mode 100644 index 5fb63ee..0000000 Binary files a/tools/gopher-kart/assets/web/full-bg.jpg and /dev/null differ diff --git a/tools/gopher-kart/assets/web/full-bg.png b/tools/gopher-kart/assets/web/full-bg.png deleted file mode 100644 index 1efdda4..0000000 Binary files a/tools/gopher-kart/assets/web/full-bg.png and /dev/null differ diff --git a/tools/gopher-kart/assets/web/machine.png b/tools/gopher-kart/assets/web/machine.png deleted file mode 100644 index d4c7d7d..0000000 Binary files a/tools/gopher-kart/assets/web/machine.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/.appveyor.yml b/tools/gopher-kart/css/milligram/.appveyor.yml deleted file mode 100644 index 2a5e900..0000000 --- a/tools/gopher-kart/css/milligram/.appveyor.yml +++ /dev/null @@ -1,19 +0,0 @@ -environment: - matrix: - - nodejs_version: 7 - - nodejs_version: 6 - - nodejs_version: 5 - - nodejs_version: 4 -install: - - ps: Install-Product node $env:nodejs_version - - set CI=true - - npm i -g npm - - set PATH=%APPDATA%\npm;%PATH% - - npm i -matrix: - fast_finish: true -build: off -version: '{build}' -shallow_clone: true -clone_depth: 1 -test_script: npm t diff --git a/tools/gopher-kart/css/milligram/.editorconfig b/tools/gopher-kart/css/milligram/.editorconfig deleted file mode 100644 index 36f585c..0000000 --- a/tools/gopher-kart/css/milligram/.editorconfig +++ /dev/null @@ -1,12 +0,0 @@ -root = true - -[*] -indent_style = tab -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[{*.yml}] -indent_style = space -indent_size = 2 diff --git a/tools/gopher-kart/css/milligram/.eslintrc b/tools/gopher-kart/css/milligram/.eslintrc deleted file mode 100644 index 2742b60..0000000 --- a/tools/gopher-kart/css/milligram/.eslintrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "styled" -} diff --git a/tools/gopher-kart/css/milligram/.github/contributing.md b/tools/gopher-kart/css/milligram/.github/contributing.md deleted file mode 100644 index 88e7095..0000000 --- a/tools/gopher-kart/css/milligram/.github/contributing.md +++ /dev/null @@ -1,96 +0,0 @@ -# Contributing - -We would love for you to contribute to Milligram and help us make this even better! Start reading this document to see it is not difficult as you might have imagined. - - -## Table of Contents - -- [Open an Issue](#open-an-issue) -- [Submit a Pull Request](#submit-a-pull-request) -- [Building](#building) -- [Style Guide](#style-guide) -- [Test](#test) -- [Code of Conduct](#code-of-conduct) -- [License](#license) - - -## Open an Issue - -[Open an Issue](https://github.com/milligram/milligram/issues/new) to report any problems or improvements. When necessary, use [Codepen](http://codepen.io/) to show the problem. Be sure to include some description to explain the problem. - - -## Submit a Pull Request - -To submit a new feature, make sure that changes are done to the source code. [Follow our style guide](#style-guide) and do not forget the tests and attach the link [Codepen](http://codepen.io/) along with the description. - -Try to solve a problem for each pull request, this increases the chances of acceptance. When in doubt, open a [new issue](#open-an-issue) so we can answer you. Look existing issues for ideas or to see if a similar issue has already been submitted. - -1. Fork the Github repo: `git clone https://github.com/milligram/milligram.git` -1. Create a new branch: `git checkout -b issuenumber-feature-name` -1. Commit your changes: `git commit -m 'issuenumber-feature-name'` -1. Push to the branch: `git push origin my-feature-name` -1. Submit a pull request! - -*Note: For issues relating to the site, please use the [milligram.github.io](https://github.com/milligram/milligram.github.io)* - - -## Building - -First install [Node.js](https://nodejs.org/en/download/) for the build process. Now install all the dependencies, run `npm install` from the project directory. Once you have the dependencies installed, run `npm start`. This will run the build task which compiles the Sass files into Milligram.css file in the expanded and compressed version. - - -## Style Guide - -Milligram use [Sass](http://sass-lang.com/) to give super powers to CSS. Look at how the code is being maintained, we must always be consistent. We try to follow best practices as much as possible. In addition, here are some tips you should follow: - -- Properties and selectors are sorted in alphabetical order -- Always use tab to indentation, no spaces -- Always use single quote, i.e. `content: ''` -- Quote attribute values in selectors, i.e. `input[type='checkbox']` -- Avoid specifying units for zero-values, i.e. `margin: 0` -- Use `rem` unit instead of `px` -- Use lowercase and shorthand hex values, i.e. `#fff` -- Use one discrete selector per line in multi-selector rulesets -- Include a single space after colon and after each comma -- Separate each ruleset by a blank line -- Don't use prefixes, there is a task to generate this automatically - -```sass -.selector-a, -.selector-b, -.selector-c, -.selector-d[type='text'] - box-sizing: border-box - color: #333 - content: '' - display: inline-block - font-family: 'Helvetica-Neue', 'Helvetica', 'Arial', sans-serif - margin-bottom: 0 - margin-left: 5.0rem - - .other-selector-a - background: #fff - - .other-selector-b - background: #fff - - &.increasing-the-specificity - color: #000 -``` - -*Note: This style guide was inspired by [Idiomatic.css](https://github.com/necolas/idiomatic-css). Milligram uses an `.editorconfig` file, which most editors support, to enforce these coding standards.* - - -## Test - -Breaking CSS is easy. Checking every responsive page element is hard. That's why Milligram uses automated visual regression testing for responsive web UI by comparing DOM screenshots at various viewport sizes. To view the comparison run `npm test` after making changes to the source code. - - -## Code of Conduct - -Help us keep Milligram open and inclusive. Please read and follow our thoughts on [Code of Conduct](http://confcodeofconduct.com/). - - -## License - -By contributing your code, you agree to license your contribution under the [MIT license](https://github.com/milligram/milligram#license). diff --git a/tools/gopher-kart/css/milligram/.github/issue_template.md b/tools/gopher-kart/css/milligram/.github/issue_template.md deleted file mode 100644 index b00ec68..0000000 --- a/tools/gopher-kart/css/milligram/.github/issue_template.md +++ /dev/null @@ -1,47 +0,0 @@ - - - -### Version info - - - -**Milligram:** - -**Other (e.g. normalize.css, node.js, npm, bower, browser, operating system) (if applicable):** - - -### Test case - - - - -### Steps to reproduce - - - - -### Expected behavior - - - - -### Actual behavior - - diff --git a/tools/gopher-kart/css/milligram/.github/pull_request_template.md b/tools/gopher-kart/css/milligram/.github/pull_request_template.md deleted file mode 100644 index 35921a6..0000000 --- a/tools/gopher-kart/css/milligram/.github/pull_request_template.md +++ /dev/null @@ -1,36 +0,0 @@ - - - -### Description - - - -### Code sample - - diff --git a/tools/gopher-kart/css/milligram/.sasslintrc b/tools/gopher-kart/css/milligram/.sasslintrc deleted file mode 100644 index 1392187..0000000 --- a/tools/gopher-kart/css/milligram/.sasslintrc +++ /dev/null @@ -1,74 +0,0 @@ -######################### -## Sass Lint File -## See rules https://github.com/sasstools/sass-lint/tree/master/docs/rules -######################### -# Linter Options -options: - # Don't merge default rules - merge-default-rules: false -# File Options -files: - include: 'src/**/*.s+(a|c)ss' - ignore: - - 'node_modules/**/*.*' -# Rule Configuration -rules: - attribute-quotes: - - 2 - - - include: true - extends-before-mixins: 2 - extends-before-declarations: 2 - placeholder-in-extend: 2 - mixins-before-declarations: - - 2 - - - exclude: - - breakpoint - - mq - nesting-depth: - - 1 - - - max-depth: 2 - no-warn: 1 - no-debug: 1 - no-ids: 2 - no-duplicate-properties: 1 - no-trailing-whitespace: 2 - - leading-zero: - - 2 - - - include: false - no-vendor-prefixes: - - 2 - - - ignore-non-standard: true - no-important: 2 - hex-notation: - - 2 - - - style: lowercase - indentation: - - 2 - - - size: 'tab' - property-sort-order: - - 1 - - - order: 'alphabetical' - ignore-custom-properties: true - property-units: - - 1 - - - global: ['em', 'rem', '%'] - quotes: 2 - space-after-colon: 2 - space-after-comma: 2 - single-line-per-selector: 2 - variable-for-property: - - 2 - - - properties: - - color - zero-unit: 2 diff --git a/tools/gopher-kart/css/milligram/.travis.yml b/tools/gopher-kart/css/milligram/.travis.yml deleted file mode 100644 index d257d29..0000000 --- a/tools/gopher-kart/css/milligram/.travis.yml +++ /dev/null @@ -1,8 +0,0 @@ -language: node_js -node_js: - - 7 - - 6 - - 5 - - 4 -before_install: - - npm i -g npm diff --git a/tools/gopher-kart/css/milligram/backstop.conf.js b/tools/gopher-kart/css/milligram/backstop.conf.js deleted file mode 100644 index 91c6f0b..0000000 --- a/tools/gopher-kart/css/milligram/backstop.conf.js +++ /dev/null @@ -1,130 +0,0 @@ -'use strict' -const config = { - viewports: [{ - name: 'phone', - width: 320, - height: 480 - }, { - name: 'laptop', - width: 1280, - height: 800 - }], - scenarios: [{ - label: 'Typography', - url: 'http://localhost:3000', - hideSelectors: [], - removeSelectors: [], - selectors: ['#typography .example'], - readyEvent: null, - delay: 500, - misMatchThreshold: 0.1, - onReadyScript: null, - onBeforeScript: null - }, { - label: 'Blockquotes', - url: 'http://localhost:3000', - hideSelectors: [], - removeSelectors: [], - selectors: ['#blockquotes .example'], - readyEvent: null, - delay: 500, - misMatchThreshold: 0.1, - onReadyScript: null, - onBeforeScript: null - }, { - label: 'Buttons', - url: 'http://localhost:3000', - hideSelectors: [], - removeSelectors: [], - selectors: ['#buttons .example'], - readyEvent: null, - delay: 500, - misMatchThreshold: 0.1, - onReadyScript: null, - onBeforeScript: null - }, { - label: 'Lists', - url: 'http://localhost:3000', - hideSelectors: [], - removeSelectors: [], - selectors: ['#lists .example'], - readyEvent: null, - delay: 500, - misMatchThreshold: 0.1, - onReadyScript: null, - onBeforeScript: null - }, { - label: 'Forms', - url: 'http://localhost:3000', - hideSelectors: [], - removeSelectors: [], - selectors: ['#forms .example'], - readyEvent: null, - delay: 500, - misMatchThreshold: 0.1, - onReadyScript: null, - onBeforeScript: null - }, { - label: 'Tables', - url: 'http://localhost:3000', - hideSelectors: [], - removeSelectors: [], - selectors: ['#tables .example'], - readyEvent: null, - delay: 500, - misMatchThreshold: 0.1, - onReadyScript: null, - onBeforeScript: null - }, { - label: 'Grids', - url: 'http://localhost:3000', - hideSelectors: [], - removeSelectors: [], - selectors: ['#grids .example'], - readyEvent: null, - delay: 500, - misMatchThreshold: 0.1, - onReadyScript: null, - onBeforeScript: null - }, { - label: 'Codes', - url: 'http://localhost:3000', - hideSelectors: [], - removeSelectors: [], - selectors: ['#codes .example'], - readyEvent: null, - delay: 500, - misMatchThreshold: 0.1, - onReadyScript: null, - onBeforeScript: null - }, { - label: 'Utilities', - url: 'http://localhost:3000', - hideSelectors: [], - removeSelectors: [], - selectors: ['#utilities .example'], - readyEvent: null, - delay: 500, - misMatchThreshold: 0.1, - onReadyScript: null, - onBeforeScript: null - }], - paths: { - bitmaps_reference: 'test/regression', - bitmaps_test: 'node_modules/backstopjs/.tmp/bitmaps_test', - casper_scripts: 'node_modules/backstopjs/.tmp/casper_scripts', - html_report: 'node_modules/backstopjs/.tmp/html_report', - ci_report: 'node_modules/backstopjs/.tmp/ci_report' - }, - engine: 'phantomjs', - report: [ - 'browser', - 'CLI', - 'CI' - ], - casperFlags: [], - debug: false, - port: 3002 -} - -module.exports = config diff --git a/tools/gopher-kart/css/milligram/bower.json b/tools/gopher-kart/css/milligram/bower.json deleted file mode 100644 index 182d4f9..0000000 --- a/tools/gopher-kart/css/milligram/bower.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "milligram", - "version": "1.3.0", - "description": "A minimalist CSS framework.", - "homepage": "https://milligram.github.io", - "repository": "milligram/milligram", - "license": "MIT", - "author": "CJ Patoilo ", - "main": "dist/milligram.css", - "keywords": [ - "bootstrap", - "css", - "css3", - "flexbox", - "front-end", - "framework", - "html", - "html5", - "kickstarter", - "less", - "responsive", - "mobile", - "mobile-first", - "postcss", - "responsive", - "sass", - "scss", - "stylus" - ], - "ignore": [ - ".appveyor.yml", - ".editorconfig", - ".eslintrc", - ".github", - ".gitignore", - ".npmignore", - ".sasslintrc", - ".travis.yml", - "backstop.conf.js", - "bower.json", - "changelog.md", - "composer.json", - "package.js", - "package.json", - "src", - "test" - ], - "dependencies": { - "normalize.css": "~5.0.0" - } -} diff --git a/tools/gopher-kart/css/milligram/changelog.md b/tools/gopher-kart/css/milligram/changelog.md deleted file mode 100644 index 8ebc647..0000000 --- a/tools/gopher-kart/css/milligram/changelog.md +++ /dev/null @@ -1,5 +0,0 @@ -# Changelog - -**Milligram** uses [GitHub's Releases feature](https://github.com/blog/1547-release-your-software) for its changelogs. - -See our [releases](https://github.com/milligram/milligram/releases) to accompany at the improvements for each version of **Milligram**. diff --git a/tools/gopher-kart/css/milligram/composer.json b/tools/gopher-kart/css/milligram/composer.json deleted file mode 100644 index 0be7340..0000000 --- a/tools/gopher-kart/css/milligram/composer.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "milligram/milligram", - "version": "1.3.0", - "description": "A minimalist CSS framework.", - "homepage": "https://milligram.github.io", - "repository": "milligram/milligram", - "license": "MIT", - "author": "CJ Patoilo ", - "main": "dist/milligram.css", - "keywords": [ - "bootstrap", - "css", - "css3", - "flexbox", - "front-end", - "framework", - "html", - "html5", - "kickstarter", - "less", - "responsive", - "mobile", - "mobile-first", - "postcss", - "responsive", - "sass", - "scss", - "stylus" - ], - "ignore": [ - ".appveyor.yml", - ".editorconfig", - ".eslintrc", - ".github", - ".gitignore", - ".npmignore", - ".sasslintrc", - ".travis.yml", - "backstop.conf.js", - "bower.json", - "changelog.md", - "composer.json", - "package.js", - "package.json", - "src", - "test" - ], - "dependencies": { - "normalize.css": "~5.0.0" - } -} diff --git a/tools/gopher-kart/css/milligram/dist/milligram.css b/tools/gopher-kart/css/milligram/dist/milligram.css deleted file mode 100644 index d253355..0000000 --- a/tools/gopher-kart/css/milligram/dist/milligram.css +++ /dev/null @@ -1,602 +0,0 @@ -/*! - * Milligram v1.3.0 - * https://milligram.github.io - * - * Copyright (c) 2017 CJ Patoilo - * Licensed under the MIT license - */ - -*, -*:after, -*:before { - box-sizing: inherit; -} - -html { - box-sizing: border-box; - font-size: 62.5%; -} - -body { - color: #606c76; - font-family: 'Roboto', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif; - font-size: 1.6em; - font-weight: 300; - letter-spacing: .01em; - line-height: 1.6; -} - -blockquote { - border-left: 0.3rem solid #d1d1d1; - margin-left: 0; - margin-right: 0; - padding: 1rem 1.5rem; -} - -blockquote *:last-child { - margin-bottom: 0; -} - -.button, -button, -input[type='button'], -input[type='reset'], -input[type='submit'] { - background-color: #9b4dca; - border: 0.1rem solid #9b4dca; - border-radius: .4rem; - color: #fff; - cursor: pointer; - display: inline-block; - font-size: 1.1rem; - font-weight: 700; - height: 3.8rem; - letter-spacing: .1rem; - line-height: 3.8rem; - padding: 0 3.0rem; - text-align: center; - text-decoration: none; - text-transform: uppercase; - white-space: nowrap; -} - -.button:focus, .button:hover, -button:focus, -button:hover, -input[type='button']:focus, -input[type='button']:hover, -input[type='reset']:focus, -input[type='reset']:hover, -input[type='submit']:focus, -input[type='submit']:hover { - background-color: #606c76; - border-color: #606c76; - color: #fff; - outline: 0; -} - -.button[disabled], -button[disabled], -input[type='button'][disabled], -input[type='reset'][disabled], -input[type='submit'][disabled] { - cursor: default; - opacity: .5; -} - -.button[disabled]:focus, .button[disabled]:hover, -button[disabled]:focus, -button[disabled]:hover, -input[type='button'][disabled]:focus, -input[type='button'][disabled]:hover, -input[type='reset'][disabled]:focus, -input[type='reset'][disabled]:hover, -input[type='submit'][disabled]:focus, -input[type='submit'][disabled]:hover { - background-color: #9b4dca; - border-color: #9b4dca; -} - -.button.button-outline, -button.button-outline, -input[type='button'].button-outline, -input[type='reset'].button-outline, -input[type='submit'].button-outline { - background-color: transparent; - color: #9b4dca; -} - -.button.button-outline:focus, .button.button-outline:hover, -button.button-outline:focus, -button.button-outline:hover, -input[type='button'].button-outline:focus, -input[type='button'].button-outline:hover, -input[type='reset'].button-outline:focus, -input[type='reset'].button-outline:hover, -input[type='submit'].button-outline:focus, -input[type='submit'].button-outline:hover { - background-color: transparent; - border-color: #606c76; - color: #606c76; -} - -.button.button-outline[disabled]:focus, .button.button-outline[disabled]:hover, -button.button-outline[disabled]:focus, -button.button-outline[disabled]:hover, -input[type='button'].button-outline[disabled]:focus, -input[type='button'].button-outline[disabled]:hover, -input[type='reset'].button-outline[disabled]:focus, -input[type='reset'].button-outline[disabled]:hover, -input[type='submit'].button-outline[disabled]:focus, -input[type='submit'].button-outline[disabled]:hover { - border-color: inherit; - color: #9b4dca; -} - -.button.button-clear, -button.button-clear, -input[type='button'].button-clear, -input[type='reset'].button-clear, -input[type='submit'].button-clear { - background-color: transparent; - border-color: transparent; - color: #9b4dca; -} - -.button.button-clear:focus, .button.button-clear:hover, -button.button-clear:focus, -button.button-clear:hover, -input[type='button'].button-clear:focus, -input[type='button'].button-clear:hover, -input[type='reset'].button-clear:focus, -input[type='reset'].button-clear:hover, -input[type='submit'].button-clear:focus, -input[type='submit'].button-clear:hover { - background-color: transparent; - border-color: transparent; - color: #606c76; -} - -.button.button-clear[disabled]:focus, .button.button-clear[disabled]:hover, -button.button-clear[disabled]:focus, -button.button-clear[disabled]:hover, -input[type='button'].button-clear[disabled]:focus, -input[type='button'].button-clear[disabled]:hover, -input[type='reset'].button-clear[disabled]:focus, -input[type='reset'].button-clear[disabled]:hover, -input[type='submit'].button-clear[disabled]:focus, -input[type='submit'].button-clear[disabled]:hover { - color: #9b4dca; -} - -code { - background: #f4f5f6; - border-radius: .4rem; - font-size: 86%; - margin: 0 .2rem; - padding: .2rem .5rem; - white-space: nowrap; -} - -pre { - background: #f4f5f6; - border-left: 0.3rem solid #9b4dca; - overflow-y: hidden; -} - -pre > code { - border-radius: 0; - display: block; - padding: 1rem 1.5rem; - white-space: pre; -} - -hr { - border: 0; - border-top: 0.1rem solid #f4f5f6; - margin: 3.0rem 0; -} - -input[type='email'], -input[type='number'], -input[type='password'], -input[type='search'], -input[type='tel'], -input[type='text'], -input[type='url'], -textarea, -select { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background-color: transparent; - border: 0.1rem solid #d1d1d1; - border-radius: .4rem; - box-shadow: none; - box-sizing: inherit; - height: 3.8rem; - padding: .6rem 1.0rem; - width: 100%; -} - -input[type='email']:focus, -input[type='number']:focus, -input[type='password']:focus, -input[type='search']:focus, -input[type='tel']:focus, -input[type='text']:focus, -input[type='url']:focus, -textarea:focus, -select:focus { - border-color: #9b4dca; - outline: 0; -} - -select { - background: url('data:image/svg+xml;utf8,') center right no-repeat; - padding-right: 3.0rem; -} - -select:focus { - background-image: url('data:image/svg+xml;utf8,'); -} - -textarea { - min-height: 6.5rem; -} - -label, -legend { - display: block; - font-size: 1.6rem; - font-weight: 700; - margin-bottom: .5rem; -} - -fieldset { - border-width: 0; - padding: 0; -} - -input[type='checkbox'], -input[type='radio'] { - display: inline; -} - -.label-inline { - display: inline-block; - font-weight: normal; - margin-left: .5rem; -} - -.container { - margin: 0 auto; - max-width: 112.0rem; - padding: 0 2.0rem; - position: relative; - width: 100%; -} - -.row { - display: flex; - flex-direction: column; - padding: 0; - width: 100%; -} - -.row.row-no-padding { - padding: 0; -} - -.row.row-no-padding > .column { - padding: 0; -} - -.row.row-wrap { - flex-wrap: wrap; -} - -.row.row-top { - align-items: flex-start; -} - -.row.row-bottom { - align-items: flex-end; -} - -.row.row-center { - align-items: center; -} - -.row.row-stretch { - align-items: stretch; -} - -.row.row-baseline { - align-items: baseline; -} - -.row .column { - display: block; - flex: 1 1 auto; - margin-left: 0; - max-width: 100%; - width: 100%; -} - -.row .column.column-offset-10 { - margin-left: 10%; -} - -.row .column.column-offset-20 { - margin-left: 20%; -} - -.row .column.column-offset-25 { - margin-left: 25%; -} - -.row .column.column-offset-33, .row .column.column-offset-34 { - margin-left: 33.3333%; -} - -.row .column.column-offset-50 { - margin-left: 50%; -} - -.row .column.column-offset-66, .row .column.column-offset-67 { - margin-left: 66.6666%; -} - -.row .column.column-offset-75 { - margin-left: 75%; -} - -.row .column.column-offset-80 { - margin-left: 80%; -} - -.row .column.column-offset-90 { - margin-left: 90%; -} - -.row .column.column-10 { - flex: 0 0 10%; - max-width: 10%; -} - -.row .column.column-20 { - flex: 0 0 20%; - max-width: 20%; -} - -.row .column.column-25 { - flex: 0 0 25%; - max-width: 25%; -} - -.row .column.column-33, .row .column.column-34 { - flex: 0 0 33.3333%; - max-width: 33.3333%; -} - -.row .column.column-40 { - flex: 0 0 40%; - max-width: 40%; -} - -.row .column.column-50 { - flex: 0 0 50%; - max-width: 50%; -} - -.row .column.column-60 { - flex: 0 0 60%; - max-width: 60%; -} - -.row .column.column-66, .row .column.column-67 { - flex: 0 0 66.6666%; - max-width: 66.6666%; -} - -.row .column.column-75 { - flex: 0 0 75%; - max-width: 75%; -} - -.row .column.column-80 { - flex: 0 0 80%; - max-width: 80%; -} - -.row .column.column-90 { - flex: 0 0 90%; - max-width: 90%; -} - -.row .column .column-top { - align-self: flex-start; -} - -.row .column .column-bottom { - align-self: flex-end; -} - -.row .column .column-center { - -ms-grid-row-align: center; - align-self: center; -} - -@media (min-width: 40rem) { - .row { - flex-direction: row; - margin-left: -1.0rem; - width: calc(100% + 2.0rem); - } - .row .column { - margin-bottom: inherit; - padding: 0 1.0rem; - } -} - -a { - color: #9b4dca; - text-decoration: none; -} - -a:focus, a:hover { - color: #606c76; -} - -dl, -ol, -ul { - list-style: none; - margin-top: 0; - padding-left: 0; -} - -dl dl, -dl ol, -dl ul, -ol dl, -ol ol, -ol ul, -ul dl, -ul ol, -ul ul { - font-size: 90%; - margin: 1.5rem 0 1.5rem 3.0rem; -} - -ol { - list-style: decimal inside; -} - -ul { - list-style: circle inside; -} - -.button, -button, -dd, -dt, -li { - margin-bottom: 1.0rem; -} - -fieldset, -input, -select, -textarea { - margin-bottom: 1.5rem; -} - -blockquote, -dl, -figure, -form, -ol, -p, -pre, -table, -ul { - margin-bottom: 2.5rem; -} - -table { - border-spacing: 0; - width: 100%; -} - -td, -th { - border-bottom: 0.1rem solid #e1e1e1; - padding: 1.2rem 1.5rem; - text-align: left; -} - -td:first-child, -th:first-child { - padding-left: 0; -} - -td:last-child, -th:last-child { - padding-right: 0; -} - -b, -strong { - font-weight: bold; -} - -p { - margin-top: 0; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - font-weight: 300; - letter-spacing: -.1rem; - margin-bottom: 2.0rem; - margin-top: 0; -} - -h1 { - font-size: 4.6rem; - line-height: 1.2; -} - -h2 { - font-size: 3.6rem; - line-height: 1.25; -} - -h3 { - font-size: 2.8rem; - line-height: 1.3; -} - -h4 { - font-size: 2.2rem; - letter-spacing: -.08rem; - line-height: 1.35; -} - -h5 { - font-size: 1.8rem; - letter-spacing: -.05rem; - line-height: 1.5; -} - -h6 { - font-size: 1.6rem; - letter-spacing: 0; - line-height: 1.4; -} - -img { - max-width: 100%; -} - -.clearfix:after { - clear: both; - content: ' '; - display: table; -} - -.float-left { - float: left; -} - -.float-right { - float: right; -} - -/*# sourceMappingURL=milligram.css.map */ \ No newline at end of file diff --git a/tools/gopher-kart/css/milligram/dist/milligram.css.map b/tools/gopher-kart/css/milligram/dist/milligram.css.map deleted file mode 100644 index 97abfe8..0000000 --- a/tools/gopher-kart/css/milligram/dist/milligram.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["milligram.css"],"names":[],"mappings":"AAAA;;;EAGE,oBAAoB;CACrB;;AAED;EACE,uBAAuB;EACvB,iBAAiB;CAClB;;AAED;EACE,eAAe;EACf,0EAA0E;EAC1E,iBAAiB;EACjB,iBAAiB;EACjB,sBAAsB;EACtB,iBAAiB;CAClB;;AAED;EACE,kCAAkC;EAClC,eAAe;EACf,gBAAgB;EAChB,qBAAqB;CACtB;;AAED;EACE,iBAAiB;CAClB;;AAED;;;;;EAKE,0BAA0B;EAC1B,6BAA6B;EAC7B,qBAAqB;EACrB,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;EACtB,kBAAkB;EAClB,iBAAiB;EACjB,eAAe;EACf,sBAAsB;EACtB,oBAAoB;EACpB,kBAAkB;EAClB,mBAAmB;EACnB,sBAAsB;EACtB,0BAA0B;EAC1B,oBAAoB;CACrB;;AAED;;;;;;;;;EASE,0BAA0B;EAC1B,sBAAsB;EACtB,YAAY;EACZ,WAAW;CACZ;;AAED;;;;;EAKE,gBAAgB;EAChB,YAAY;CACb;;AAED;;;;;;;;;EASE,0BAA0B;EAC1B,sBAAsB;CACvB;;AAED;;;;;EAKE,8BAA8B;EAC9B,eAAe;CAChB;;AAED;;;;;;;;;EASE,8BAA8B;EAC9B,sBAAsB;EACtB,eAAe;CAChB;;AAED;;;;;;;;;EASE,sBAAsB;EACtB,eAAe;CAChB;;AAED;;;;;EAKE,8BAA8B;EAC9B,0BAA0B;EAC1B,eAAe;CAChB;;AAED;;;;;;;;;EASE,8BAA8B;EAC9B,0BAA0B;EAC1B,eAAe;CAChB;;AAED;;;;;;;;;EASE,eAAe;CAChB;;AAED;EACE,oBAAoB;EACpB,qBAAqB;EACrB,eAAe;EACf,gBAAgB;EAChB,qBAAqB;EACrB,oBAAoB;CACrB;;AAED;EACE,oBAAoB;EACpB,kCAAkC;EAClC,mBAAmB;CACpB;;AAED;EACE,iBAAiB;EACjB,eAAe;EACf,qBAAqB;EACrB,iBAAiB;CAClB;;AAED;EACE,UAAU;EACV,iCAAiC;EACjC,iBAAiB;CAClB;;AAED;;;;;;;;;EASE,yBAAiB;KAAjB,sBAAiB;UAAjB,iBAAiB;EACjB,8BAA8B;EAC9B,6BAA6B;EAC7B,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,eAAe;EACf,sBAAsB;EACtB,YAAY;CACb;;AAED;;;;;;;;;EASE,sBAAsB;EACtB,WAAW;CACZ;;AAED;EACE,oOAAoO;EACpO,sBAAsB;CACvB;;AAED;EACE,mNAAmN;CACpN;;AAED;EACE,mBAAmB;CACpB;;AAED;;EAEE,eAAe;EACf,kBAAkB;EAClB,iBAAiB;EACjB,qBAAqB;CACtB;;AAED;EACE,gBAAgB;EAChB,WAAW;CACZ;;AAED;;EAEE,gBAAgB;CACjB;;AAED;EACE,sBAAsB;EACtB,oBAAoB;EACpB,mBAAmB;CACpB;;AAED;EACE,eAAe;EACf,oBAAoB;EACpB,kBAAkB;EAClB,mBAAmB;EACnB,YAAY;CACb;;AAED;EACE,cAAc;EACd,uBAAuB;EACvB,WAAW;EACX,YAAY;CACb;;AAED;EACE,WAAW;CACZ;;AAED;EACE,WAAW;CACZ;;AAED;EACE,gBAAgB;CACjB;;AAED;EACE,wBAAwB;CACzB;;AAED;EACE,sBAAsB;CACvB;;AAED;EACE,oBAAoB;CACrB;;AAED;EACE,qBAAqB;CACtB;;AAED;EACE,sBAAsB;CACvB;;AAED;EACE,eAAe;EACf,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,YAAY;CACb;;AAED;EACE,iBAAiB;CAClB;;AAED;EACE,iBAAiB;CAClB;;AAED;EACE,iBAAiB;CAClB;;AAED;EACE,sBAAsB;CACvB;;AAED;EACE,iBAAiB;CAClB;;AAED;EACE,sBAAsB;CACvB;;AAED;EACE,iBAAiB;CAClB;;AAED;EACE,iBAAiB;CAClB;;AAED;EACE,iBAAiB;CAClB;;AAED;EACE,cAAc;EACd,eAAe;CAChB;;AAED;EACE,cAAc;EACd,eAAe;CAChB;;AAED;EACE,cAAc;EACd,eAAe;CAChB;;AAED;EACE,mBAAmB;EACnB,oBAAoB;CACrB;;AAED;EACE,cAAc;EACd,eAAe;CAChB;;AAED;EACE,cAAc;EACd,eAAe;CAChB;;AAED;EACE,cAAc;EACd,eAAe;CAChB;;AAED;EACE,mBAAmB;EACnB,oBAAoB;CACrB;;AAED;EACE,cAAc;EACd,eAAe;CAChB;;AAED;EACE,cAAc;EACd,eAAe;CAChB;;AAED;EACE,cAAc;EACd,eAAe;CAChB;;AAED;EACE,uBAAuB;CACxB;;AAED;EACE,qBAAqB;CACtB;;AAED;EACE,2BAAmB;MAAnB,mBAAmB;CACpB;;AAED;EACE;IACE,oBAAoB;IACpB,qBAAqB;IACrB,2BAA2B;GAC5B;EACD;IACE,uBAAuB;IACvB,kBAAkB;GACnB;CACF;;AAED;EACE,eAAe;EACf,sBAAsB;CACvB;;AAED;EACE,eAAe;CAChB;;AAED;;;EAGE,iBAAiB;EACjB,cAAc;EACd,gBAAgB;CACjB;;AAED;;;;;;;;;EASE,eAAe;EACf,+BAA+B;CAChC;;AAED;EACE,2BAA2B;CAC5B;;AAED;EACE,0BAA0B;CAC3B;;AAED;;;;;EAKE,sBAAsB;CACvB;;AAED;;;;EAIE,sBAAsB;CACvB;;AAED;;;;;;;;;EASE,sBAAsB;CACvB;;AAED;EACE,kBAAkB;EAClB,YAAY;CACb;;AAED;;EAEE,oCAAoC;EACpC,uBAAuB;EACvB,iBAAiB;CAClB;;AAED;;EAEE,gBAAgB;CACjB;;AAED;;EAEE,iBAAiB;CAClB;;AAED;;EAEE,kBAAkB;CACnB;;AAED;EACE,cAAc;CACf;;AAED;;;;;;EAME,iBAAiB;EACjB,uBAAuB;EACvB,sBAAsB;EACtB,cAAc;CACf;;AAED;EACE,kBAAkB;EAClB,iBAAiB;CAClB;;AAED;EACE,kBAAkB;EAClB,kBAAkB;CACnB;;AAED;EACE,kBAAkB;EAClB,iBAAiB;CAClB;;AAED;EACE,kBAAkB;EAClB,wBAAwB;EACxB,kBAAkB;CACnB;;AAED;EACE,kBAAkB;EAClB,wBAAwB;EACxB,iBAAiB;CAClB;;AAED;EACE,kBAAkB;EAClB,kBAAkB;EAClB,iBAAiB;CAClB;;AAED;EACE,gBAAgB;CACjB;;AAED;EACE,YAAY;EACZ,aAAa;EACb,eAAe;CAChB;;AAED;EACE,YAAY;CACb;;AAED;EACE,aAAa;CACd","file":"milligram.css","sourcesContent":["*,\n*:after,\n*:before {\n box-sizing: inherit;\n}\n\nhtml {\n box-sizing: border-box;\n font-size: 62.5%;\n}\n\nbody {\n color: #606c76;\n font-family: 'Roboto', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;\n font-size: 1.6em;\n font-weight: 300;\n letter-spacing: .01em;\n line-height: 1.6;\n}\n\nblockquote {\n border-left: 0.3rem solid #d1d1d1;\n margin-left: 0;\n margin-right: 0;\n padding: 1rem 1.5rem;\n}\n\nblockquote *:last-child {\n margin-bottom: 0;\n}\n\n.button,\nbutton,\ninput[type='button'],\ninput[type='reset'],\ninput[type='submit'] {\n background-color: #9b4dca;\n border: 0.1rem solid #9b4dca;\n border-radius: .4rem;\n color: #fff;\n cursor: pointer;\n display: inline-block;\n font-size: 1.1rem;\n font-weight: 700;\n height: 3.8rem;\n letter-spacing: .1rem;\n line-height: 3.8rem;\n padding: 0 3.0rem;\n text-align: center;\n text-decoration: none;\n text-transform: uppercase;\n white-space: nowrap;\n}\n\n.button:focus, .button:hover,\nbutton:focus,\nbutton:hover,\ninput[type='button']:focus,\ninput[type='button']:hover,\ninput[type='reset']:focus,\ninput[type='reset']:hover,\ninput[type='submit']:focus,\ninput[type='submit']:hover {\n background-color: #606c76;\n border-color: #606c76;\n color: #fff;\n outline: 0;\n}\n\n.button[disabled],\nbutton[disabled],\ninput[type='button'][disabled],\ninput[type='reset'][disabled],\ninput[type='submit'][disabled] {\n cursor: default;\n opacity: .5;\n}\n\n.button[disabled]:focus, .button[disabled]:hover,\nbutton[disabled]:focus,\nbutton[disabled]:hover,\ninput[type='button'][disabled]:focus,\ninput[type='button'][disabled]:hover,\ninput[type='reset'][disabled]:focus,\ninput[type='reset'][disabled]:hover,\ninput[type='submit'][disabled]:focus,\ninput[type='submit'][disabled]:hover {\n background-color: #9b4dca;\n border-color: #9b4dca;\n}\n\n.button.button-outline,\nbutton.button-outline,\ninput[type='button'].button-outline,\ninput[type='reset'].button-outline,\ninput[type='submit'].button-outline {\n background-color: transparent;\n color: #9b4dca;\n}\n\n.button.button-outline:focus, .button.button-outline:hover,\nbutton.button-outline:focus,\nbutton.button-outline:hover,\ninput[type='button'].button-outline:focus,\ninput[type='button'].button-outline:hover,\ninput[type='reset'].button-outline:focus,\ninput[type='reset'].button-outline:hover,\ninput[type='submit'].button-outline:focus,\ninput[type='submit'].button-outline:hover {\n background-color: transparent;\n border-color: #606c76;\n color: #606c76;\n}\n\n.button.button-outline[disabled]:focus, .button.button-outline[disabled]:hover,\nbutton.button-outline[disabled]:focus,\nbutton.button-outline[disabled]:hover,\ninput[type='button'].button-outline[disabled]:focus,\ninput[type='button'].button-outline[disabled]:hover,\ninput[type='reset'].button-outline[disabled]:focus,\ninput[type='reset'].button-outline[disabled]:hover,\ninput[type='submit'].button-outline[disabled]:focus,\ninput[type='submit'].button-outline[disabled]:hover {\n border-color: inherit;\n color: #9b4dca;\n}\n\n.button.button-clear,\nbutton.button-clear,\ninput[type='button'].button-clear,\ninput[type='reset'].button-clear,\ninput[type='submit'].button-clear {\n background-color: transparent;\n border-color: transparent;\n color: #9b4dca;\n}\n\n.button.button-clear:focus, .button.button-clear:hover,\nbutton.button-clear:focus,\nbutton.button-clear:hover,\ninput[type='button'].button-clear:focus,\ninput[type='button'].button-clear:hover,\ninput[type='reset'].button-clear:focus,\ninput[type='reset'].button-clear:hover,\ninput[type='submit'].button-clear:focus,\ninput[type='submit'].button-clear:hover {\n background-color: transparent;\n border-color: transparent;\n color: #606c76;\n}\n\n.button.button-clear[disabled]:focus, .button.button-clear[disabled]:hover,\nbutton.button-clear[disabled]:focus,\nbutton.button-clear[disabled]:hover,\ninput[type='button'].button-clear[disabled]:focus,\ninput[type='button'].button-clear[disabled]:hover,\ninput[type='reset'].button-clear[disabled]:focus,\ninput[type='reset'].button-clear[disabled]:hover,\ninput[type='submit'].button-clear[disabled]:focus,\ninput[type='submit'].button-clear[disabled]:hover {\n color: #9b4dca;\n}\n\ncode {\n background: #f4f5f6;\n border-radius: .4rem;\n font-size: 86%;\n margin: 0 .2rem;\n padding: .2rem .5rem;\n white-space: nowrap;\n}\n\npre {\n background: #f4f5f6;\n border-left: 0.3rem solid #9b4dca;\n overflow-y: hidden;\n}\n\npre > code {\n border-radius: 0;\n display: block;\n padding: 1rem 1.5rem;\n white-space: pre;\n}\n\nhr {\n border: 0;\n border-top: 0.1rem solid #f4f5f6;\n margin: 3.0rem 0;\n}\n\ninput[type='email'],\ninput[type='number'],\ninput[type='password'],\ninput[type='search'],\ninput[type='tel'],\ninput[type='text'],\ninput[type='url'],\ntextarea,\nselect {\n appearance: none;\n background-color: transparent;\n border: 0.1rem solid #d1d1d1;\n border-radius: .4rem;\n box-shadow: none;\n box-sizing: inherit;\n height: 3.8rem;\n padding: .6rem 1.0rem;\n width: 100%;\n}\n\ninput[type='email']:focus,\ninput[type='number']:focus,\ninput[type='password']:focus,\ninput[type='search']:focus,\ninput[type='tel']:focus,\ninput[type='text']:focus,\ninput[type='url']:focus,\ntextarea:focus,\nselect:focus {\n border-color: #9b4dca;\n outline: 0;\n}\n\nselect {\n background: url('data:image/svg+xml;utf8,') center right no-repeat;\n padding-right: 3.0rem;\n}\n\nselect:focus {\n background-image: url('data:image/svg+xml;utf8,');\n}\n\ntextarea {\n min-height: 6.5rem;\n}\n\nlabel,\nlegend {\n display: block;\n font-size: 1.6rem;\n font-weight: 700;\n margin-bottom: .5rem;\n}\n\nfieldset {\n border-width: 0;\n padding: 0;\n}\n\ninput[type='checkbox'],\ninput[type='radio'] {\n display: inline;\n}\n\n.label-inline {\n display: inline-block;\n font-weight: normal;\n margin-left: .5rem;\n}\n\n.container {\n margin: 0 auto;\n max-width: 112.0rem;\n padding: 0 2.0rem;\n position: relative;\n width: 100%;\n}\n\n.row {\n display: flex;\n flex-direction: column;\n padding: 0;\n width: 100%;\n}\n\n.row.row-no-padding {\n padding: 0;\n}\n\n.row.row-no-padding > .column {\n padding: 0;\n}\n\n.row.row-wrap {\n flex-wrap: wrap;\n}\n\n.row.row-top {\n align-items: flex-start;\n}\n\n.row.row-bottom {\n align-items: flex-end;\n}\n\n.row.row-center {\n align-items: center;\n}\n\n.row.row-stretch {\n align-items: stretch;\n}\n\n.row.row-baseline {\n align-items: baseline;\n}\n\n.row .column {\n display: block;\n flex: 1 1 auto;\n margin-left: 0;\n max-width: 100%;\n width: 100%;\n}\n\n.row .column.column-offset-10 {\n margin-left: 10%;\n}\n\n.row .column.column-offset-20 {\n margin-left: 20%;\n}\n\n.row .column.column-offset-25 {\n margin-left: 25%;\n}\n\n.row .column.column-offset-33, .row .column.column-offset-34 {\n margin-left: 33.3333%;\n}\n\n.row .column.column-offset-50 {\n margin-left: 50%;\n}\n\n.row .column.column-offset-66, .row .column.column-offset-67 {\n margin-left: 66.6666%;\n}\n\n.row .column.column-offset-75 {\n margin-left: 75%;\n}\n\n.row .column.column-offset-80 {\n margin-left: 80%;\n}\n\n.row .column.column-offset-90 {\n margin-left: 90%;\n}\n\n.row .column.column-10 {\n flex: 0 0 10%;\n max-width: 10%;\n}\n\n.row .column.column-20 {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row .column.column-25 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row .column.column-33, .row .column.column-34 {\n flex: 0 0 33.3333%;\n max-width: 33.3333%;\n}\n\n.row .column.column-40 {\n flex: 0 0 40%;\n max-width: 40%;\n}\n\n.row .column.column-50 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row .column.column-60 {\n flex: 0 0 60%;\n max-width: 60%;\n}\n\n.row .column.column-66, .row .column.column-67 {\n flex: 0 0 66.6666%;\n max-width: 66.6666%;\n}\n\n.row .column.column-75 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.row .column.column-80 {\n flex: 0 0 80%;\n max-width: 80%;\n}\n\n.row .column.column-90 {\n flex: 0 0 90%;\n max-width: 90%;\n}\n\n.row .column .column-top {\n align-self: flex-start;\n}\n\n.row .column .column-bottom {\n align-self: flex-end;\n}\n\n.row .column .column-center {\n align-self: center;\n}\n\n@media (min-width: 40rem) {\n .row {\n flex-direction: row;\n margin-left: -1.0rem;\n width: calc(100% + 2.0rem);\n }\n .row .column {\n margin-bottom: inherit;\n padding: 0 1.0rem;\n }\n}\n\na {\n color: #9b4dca;\n text-decoration: none;\n}\n\na:focus, a:hover {\n color: #606c76;\n}\n\ndl,\nol,\nul {\n list-style: none;\n margin-top: 0;\n padding-left: 0;\n}\n\ndl dl,\ndl ol,\ndl ul,\nol dl,\nol ol,\nol ul,\nul dl,\nul ol,\nul ul {\n font-size: 90%;\n margin: 1.5rem 0 1.5rem 3.0rem;\n}\n\nol {\n list-style: decimal inside;\n}\n\nul {\n list-style: circle inside;\n}\n\n.button,\nbutton,\ndd,\ndt,\nli {\n margin-bottom: 1.0rem;\n}\n\nfieldset,\ninput,\nselect,\ntextarea {\n margin-bottom: 1.5rem;\n}\n\nblockquote,\ndl,\nfigure,\nform,\nol,\np,\npre,\ntable,\nul {\n margin-bottom: 2.5rem;\n}\n\ntable {\n border-spacing: 0;\n width: 100%;\n}\n\ntd,\nth {\n border-bottom: 0.1rem solid #e1e1e1;\n padding: 1.2rem 1.5rem;\n text-align: left;\n}\n\ntd:first-child,\nth:first-child {\n padding-left: 0;\n}\n\ntd:last-child,\nth:last-child {\n padding-right: 0;\n}\n\nb,\nstrong {\n font-weight: bold;\n}\n\np {\n margin-top: 0;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-weight: 300;\n letter-spacing: -.1rem;\n margin-bottom: 2.0rem;\n margin-top: 0;\n}\n\nh1 {\n font-size: 4.6rem;\n line-height: 1.2;\n}\n\nh2 {\n font-size: 3.6rem;\n line-height: 1.25;\n}\n\nh3 {\n font-size: 2.8rem;\n line-height: 1.3;\n}\n\nh4 {\n font-size: 2.2rem;\n letter-spacing: -.08rem;\n line-height: 1.35;\n}\n\nh5 {\n font-size: 1.8rem;\n letter-spacing: -.05rem;\n line-height: 1.5;\n}\n\nh6 {\n font-size: 1.6rem;\n letter-spacing: 0;\n line-height: 1.4;\n}\n\nimg {\n max-width: 100%;\n}\n\n.clearfix:after {\n clear: both;\n content: ' ';\n display: table;\n}\n\n.float-left {\n float: left;\n}\n\n.float-right {\n float: right;\n}\n"]} \ No newline at end of file diff --git a/tools/gopher-kart/css/milligram/dist/milligram.min.css b/tools/gopher-kart/css/milligram/dist/milligram.min.css deleted file mode 100644 index 85f877b..0000000 --- a/tools/gopher-kart/css/milligram/dist/milligram.min.css +++ /dev/null @@ -1,11 +0,0 @@ -/*! - * Milligram v1.3.0 - * https://milligram.github.io - * - * Copyright (c) 2017 CJ Patoilo - * Licensed under the MIT license - */ - -*,*:after,*:before{box-sizing:inherit}html{box-sizing:border-box;font-size:62.5%}body{color:#606c76;font-family:'Roboto', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;font-size:1.6em;font-weight:300;letter-spacing:.01em;line-height:1.6}blockquote{border-left:0.3rem solid #d1d1d1;margin-left:0;margin-right:0;padding:1rem 1.5rem}blockquote *:last-child{margin-bottom:0}.button,button,input[type='button'],input[type='reset'],input[type='submit']{background-color:#9b4dca;border:0.1rem solid #9b4dca;border-radius:.4rem;color:#fff;cursor:pointer;display:inline-block;font-size:1.1rem;font-weight:700;height:3.8rem;letter-spacing:.1rem;line-height:3.8rem;padding:0 3.0rem;text-align:center;text-decoration:none;text-transform:uppercase;white-space:nowrap}.button:focus,.button:hover,button:focus,button:hover,input[type='button']:focus,input[type='button']:hover,input[type='reset']:focus,input[type='reset']:hover,input[type='submit']:focus,input[type='submit']:hover{background-color:#606c76;border-color:#606c76;color:#fff;outline:0}.button[disabled],button[disabled],input[type='button'][disabled],input[type='reset'][disabled],input[type='submit'][disabled]{cursor:default;opacity:.5}.button[disabled]:focus,.button[disabled]:hover,button[disabled]:focus,button[disabled]:hover,input[type='button'][disabled]:focus,input[type='button'][disabled]:hover,input[type='reset'][disabled]:focus,input[type='reset'][disabled]:hover,input[type='submit'][disabled]:focus,input[type='submit'][disabled]:hover{background-color:#9b4dca;border-color:#9b4dca}.button.button-outline,button.button-outline,input[type='button'].button-outline,input[type='reset'].button-outline,input[type='submit'].button-outline{background-color:transparent;color:#9b4dca}.button.button-outline:focus,.button.button-outline:hover,button.button-outline:focus,button.button-outline:hover,input[type='button'].button-outline:focus,input[type='button'].button-outline:hover,input[type='reset'].button-outline:focus,input[type='reset'].button-outline:hover,input[type='submit'].button-outline:focus,input[type='submit'].button-outline:hover{background-color:transparent;border-color:#606c76;color:#606c76}.button.button-outline[disabled]:focus,.button.button-outline[disabled]:hover,button.button-outline[disabled]:focus,button.button-outline[disabled]:hover,input[type='button'].button-outline[disabled]:focus,input[type='button'].button-outline[disabled]:hover,input[type='reset'].button-outline[disabled]:focus,input[type='reset'].button-outline[disabled]:hover,input[type='submit'].button-outline[disabled]:focus,input[type='submit'].button-outline[disabled]:hover{border-color:inherit;color:#9b4dca}.button.button-clear,button.button-clear,input[type='button'].button-clear,input[type='reset'].button-clear,input[type='submit'].button-clear{background-color:transparent;border-color:transparent;color:#9b4dca}.button.button-clear:focus,.button.button-clear:hover,button.button-clear:focus,button.button-clear:hover,input[type='button'].button-clear:focus,input[type='button'].button-clear:hover,input[type='reset'].button-clear:focus,input[type='reset'].button-clear:hover,input[type='submit'].button-clear:focus,input[type='submit'].button-clear:hover{background-color:transparent;border-color:transparent;color:#606c76}.button.button-clear[disabled]:focus,.button.button-clear[disabled]:hover,button.button-clear[disabled]:focus,button.button-clear[disabled]:hover,input[type='button'].button-clear[disabled]:focus,input[type='button'].button-clear[disabled]:hover,input[type='reset'].button-clear[disabled]:focus,input[type='reset'].button-clear[disabled]:hover,input[type='submit'].button-clear[disabled]:focus,input[type='submit'].button-clear[disabled]:hover{color:#9b4dca}code{background:#f4f5f6;border-radius:.4rem;font-size:86%;margin:0 .2rem;padding:.2rem .5rem;white-space:nowrap}pre{background:#f4f5f6;border-left:0.3rem solid #9b4dca;overflow-y:hidden}pre>code{border-radius:0;display:block;padding:1rem 1.5rem;white-space:pre}hr{border:0;border-top:0.1rem solid #f4f5f6;margin:3.0rem 0}input[type='email'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='url'],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:0.1rem solid #d1d1d1;border-radius:.4rem;box-shadow:none;box-sizing:inherit;height:3.8rem;padding:.6rem 1.0rem;width:100%}input[type='email']:focus,input[type='number']:focus,input[type='password']:focus,input[type='search']:focus,input[type='tel']:focus,input[type='text']:focus,input[type='url']:focus,textarea:focus,select:focus{border-color:#9b4dca;outline:0}select{background:url('data:image/svg+xml;utf8,') center right no-repeat;padding-right:3.0rem}select:focus{background-image:url('data:image/svg+xml;utf8,')}textarea{min-height:6.5rem}label,legend{display:block;font-size:1.6rem;font-weight:700;margin-bottom:.5rem}fieldset{border-width:0;padding:0}input[type='checkbox'],input[type='radio']{display:inline}.label-inline{display:inline-block;font-weight:normal;margin-left:.5rem}.container{margin:0 auto;max-width:112.0rem;padding:0 2.0rem;position:relative;width:100%}.row{display:flex;flex-direction:column;padding:0;width:100%}.row.row-no-padding{padding:0}.row.row-no-padding>.column{padding:0}.row.row-wrap{flex-wrap:wrap}.row.row-top{align-items:flex-start}.row.row-bottom{align-items:flex-end}.row.row-center{align-items:center}.row.row-stretch{align-items:stretch}.row.row-baseline{align-items:baseline}.row .column{display:block;flex:1 1 auto;margin-left:0;max-width:100%;width:100%}.row .column.column-offset-10{margin-left:10%}.row .column.column-offset-20{margin-left:20%}.row .column.column-offset-25{margin-left:25%}.row .column.column-offset-33,.row .column.column-offset-34{margin-left:33.3333%}.row .column.column-offset-50{margin-left:50%}.row .column.column-offset-66,.row .column.column-offset-67{margin-left:66.6666%}.row .column.column-offset-75{margin-left:75%}.row .column.column-offset-80{margin-left:80%}.row .column.column-offset-90{margin-left:90%}.row .column.column-10{flex:0 0 10%;max-width:10%}.row .column.column-20{flex:0 0 20%;max-width:20%}.row .column.column-25{flex:0 0 25%;max-width:25%}.row .column.column-33,.row .column.column-34{flex:0 0 33.3333%;max-width:33.3333%}.row .column.column-40{flex:0 0 40%;max-width:40%}.row .column.column-50{flex:0 0 50%;max-width:50%}.row .column.column-60{flex:0 0 60%;max-width:60%}.row .column.column-66,.row .column.column-67{flex:0 0 66.6666%;max-width:66.6666%}.row .column.column-75{flex:0 0 75%;max-width:75%}.row .column.column-80{flex:0 0 80%;max-width:80%}.row .column.column-90{flex:0 0 90%;max-width:90%}.row .column .column-top{align-self:flex-start}.row .column .column-bottom{align-self:flex-end}.row .column .column-center{-ms-grid-row-align:center;align-self:center}@media (min-width: 40rem){.row{flex-direction:row;margin-left:-1.0rem;width:calc(100% + 2.0rem)}.row .column{margin-bottom:inherit;padding:0 1.0rem}}a{color:#9b4dca;text-decoration:none}a:focus,a:hover{color:#606c76}dl,ol,ul{list-style:none;margin-top:0;padding-left:0}dl dl,dl ol,dl ul,ol dl,ol ol,ol ul,ul dl,ul ol,ul ul{font-size:90%;margin:1.5rem 0 1.5rem 3.0rem}ol{list-style:decimal inside}ul{list-style:circle inside}.button,button,dd,dt,li{margin-bottom:1.0rem}fieldset,input,select,textarea{margin-bottom:1.5rem}blockquote,dl,figure,form,ol,p,pre,table,ul{margin-bottom:2.5rem}table{border-spacing:0;width:100%}td,th{border-bottom:0.1rem solid #e1e1e1;padding:1.2rem 1.5rem;text-align:left}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{padding-right:0}b,strong{font-weight:bold}p{margin-top:0}h1,h2,h3,h4,h5,h6{font-weight:300;letter-spacing:-.1rem;margin-bottom:2.0rem;margin-top:0}h1{font-size:4.6rem;line-height:1.2}h2{font-size:3.6rem;line-height:1.25}h3{font-size:2.8rem;line-height:1.3}h4{font-size:2.2rem;letter-spacing:-.08rem;line-height:1.35}h5{font-size:1.8rem;letter-spacing:-.05rem;line-height:1.5}h6{font-size:1.6rem;letter-spacing:0;line-height:1.4}img{max-width:100%}.clearfix:after{clear:both;content:' ';display:table}.float-left{float:left}.float-right{float:right} - -/*# sourceMappingURL=milligram.min.css.map */ \ No newline at end of file diff --git a/tools/gopher-kart/css/milligram/dist/milligram.min.css.map b/tools/gopher-kart/css/milligram/dist/milligram.min.css.map deleted file mode 100644 index 586fbb3..0000000 --- a/tools/gopher-kart/css/milligram/dist/milligram.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["milligram.min.css"],"names":[],"mappings":"AAAA,mBAAmB,kBAAkB,CAAC,KAAK,sBAAsB,eAAe,CAAC,KAAK,cAAc,yEAAyE,gBAAgB,gBAAgB,qBAAqB,eAAe,CAAC,WAAW,iCAAiC,cAAc,eAAe,mBAAmB,CAAC,wBAAwB,eAAe,CAAC,6EAA6E,yBAAyB,4BAA4B,oBAAoB,WAAW,eAAe,qBAAqB,iBAAiB,gBAAgB,cAAc,qBAAqB,mBAAmB,iBAAiB,kBAAkB,qBAAqB,yBAAyB,kBAAkB,CAAC,sNAAsN,yBAAyB,qBAAqB,WAAW,SAAS,CAAC,+HAA+H,eAAe,UAAU,CAAC,0TAA0T,yBAAyB,oBAAoB,CAAC,wJAAwJ,6BAA6B,aAAa,CAAC,4WAA4W,6BAA6B,qBAAqB,aAAa,CAAC,gdAAgd,qBAAqB,aAAa,CAAC,8IAA8I,6BAA6B,yBAAyB,aAAa,CAAC,wVAAwV,6BAA6B,yBAAyB,aAAa,CAAC,4bAA4b,aAAa,CAAC,KAAK,mBAAmB,oBAAoB,cAAc,eAAe,oBAAoB,kBAAkB,CAAC,IAAI,mBAAmB,iCAAiC,iBAAiB,CAAC,SAAS,gBAAgB,cAAc,oBAAoB,eAAe,CAAC,GAAG,SAAS,gCAAgC,eAAe,CAAC,4JAA4J,wBAAgB,AAAhB,qBAAgB,AAAhB,gBAAgB,6BAA6B,4BAA4B,oBAAoB,gBAAgB,mBAAmB,cAAc,qBAAqB,UAAU,CAAC,kNAAkN,qBAAqB,SAAS,CAAC,OAAO,mOAAmO,oBAAoB,CAAC,aAAa,iNAAiN,CAAC,SAAS,iBAAiB,CAAC,aAAa,cAAc,iBAAiB,gBAAgB,mBAAmB,CAAC,SAAS,eAAe,SAAS,CAAC,2CAA2C,cAAc,CAAC,cAAc,qBAAqB,mBAAmB,iBAAiB,CAAC,WAAW,cAAc,mBAAmB,iBAAiB,kBAAkB,UAAU,CAAC,KAAK,aAAa,sBAAsB,UAAU,UAAU,CAAC,oBAAoB,SAAS,CAAC,4BAA4B,SAAS,CAAC,cAAc,cAAc,CAAC,aAAa,sBAAsB,CAAC,gBAAgB,oBAAoB,CAAC,gBAAgB,kBAAkB,CAAC,iBAAiB,mBAAmB,CAAC,kBAAkB,oBAAoB,CAAC,aAAa,cAAc,cAAc,cAAc,eAAe,UAAU,CAAC,8BAA8B,eAAe,CAAC,8BAA8B,eAAe,CAAC,8BAA8B,eAAe,CAAC,4DAA4D,oBAAoB,CAAC,8BAA8B,eAAe,CAAC,4DAA4D,oBAAoB,CAAC,8BAA8B,eAAe,CAAC,8BAA8B,eAAe,CAAC,8BAA8B,eAAe,CAAC,uBAAuB,aAAa,aAAa,CAAC,uBAAuB,aAAa,aAAa,CAAC,uBAAuB,aAAa,aAAa,CAAC,8CAA8C,kBAAkB,kBAAkB,CAAC,uBAAuB,aAAa,aAAa,CAAC,uBAAuB,aAAa,aAAa,CAAC,uBAAuB,aAAa,aAAa,CAAC,8CAA8C,kBAAkB,kBAAkB,CAAC,uBAAuB,aAAa,aAAa,CAAC,uBAAuB,aAAa,aAAa,CAAC,uBAAuB,aAAa,aAAa,CAAC,yBAAyB,qBAAqB,CAAC,4BAA4B,mBAAmB,CAAC,4BAA4B,0BAAiB,AAAjB,iBAAiB,CAAC,0BAA0B,KAAK,mBAAmB,oBAAoB,yBAAyB,CAAC,aAAa,sBAAsB,gBAAgB,CAAC,CAAC,EAAE,cAAc,oBAAoB,CAAC,gBAAgB,aAAa,CAAC,SAAS,gBAAgB,aAAa,cAAc,CAAC,sDAAsD,cAAc,6BAA6B,CAAC,GAAG,yBAAyB,CAAC,GAAG,wBAAwB,CAAC,wBAAwB,oBAAoB,CAAC,+BAA+B,oBAAoB,CAAC,4CAA4C,oBAAoB,CAAC,MAAM,iBAAiB,UAAU,CAAC,MAAM,mCAAmC,sBAAsB,eAAe,CAAC,8BAA8B,cAAc,CAAC,4BAA4B,eAAe,CAAC,SAAS,gBAAgB,CAAC,EAAE,YAAY,CAAC,kBAAkB,gBAAgB,sBAAsB,qBAAqB,YAAY,CAAC,GAAG,iBAAiB,eAAe,CAAC,GAAG,iBAAiB,gBAAgB,CAAC,GAAG,iBAAiB,eAAe,CAAC,GAAG,iBAAiB,uBAAuB,gBAAgB,CAAC,GAAG,iBAAiB,uBAAuB,eAAe,CAAC,GAAG,iBAAiB,iBAAiB,eAAe,CAAC,IAAI,cAAc,CAAC,gBAAgB,WAAW,YAAY,aAAa,CAAC,YAAY,UAAU,CAAC,aAAa,WAAW,CAAC","file":"milligram.min.css","sourcesContent":["*,*:after,*:before{box-sizing:inherit}html{box-sizing:border-box;font-size:62.5%}body{color:#606c76;font-family:'Roboto', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;font-size:1.6em;font-weight:300;letter-spacing:.01em;line-height:1.6}blockquote{border-left:0.3rem solid #d1d1d1;margin-left:0;margin-right:0;padding:1rem 1.5rem}blockquote *:last-child{margin-bottom:0}.button,button,input[type='button'],input[type='reset'],input[type='submit']{background-color:#9b4dca;border:0.1rem solid #9b4dca;border-radius:.4rem;color:#fff;cursor:pointer;display:inline-block;font-size:1.1rem;font-weight:700;height:3.8rem;letter-spacing:.1rem;line-height:3.8rem;padding:0 3.0rem;text-align:center;text-decoration:none;text-transform:uppercase;white-space:nowrap}.button:focus,.button:hover,button:focus,button:hover,input[type='button']:focus,input[type='button']:hover,input[type='reset']:focus,input[type='reset']:hover,input[type='submit']:focus,input[type='submit']:hover{background-color:#606c76;border-color:#606c76;color:#fff;outline:0}.button[disabled],button[disabled],input[type='button'][disabled],input[type='reset'][disabled],input[type='submit'][disabled]{cursor:default;opacity:.5}.button[disabled]:focus,.button[disabled]:hover,button[disabled]:focus,button[disabled]:hover,input[type='button'][disabled]:focus,input[type='button'][disabled]:hover,input[type='reset'][disabled]:focus,input[type='reset'][disabled]:hover,input[type='submit'][disabled]:focus,input[type='submit'][disabled]:hover{background-color:#9b4dca;border-color:#9b4dca}.button.button-outline,button.button-outline,input[type='button'].button-outline,input[type='reset'].button-outline,input[type='submit'].button-outline{background-color:transparent;color:#9b4dca}.button.button-outline:focus,.button.button-outline:hover,button.button-outline:focus,button.button-outline:hover,input[type='button'].button-outline:focus,input[type='button'].button-outline:hover,input[type='reset'].button-outline:focus,input[type='reset'].button-outline:hover,input[type='submit'].button-outline:focus,input[type='submit'].button-outline:hover{background-color:transparent;border-color:#606c76;color:#606c76}.button.button-outline[disabled]:focus,.button.button-outline[disabled]:hover,button.button-outline[disabled]:focus,button.button-outline[disabled]:hover,input[type='button'].button-outline[disabled]:focus,input[type='button'].button-outline[disabled]:hover,input[type='reset'].button-outline[disabled]:focus,input[type='reset'].button-outline[disabled]:hover,input[type='submit'].button-outline[disabled]:focus,input[type='submit'].button-outline[disabled]:hover{border-color:inherit;color:#9b4dca}.button.button-clear,button.button-clear,input[type='button'].button-clear,input[type='reset'].button-clear,input[type='submit'].button-clear{background-color:transparent;border-color:transparent;color:#9b4dca}.button.button-clear:focus,.button.button-clear:hover,button.button-clear:focus,button.button-clear:hover,input[type='button'].button-clear:focus,input[type='button'].button-clear:hover,input[type='reset'].button-clear:focus,input[type='reset'].button-clear:hover,input[type='submit'].button-clear:focus,input[type='submit'].button-clear:hover{background-color:transparent;border-color:transparent;color:#606c76}.button.button-clear[disabled]:focus,.button.button-clear[disabled]:hover,button.button-clear[disabled]:focus,button.button-clear[disabled]:hover,input[type='button'].button-clear[disabled]:focus,input[type='button'].button-clear[disabled]:hover,input[type='reset'].button-clear[disabled]:focus,input[type='reset'].button-clear[disabled]:hover,input[type='submit'].button-clear[disabled]:focus,input[type='submit'].button-clear[disabled]:hover{color:#9b4dca}code{background:#f4f5f6;border-radius:.4rem;font-size:86%;margin:0 .2rem;padding:.2rem .5rem;white-space:nowrap}pre{background:#f4f5f6;border-left:0.3rem solid #9b4dca;overflow-y:hidden}pre>code{border-radius:0;display:block;padding:1rem 1.5rem;white-space:pre}hr{border:0;border-top:0.1rem solid #f4f5f6;margin:3.0rem 0}input[type='email'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='url'],textarea,select{appearance:none;background-color:transparent;border:0.1rem solid #d1d1d1;border-radius:.4rem;box-shadow:none;box-sizing:inherit;height:3.8rem;padding:.6rem 1.0rem;width:100%}input[type='email']:focus,input[type='number']:focus,input[type='password']:focus,input[type='search']:focus,input[type='tel']:focus,input[type='text']:focus,input[type='url']:focus,textarea:focus,select:focus{border-color:#9b4dca;outline:0}select{background:url('data:image/svg+xml;utf8,') center right no-repeat;padding-right:3.0rem}select:focus{background-image:url('data:image/svg+xml;utf8,')}textarea{min-height:6.5rem}label,legend{display:block;font-size:1.6rem;font-weight:700;margin-bottom:.5rem}fieldset{border-width:0;padding:0}input[type='checkbox'],input[type='radio']{display:inline}.label-inline{display:inline-block;font-weight:normal;margin-left:.5rem}.container{margin:0 auto;max-width:112.0rem;padding:0 2.0rem;position:relative;width:100%}.row{display:flex;flex-direction:column;padding:0;width:100%}.row.row-no-padding{padding:0}.row.row-no-padding>.column{padding:0}.row.row-wrap{flex-wrap:wrap}.row.row-top{align-items:flex-start}.row.row-bottom{align-items:flex-end}.row.row-center{align-items:center}.row.row-stretch{align-items:stretch}.row.row-baseline{align-items:baseline}.row .column{display:block;flex:1 1 auto;margin-left:0;max-width:100%;width:100%}.row .column.column-offset-10{margin-left:10%}.row .column.column-offset-20{margin-left:20%}.row .column.column-offset-25{margin-left:25%}.row .column.column-offset-33,.row .column.column-offset-34{margin-left:33.3333%}.row .column.column-offset-50{margin-left:50%}.row .column.column-offset-66,.row .column.column-offset-67{margin-left:66.6666%}.row .column.column-offset-75{margin-left:75%}.row .column.column-offset-80{margin-left:80%}.row .column.column-offset-90{margin-left:90%}.row .column.column-10{flex:0 0 10%;max-width:10%}.row .column.column-20{flex:0 0 20%;max-width:20%}.row .column.column-25{flex:0 0 25%;max-width:25%}.row .column.column-33,.row .column.column-34{flex:0 0 33.3333%;max-width:33.3333%}.row .column.column-40{flex:0 0 40%;max-width:40%}.row .column.column-50{flex:0 0 50%;max-width:50%}.row .column.column-60{flex:0 0 60%;max-width:60%}.row .column.column-66,.row .column.column-67{flex:0 0 66.6666%;max-width:66.6666%}.row .column.column-75{flex:0 0 75%;max-width:75%}.row .column.column-80{flex:0 0 80%;max-width:80%}.row .column.column-90{flex:0 0 90%;max-width:90%}.row .column .column-top{align-self:flex-start}.row .column .column-bottom{align-self:flex-end}.row .column .column-center{align-self:center}@media (min-width: 40rem){.row{flex-direction:row;margin-left:-1.0rem;width:calc(100% + 2.0rem)}.row .column{margin-bottom:inherit;padding:0 1.0rem}}a{color:#9b4dca;text-decoration:none}a:focus,a:hover{color:#606c76}dl,ol,ul{list-style:none;margin-top:0;padding-left:0}dl dl,dl ol,dl ul,ol dl,ol ol,ol ul,ul dl,ul ol,ul ul{font-size:90%;margin:1.5rem 0 1.5rem 3.0rem}ol{list-style:decimal inside}ul{list-style:circle inside}.button,button,dd,dt,li{margin-bottom:1.0rem}fieldset,input,select,textarea{margin-bottom:1.5rem}blockquote,dl,figure,form,ol,p,pre,table,ul{margin-bottom:2.5rem}table{border-spacing:0;width:100%}td,th{border-bottom:0.1rem solid #e1e1e1;padding:1.2rem 1.5rem;text-align:left}td:first-child,th:first-child{padding-left:0}td:last-child,th:last-child{padding-right:0}b,strong{font-weight:bold}p{margin-top:0}h1,h2,h3,h4,h5,h6{font-weight:300;letter-spacing:-.1rem;margin-bottom:2.0rem;margin-top:0}h1{font-size:4.6rem;line-height:1.2}h2{font-size:3.6rem;line-height:1.25}h3{font-size:2.8rem;line-height:1.3}h4{font-size:2.2rem;letter-spacing:-.08rem;line-height:1.35}h5{font-size:1.8rem;letter-spacing:-.05rem;line-height:1.5}h6{font-size:1.6rem;letter-spacing:0;line-height:1.4}img{max-width:100%}.clearfix:after{clear:both;content:' ';display:table}.float-left{float:left}.float-right{float:right}\n"]} \ No newline at end of file diff --git a/tools/gopher-kart/css/milligram/examples/index.html b/tools/gopher-kart/css/milligram/examples/index.html deleted file mode 100644 index 48d6c2b..0000000 --- a/tools/gopher-kart/css/milligram/examples/index.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - Milligram | A minimalist CSS framework. - - - - - - - - -
- - - -
-
Examples
-

You can view more examples of using Milligram.

-

-

-

-
- -
-
Contributing
-

Want to contribute? Follow these recommendations.

-
- - - -
- - - - - diff --git a/tools/gopher-kart/css/milligram/license b/tools/gopher-kart/css/milligram/license deleted file mode 100644 index a8087cc..0000000 --- a/tools/gopher-kart/css/milligram/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright © 2017 CJ Patoilo - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/tools/gopher-kart/css/milligram/package.js b/tools/gopher-kart/css/milligram/package.js deleted file mode 100644 index 6c5f700..0000000 --- a/tools/gopher-kart/css/milligram/package.js +++ /dev/null @@ -1,14 +0,0 @@ -Package.describe({ - name: 'milligram:milligram', - version: '1.3.0', - summary: 'A minimalist CSS framework.', - git: 'https://github.com/milligram/milligram.git', - documentation: 'readme.md' -}) - -Package.onUse((api) => { - api.versionsFrom('METEOR@1.0') - api.addFiles([ - 'dist/milligram.css' - ], 'client') -}) diff --git a/tools/gopher-kart/css/milligram/package.json b/tools/gopher-kart/css/milligram/package.json deleted file mode 100644 index a8a1893..0000000 --- a/tools/gopher-kart/css/milligram/package.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "name": "milligram", - "version": "1.3.0", - "description": "A minimalist CSS framework.", - "homepage": "https://milligram.github.io", - "repository": "milligram/milligram", - "license": "MIT", - "author": "CJ Patoilo ", - "main": "dist/milligram.css", - "keywords": [ - "bootstrap", - "css", - "css3", - "flexbox", - "front-end", - "framework", - "html", - "html5", - "kickstarter", - "less", - "responsive", - "mobile", - "mobile-first", - "postcss", - "responsive", - "sass", - "scss", - "stylus" - ], - "ignore": [ - ".appveyor.yml", - ".editorconfig", - ".eslintrc", - ".github", - ".gitignore", - ".npmignore", - ".sasslintrc", - ".travis.yml", - "backstop.conf.js", - "bower.json", - "changelog.md", - "composer.json", - "package.js", - "package.json", - "src", - "test" - ], - "dependencies": { - "normalize.css": "~5.0.0" - }, - "devDependencies": { - "autoprefixer": "^6.5.4", - "ava": "^0.17.0", - "backstopjs": "^2.3.5", - "banner-cli": "^0.9.2", - "browser-sync": "^2.18.5", - "editorconfig-tools": "^0.1.1", - "eslint": "^3.14.0", - "eslint-config-styled": "^0.0.0", - "husky": "^0.11.9", - "node-sass": "^3.13.1", - "npm-run-all": "^2.3.0", - "nyc": "^10.0.0", - "onchange": "^2.5.0", - "postcss-cli": "^2.6.0", - "rimraf": "^2.5.4", - "sass-lint": "^1.10.2" - }, - "engines": { - "node": ">=4" - }, - "scripts": { - "start": "run-p build watch serve", - "build": "run-s clean sass autoprefixer banner", - "clean": "rimraf dist", - "sass": "node-sass --output-style expanded src/milligram.sass dist/milligram.css && node-sass --output-style compressed src/milligram.sass dist/milligram.min.css", - "autoprefixer": "postcss -u autoprefixer --no-map.inline --autoprefixer.browsers \"last 1 versions\" -r dist/*.css", - "banner": "banner-cli dist/*.css", - "watch": "onchange src -- run-p build", - "serve": "browser-sync start --no-notify -s test --ss dist -f dist", - "backstop": "run-s build && run-p serve compare", - "reference": "backstop reference --configPath=backstop.conf.js", - "compare": "backstop test --configPath=backstop.conf.js", - "lint": "sass-lint -c .sasslintrc src --verbose --no-exit && eslint test -c styled && editorconfig-tools check .", - "ava": "nyc ava", - "test": "run-s build lint ava", - "precommit": "run-p test" - } -} diff --git a/tools/gopher-kart/css/milligram/readme.md b/tools/gopher-kart/css/milligram/readme.md deleted file mode 100644 index 2949593..0000000 --- a/tools/gopher-kart/css/milligram/readme.md +++ /dev/null @@ -1,64 +0,0 @@ -Milligram - A minimalist CSS framework - -> A minimalist CSS framework. - -[![Travis Status](https://travis-ci.org/milligram/milligram.svg?branch=master)](https://travis-ci.org/milligram/milligram?branch=master) -[![AppVeyor Status](https://ci.appveyor.com/api/projects/status/xcm8meymwerq0r82?svg=true)](https://ci.appveyor.com/project/cjpatoilo/milligram) -[![Codacy Status](https://img.shields.io/codacy/grade/848fb4bd6902434fab0bcfb5461284fe/master.svg)](https://www.codacy.com/app/milligram/milligram/dashboard) -[![Dependencies Status](https://david-dm.org/milligram/milligram.svg)](https://david-dm.org/milligram/milligram) -[![Version Status](https://badge.fury.io/js/milligram.svg)](https://www.npmjs.com/package/milligram) -[![Download Status](https://img.shields.io/npm/dt/milligram.svg)](https://www.npmjs.com/package/milligram) -[![Gitter Chat](https://img.shields.io/badge/gitter-join_the_chat-4cc61e.svg)](https://gitter.im/milligram/milligram) - - -## Why it's awesome - -Milligram provides a minimal setup of styles for a fast and clean starting point. Just it! **Only 2kb gzipped!** It's not about a UI framework. Specially designed for better performance and higher productivity with fewer properties to reset resulting in cleaner code. Hope you enjoy! - - -## Download - -**Install with Bower** - -```sh -$ bower install milligram -``` - -**Install with npm** - -```sh -$ npm install milligram -``` - -**Install with Yarn** - -```sh -$ yarn add milligram -``` - - -## Table of Contents - -- [Getting Started](https://milligram.github.io/#getting-started) -- [Typography](https://milligram.github.io/#typography) -- [Blockquotes](https://milligram.github.io/#blockquotes) -- [Buttons](https://milligram.github.io/#buttons) -- [Lists](https://milligram.github.io/#lists) -- [Forms](https://milligram.github.io/#forms) -- [Tables](https://milligram.github.io/#tables) -- [Grids](https://milligram.github.io/#grids) -- [Codes](https://milligram.github.io/#codes) -- [Utilities](https://milligram.github.io/#utilities) -- [Tips](https://milligram.github.io/#tips) -- [Browser Support](https://milligram.github.io/#browser-support) -- [Examples](https://milligram.github.io/#examples) - - -## Contributing - -Want to contribute? Follow these [recommendations](https://github.com/milligram/milligram/blob/master/.github/contributing.md). - - -## License - -Designed with ♥ by [CJ Patoilo](http://cjpatoilo.com). Licensed under the [MIT License](http://cjpatoilo.mit-license.org). diff --git a/tools/gopher-kart/css/milligram/src/_Base.sass b/tools/gopher-kart/css/milligram/src/_Base.sass deleted file mode 100644 index ab1880f..0000000 --- a/tools/gopher-kart/css/milligram/src/_Base.sass +++ /dev/null @@ -1,24 +0,0 @@ - -// Base -// –––––––––––––––––––––––––––––––––––––––––––––––––– - -// Set box-sizing globally to handle padding and border widths -*, -*:after, -*:before - box-sizing: inherit - -// The base font-size is set at 62.5% for having the convenience -// of sizing rems in a way that is similar to using px: 1.6rem = 16px -html - box-sizing: border-box - font-size: 62.5% - -// Default body styles -body - color: $color-secondary - font-family: 'Roboto', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif - font-size: 1.6em // Currently ems cause chrome bug misinterpreting rems on body element - font-weight: 300 - letter-spacing: .01em - line-height: 1.6 diff --git a/tools/gopher-kart/css/milligram/src/_Blockquote.sass b/tools/gopher-kart/css/milligram/src/_Blockquote.sass deleted file mode 100644 index dff5eca..0000000 --- a/tools/gopher-kart/css/milligram/src/_Blockquote.sass +++ /dev/null @@ -1,12 +0,0 @@ - -// Blockquote -// –––––––––––––––––––––––––––––––––––––––––––––––––– - -blockquote - border-left: .3rem solid $color-quaternary - margin-left: 0 - margin-right: 0 - padding: 1rem 1.5rem - - *:last-child - margin-bottom: 0 diff --git a/tools/gopher-kart/css/milligram/src/_Button.sass b/tools/gopher-kart/css/milligram/src/_Button.sass deleted file mode 100644 index 9c422b7..0000000 --- a/tools/gopher-kart/css/milligram/src/_Button.sass +++ /dev/null @@ -1,75 +0,0 @@ - -// Button -// –––––––––––––––––––––––––––––––––––––––––––––––––– - -.button, -button, -input[type='button'], -input[type='reset'], -input[type='submit'] - background-color: $color-primary - border: .1rem solid $color-primary - border-radius: .4rem - color: $color-initial - cursor: pointer - display: inline-block - font-size: 1.1rem - font-weight: 700 - height: 3.8rem - letter-spacing: .1rem - line-height: 3.8rem - padding: 0 3.0rem - text-align: center - text-decoration: none - text-transform: uppercase - white-space: nowrap - - &:focus, - &:hover - background-color: $color-secondary - border-color: $color-secondary - color: $color-initial - outline: 0 - - &[disabled] - cursor: default - opacity: .5 - - &:focus, - &:hover - background-color: $color-primary - border-color: $color-primary - - &.button-outline - background-color: transparent - color: $color-primary - - &:focus, - &:hover - background-color: transparent - border-color: $color-secondary - color: $color-secondary - - &[disabled] - - &:focus, - &:hover - border-color: inherit - color: $color-primary - - &.button-clear - background-color: transparent - border-color: transparent - color: $color-primary - - &:focus, - &:hover - background-color: transparent - border-color: transparent - color: $color-secondary - - &[disabled] - - &:focus, - &:hover - color: $color-primary diff --git a/tools/gopher-kart/css/milligram/src/_Code.sass b/tools/gopher-kart/css/milligram/src/_Code.sass deleted file mode 100644 index fd0d8df..0000000 --- a/tools/gopher-kart/css/milligram/src/_Code.sass +++ /dev/null @@ -1,22 +0,0 @@ - -// Code -// –––––––––––––––––––––––––––––––––––––––––––––––––– - -code - background: $color-tertiary - border-radius: .4rem - font-size: 86% - margin: 0 .2rem - padding: .2rem .5rem - white-space: nowrap - -pre - background: $color-tertiary - border-left: .3rem solid $color-primary - overflow-y: hidden - - & > code - border-radius: 0 - display: block - padding: 1rem 1.5rem - white-space: pre diff --git a/tools/gopher-kart/css/milligram/src/_Color.sass b/tools/gopher-kart/css/milligram/src/_Color.sass deleted file mode 100644 index a0279e9..0000000 --- a/tools/gopher-kart/css/milligram/src/_Color.sass +++ /dev/null @@ -1,10 +0,0 @@ - -// Color -// –––––––––––––––––––––––––––––––––––––––––––––––––– - -$color-initial: #fff !default -$color-primary: #9b4dca !default -$color-secondary: #606c76 !default -$color-tertiary: #f4f5f6 !default -$color-quaternary: #d1d1d1 !default -$color-quinary: #e1e1e1 !default diff --git a/tools/gopher-kart/css/milligram/src/_Divider.sass b/tools/gopher-kart/css/milligram/src/_Divider.sass deleted file mode 100644 index 1583766..0000000 --- a/tools/gopher-kart/css/milligram/src/_Divider.sass +++ /dev/null @@ -1,8 +0,0 @@ - -// Divider -// –––––––––––––––––––––––––––––––––––––––––––––––––– - -hr - border: 0 - border-top: .1rem solid $color-tertiary - margin: 3.0rem 0 diff --git a/tools/gopher-kart/css/milligram/src/_Form.sass b/tools/gopher-kart/css/milligram/src/_Form.sass deleted file mode 100644 index 3191237..0000000 --- a/tools/gopher-kart/css/milligram/src/_Form.sass +++ /dev/null @@ -1,56 +0,0 @@ - -// Form -// –––––––––––––––––––––––––––––––––––––––––––––––––– - -input[type='email'], -input[type='number'], -input[type='password'], -input[type='search'], -input[type='tel'], -input[type='text'], -input[type='url'], -textarea, -select - appearance: none // Removes awkward default styles on some inputs for iOS - background-color: transparent - border: .1rem solid $color-quaternary - border-radius: .4rem - box-shadow: none - box-sizing: inherit // Forced to replace inherit values of the normalize.css - height: 3.8rem - padding: .6rem 1.0rem // The .6rem vertically centers text on FF, ignored by Webkit - width: 100% - - &:focus - border-color: $color-primary - outline: 0 - -select - background: url('data:image/svg+xml;utf8,') center right no-repeat - padding-right: 3.0rem - - &:focus - background-image: url('data:image/svg+xml;utf8,') - -textarea - min-height: 6.5rem - -label, -legend - display: block - font-size: 1.6rem - font-weight: 700 - margin-bottom: .5rem - -fieldset - border-width: 0 - padding: 0 - -input[type='checkbox'], -input[type='radio'] - display: inline - -.label-inline - display: inline-block - font-weight: normal - margin-left: .5rem diff --git a/tools/gopher-kart/css/milligram/src/_Grid.sass b/tools/gopher-kart/css/milligram/src/_Grid.sass deleted file mode 100644 index 67bff4b..0000000 --- a/tools/gopher-kart/css/milligram/src/_Grid.sass +++ /dev/null @@ -1,158 +0,0 @@ - -// Grid -// –––––––––––––––––––––––––––––––––––––––––––––––––– - -// .container is main centered wrapper with a max width of 112.0rem (1120px) -.container - margin: 0 auto - max-width: 112.0rem - padding: 0 2.0rem - position: relative - width: 100% - -// Using flexbox for the grid, inspired by Philip Walton: -// http://philipwalton.github.io/solved-by-flexbox/demos/grids/ -// By default each .column within a .row will evenly take up -// available width, and the height of each .column with take -// up the height of the tallest .column in the same .row -.row - display: flex - flex-direction: column - padding: 0 - width: 100% - - &.row-no-padding - padding: 0 - - &> .column - padding: 0 - - &.row-wrap - flex-wrap: wrap - - // Vertically Align Columns - // .row-* vertically aligns every .col in the .row - &.row-top - align-items: flex-start - - &.row-bottom - align-items: flex-end - - &.row-center - align-items: center - - &.row-stretch - align-items: stretch - - &.row-baseline - align-items: baseline - - .column - display: block - // IE 11 required specifying the flex-basis otherwise it breaks mobile - flex: 1 1 auto - margin-left: 0 - max-width: 100% - width: 100% - - // Column Offsets - &.column-offset-10 - margin-left: 10% - - &.column-offset-20 - margin-left: 20% - - &.column-offset-25 - margin-left: 25% - - &.column-offset-33, - &.column-offset-34 - margin-left: 33.3333% - - &.column-offset-50 - margin-left: 50% - - &.column-offset-66, - &.column-offset-67 - margin-left: 66.6666% - - &.column-offset-75 - margin-left: 75% - - &.column-offset-80 - margin-left: 80% - - &.column-offset-90 - margin-left: 90% - - // Explicit Column Percent Sizes - // By default each grid column will evenly distribute - // across the grid. However, you can specify individual - // columns to take up a certain size of the available area - &.column-10 - flex: 0 0 10% - max-width: 10% - - &.column-20 - flex: 0 0 20% - max-width: 20% - - &.column-25 - flex: 0 0 25% - max-width: 25% - - &.column-33, - &.column-34 - flex: 0 0 33.3333% - max-width: 33.3333% - - &.column-40 - flex: 0 0 40% - max-width: 40% - - &.column-50 - flex: 0 0 50% - max-width: 50% - - &.column-60 - flex: 0 0 60% - max-width: 60% - - &.column-66, - &.column-67 - flex: 0 0 66.6666% - max-width: 66.6666% - - &.column-75 - flex: 0 0 75% - max-width: 75% - - &.column-80 - flex: 0 0 80% - max-width: 80% - - &.column-90 - flex: 0 0 90% - max-width: 90% - - // .column-* vertically aligns an individual .column - .column-top - align-self: flex-start - - .column-bottom - align-self: flex-end - - .column-center - align-self: center - -// Larger than mobile screen -@media (min-width: 40.0rem) // Safari desktop has a bug using `rem`, but Safari mobile works - - .row - flex-direction: row - margin-left: -1.0rem - width: calc(100% + 2.0rem) - - .column - margin-bottom: inherit - padding: 0 1.0rem diff --git a/tools/gopher-kart/css/milligram/src/_Image.sass b/tools/gopher-kart/css/milligram/src/_Image.sass deleted file mode 100644 index 9d460e2..0000000 --- a/tools/gopher-kart/css/milligram/src/_Image.sass +++ /dev/null @@ -1,6 +0,0 @@ - -// Image -// –––––––––––––––––––––––––––––––––––––––––––––––––– - -img - max-width: 100% diff --git a/tools/gopher-kart/css/milligram/src/_Link.sass b/tools/gopher-kart/css/milligram/src/_Link.sass deleted file mode 100644 index e0885af..0000000 --- a/tools/gopher-kart/css/milligram/src/_Link.sass +++ /dev/null @@ -1,11 +0,0 @@ - -// Link -// –––––––––––––––––––––––––––––––––––––––––––––––––– - -a - color: $color-primary - text-decoration: none - - &:focus, - &:hover - color: $color-secondary diff --git a/tools/gopher-kart/css/milligram/src/_List.sass b/tools/gopher-kart/css/milligram/src/_List.sass deleted file mode 100644 index d308683..0000000 --- a/tools/gopher-kart/css/milligram/src/_List.sass +++ /dev/null @@ -1,22 +0,0 @@ - -// List -// –––––––––––––––––––––––––––––––––––––––––––––––––– - -dl, -ol, -ul - list-style: none - margin-top: 0 - padding-left: 0 - - dl, - ol, - ul - font-size: 90% - margin: 1.5rem 0 1.5rem 3.0rem - -ol - list-style: decimal inside - -ul - list-style: circle inside diff --git a/tools/gopher-kart/css/milligram/src/_Spacing.sass b/tools/gopher-kart/css/milligram/src/_Spacing.sass deleted file mode 100644 index 7df55bc..0000000 --- a/tools/gopher-kart/css/milligram/src/_Spacing.sass +++ /dev/null @@ -1,27 +0,0 @@ - -// Spacing -// –––––––––––––––––––––––––––––––––––––––––––––––––– - -.button, -button, -dd, -dt, -li - margin-bottom: 1.0rem - -fieldset, -input, -select, -textarea - margin-bottom: 1.5rem - -blockquote, -dl, -figure, -form, -ol, -p, -pre, -table, -ul - margin-bottom: 2.5rem diff --git a/tools/gopher-kart/css/milligram/src/_Table.sass b/tools/gopher-kart/css/milligram/src/_Table.sass deleted file mode 100644 index c27ec39..0000000 --- a/tools/gopher-kart/css/milligram/src/_Table.sass +++ /dev/null @@ -1,19 +0,0 @@ - -// Table -// –––––––––––––––––––––––––––––––––––––––––––––––––– - -table - border-spacing: 0 - width: 100% - -td, -th - border-bottom: .1rem solid $color-quinary - padding: 1.2rem 1.5rem - text-align: left - - &:first-child - padding-left: 0 - - &:last-child - padding-right: 0 diff --git a/tools/gopher-kart/css/milligram/src/_Typography.sass b/tools/gopher-kart/css/milligram/src/_Typography.sass deleted file mode 100644 index a4b9a5b..0000000 --- a/tools/gopher-kart/css/milligram/src/_Typography.sass +++ /dev/null @@ -1,48 +0,0 @@ - -// Typography -// –––––––––––––––––––––––––––––––––––––––––––––––––– - -b, -strong - font-weight: bold - -p - margin-top: 0 - -h1, -h2, -h3, -h4, -h5, -h6 - font-weight: 300 - letter-spacing: -.1rem - margin-bottom: 2.0rem - margin-top: 0 - -h1 - font-size: 4.6rem - line-height: 1.2 - -h2 - font-size: 3.6rem - line-height: 1.25 - -h3 - font-size: 2.8rem - line-height: 1.3 - -h4 - font-size: 2.2rem - letter-spacing: -.08rem - line-height: 1.35 - -h5 - font-size: 1.8rem - letter-spacing: -.05rem - line-height: 1.5 - -h6 - font-size: 1.6rem - letter-spacing: 0 - line-height: 1.4 diff --git a/tools/gopher-kart/css/milligram/src/_Utility.sass b/tools/gopher-kart/css/milligram/src/_Utility.sass deleted file mode 100644 index ae0dd97..0000000 --- a/tools/gopher-kart/css/milligram/src/_Utility.sass +++ /dev/null @@ -1,18 +0,0 @@ - -// Utility -// –––––––––––––––––––––––––––––––––––––––––––––––––– - -// Clear a float with .clearfix -.clearfix - - &:after - clear: both - content: ' ' // The space content is one way to avoid an Opera bug. - display: table - -// Float either direction -.float-left - float: left - -.float-right - float: right diff --git a/tools/gopher-kart/css/milligram/src/milligram.sass b/tools/gopher-kart/css/milligram/src/milligram.sass deleted file mode 100644 index f9ffa4c..0000000 --- a/tools/gopher-kart/css/milligram/src/milligram.sass +++ /dev/null @@ -1,19 +0,0 @@ - -// Sass Modules -// –––––––––––––––––––––––––––––––––––––––––––––––––– - -@import Color -@import Base -@import Blockquote -@import Button -@import Code -@import Divider -@import Form -@import Grid -@import Link -@import List -@import Spacing -@import Table -@import Typography -@import Image -@import Utility diff --git a/tools/gopher-kart/css/milligram/test/index.html b/tools/gopher-kart/css/milligram/test/index.html deleted file mode 100644 index aa9e321..0000000 --- a/tools/gopher-kart/css/milligram/test/index.html +++ /dev/null @@ -1,590 +0,0 @@ - - - - - - - - Milligram | A minimalist CSS framework. - - - - - - - - -
- -
- Milligram | A minimalist CSS framework. -
- -
-
Typography
-
-
-
-
-

Heading <h1> 4.6rem (46px)

-

Heading <h2> 3.6rem (36px)

-

Heading <h3> 2.8rem (28px)

-

Heading <h4> 2.2rem (22px)

-
Heading <h5> 1.8rem (18px)
-
Heading <h6> 1.6rem (16px)
-
-
-

Lorem ipsum dolor sit amet, consectetur adipisicing elit.

-

Obcaecati error a, quas fugit hic, accusantium autem necessitatibus praesentium placeat, iusto et soluta expedita! Quisquam repellendus voluptatem, tempora iste culpa fuga, !

-

Quisquam nobis, ad. Iusto, repudiandae. Autem ipsa blanditiis, quae, fugit nobis perspiciatis in beatae vitae numquam illo, architecto hic dolor molestiae aliquid.

-
-
-
-
- -
-
Blockquotes
-
-
-
-
-

Yeah!! Milligram is amazing.

-
-
-
-

Yeah!! Milligram is amazing.

-
-
-
-
-
- -
-
Buttons
-
-
-
- -
- - - - - - -
-
- - - - - - -
-
-
-
- - - - - - -
-
- - - - - - -
-
-
Default Button
-
Outlined Button
-
Clear Button
-
Default Button
-
Outlined Button
-
Clear Button
-
-
-
-
- -
-
Lists
-
-
-
-
-
    -
  • Unordered list item 1
  • -
  • Unordered list item 2
  • -
  • Unordered list item 3 -
      -
    • Unordered list item 3.1
    • -
    • Unordered list item 3.2
    • -
    • Unordered list item 3.3
    • -
    -
  • -
  • Unordered list item 4
  • -
  • Unordered list item 5
  • -
-
-
-
    -
  1. Ordered list item 1
  2. -
  3. Ordered list item 2
  4. -
  5. Ordered list item 3 -
      -
    1. Ordered list item 3.1
    2. -
    3. Ordered list item 3.2
    4. -
    5. Ordered list item 3.3
    6. -
    -
  6. -
  7. Ordered list item 4
  8. -
  9. Ordered list item 5
  10. -
-
-
-
-
Description list item 1
-
Description list item 2
-
Description list item 3
-
Description list item 3.1
-
Description list item 3.2
-
Description list item 3.3
-
Description list item 4
-
Description list item 5
-
-
-
-
-
- -
-
Forms
-
-
-
-
- Legend -
-
- - - - - - - - - - - - -
-
- - - - - -
-
- - -
-
- - -
-
- -
-
- - -
-
- - -
-
- - - - -
-
-
-
-
-
- -
-
Tables
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameAgeHeightLocation
Kevin Durant272.06 Washington, DC
Stephen Curry271,91Akron, OH
Klay Thompson252,01Los Angeles, CA
Draymond Green262,01Saginaw, MI
Andre Iguodala321,98Springfield, IL
Anderson Varejão332,08Colatina, ES
Shaun Livingston302,01Peoria, CA
-
-
- -
-
Grids
-
-
-
-
100%
-
-
-
10%
-
90%
-
-
-
20%
-
80%
-
-
-
25%
-
75%
-
-
-
33%
-
67%
-
-
-
40%
-
60%
-
-
-
50%
-
50%
-
-
-
60%
-
40%
-
-
-
67%
-
33%
-
-
-
75%
-
25%
-
-
-
80%
-
20%
-
-
-
90%
-
10%
-
-
-
100%
-
-
-
90%
-
10%
-
-
-
80%
-
20%
-
-
-
75%
-
25%
-
-
-
67%
-
33%
-
-
-
60%
-
40%
-
-
-
50%
-
50%
-
-
-
40%
-
60%
-
-
-
33%
-
67%
-
-
-
25%
-
75%
-
-
-
20%
-
80%
-
-
-
10%
-
90%
-
-
-
100%
-
-
-
50%
-
50%
-
-
-
33.3%
-
33.3%
-
33.3%
-
-
-
25%
-
25%
-
25%
-
25%
-
-
-
20%
-
20%
-
20%
-
20%
-
20%
-
-
-
16.6%
-
16.6%
-
16.6%
-
16.6%
-
16.6%
-
16.6%
-
-
-
14.28%
-
14.28%
-
14.28%
-
14.28%
-
14.28%
-
14.28%
-
14.28%
-
-
-
12.5%
-
12.5%
-
12.5%
-
12.5%
-
12.5%
-
12.5%
-
12.5%
-
12.5%
-
-
-
11.11%
-
11.11%
-
11.11%
-
11.11%
-
11.11%
-
11.11%
-
11.11%
-
11.11%
-
11.11%
-
-
-
10%
-
10%
-
10%
-
10%
-
10%
-
10%
-
10%
-
10%
-
10%
-
10%
-
-
-
9.09%
-
9.09%
-
9.09%
-
9.09%
-
9.09%
-
9.09%
-
9.09%
-
9.09%
-
9.09%
-
9.09%
-
9.09%
-
-
-
8.3%
-
8.3%
-
8.3%
-
8.3%
-
8.3%
-
8.3%
-
8.3%
-
8.3%
-
8.3%
-
8.3%
-
8.3%
-
8.3%
-
-
-
50%
-
-
-
50%
-
-
-
25%
-
-
-
25%
-
-
-
25%
-
-
-
25%
-
25%
-
-
-
25%
-
25%
-
-
-
25%
-
50%
-
-
-
50%
-
25%
-
-
-
25%
-
25%
-
-
-
75%
-
-
-
- -
-
Codes
-
-
-
.milligram {
-	color: #9b4dca;
-}
-
-
- -
-
Utilities
-
-
-
- float to left - float to right -
-
-
- -
-
Examples
-
-

-

-

-
- - - -
- - - diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Blockquotes_0_blockquotesexample_0_phone.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Blockquotes_0_blockquotesexample_0_phone.png deleted file mode 100644 index 16f7df2..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Blockquotes_0_blockquotesexample_0_phone.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Blockquotes_0_blockquotesexample_1_laptop.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Blockquotes_0_blockquotesexample_1_laptop.png deleted file mode 100644 index 2013620..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Blockquotes_0_blockquotesexample_1_laptop.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Buttons_0_buttonsexample_0_phone.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Buttons_0_buttonsexample_0_phone.png deleted file mode 100644 index 0f0d37e..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Buttons_0_buttonsexample_0_phone.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Buttons_0_buttonsexample_1_laptop.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Buttons_0_buttonsexample_1_laptop.png deleted file mode 100644 index 5d55689..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Buttons_0_buttonsexample_1_laptop.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Codes_0_codesexample_0_phone.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Codes_0_codesexample_0_phone.png deleted file mode 100644 index 22371eb..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Codes_0_codesexample_0_phone.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Codes_0_codesexample_1_laptop.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Codes_0_codesexample_1_laptop.png deleted file mode 100644 index aeba2e6..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Codes_0_codesexample_1_laptop.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Forms_0_formsexample_0_phone.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Forms_0_formsexample_0_phone.png deleted file mode 100644 index b340b7c..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Forms_0_formsexample_0_phone.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Forms_0_formsexample_1_laptop.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Forms_0_formsexample_1_laptop.png deleted file mode 100644 index f4f3244..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Forms_0_formsexample_1_laptop.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Grids_0_gridsexample_0_phone.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Grids_0_gridsexample_0_phone.png deleted file mode 100644 index 070e207..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Grids_0_gridsexample_0_phone.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Grids_0_gridsexample_1_laptop.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Grids_0_gridsexample_1_laptop.png deleted file mode 100644 index 805642c..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Grids_0_gridsexample_1_laptop.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Lists_0_listsexample_0_phone.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Lists_0_listsexample_0_phone.png deleted file mode 100644 index 65b4ba2..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Lists_0_listsexample_0_phone.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Lists_0_listsexample_1_laptop.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Lists_0_listsexample_1_laptop.png deleted file mode 100644 index 1e2f490..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Lists_0_listsexample_1_laptop.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Tables_0_tablesexample_0_phone.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Tables_0_tablesexample_0_phone.png deleted file mode 100644 index 04c6721..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Tables_0_tablesexample_0_phone.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Tables_0_tablesexample_1_laptop.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Tables_0_tablesexample_1_laptop.png deleted file mode 100644 index 9a41c81..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Tables_0_tablesexample_1_laptop.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Typography_0_typographyexample_0_phone.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Typography_0_typographyexample_0_phone.png deleted file mode 100644 index 497ad6c..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Typography_0_typographyexample_0_phone.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Typography_0_typographyexample_1_laptop.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Typography_0_typographyexample_1_laptop.png deleted file mode 100644 index 12d21a2..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Typography_0_typographyexample_1_laptop.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Utilities_0_utilitiesexample_0_phone.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Utilities_0_utilitiesexample_0_phone.png deleted file mode 100644 index fd305fd..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Utilities_0_utilitiesexample_0_phone.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/regression/486021560_Utilities_0_utilitiesexample_1_laptop.png b/tools/gopher-kart/css/milligram/test/regression/486021560_Utilities_0_utilitiesexample_1_laptop.png deleted file mode 100644 index 2e8d04e..0000000 Binary files a/tools/gopher-kart/css/milligram/test/regression/486021560_Utilities_0_utilitiesexample_1_laptop.png and /dev/null differ diff --git a/tools/gopher-kart/css/milligram/test/unit/build.js b/tools/gopher-kart/css/milligram/test/unit/build.js deleted file mode 100644 index c0eaa4a..0000000 --- a/tools/gopher-kart/css/milligram/test/unit/build.js +++ /dev/null @@ -1,33 +0,0 @@ -const test = require('ava') -const fs = require('fs') -const path = require('path') - -let dist = path.join(__dirname, '../../dist') - -test.before('`dist` path should be created', t => { - t.true(fs.lstatSync(dist).isDirectory()) -}) - -test('`milligram.css` should be created', t => { - fs.readdirSync(dist).map(file => { - if (file === 'milligram.css') t.is(file, 'milligram.css') - }) -}) - -test('`milligram.min.css` should be created', t => { - fs.readdirSync(dist).map(file => { - if (file === 'milligram.min.css') t.is(file, 'milligram.min.css') - }) -}) - -test('`milligram.css.map` should be created', t => { - fs.readdirSync(dist).map(file => { - if (file === 'milligram.css.map') t.is(file, 'milligram.css.map') - }) -}) - -test('`milligram.min.css.map` should be created', t => { - fs.readdirSync(dist).map(file => { - if (file === 'milligram.min.css.map') t.is(file, 'milligram.min.css.map') - }) -}) diff --git a/tools/gopher-kart/css/milligram/test/unit/packages.js b/tools/gopher-kart/css/milligram/test/unit/packages.js deleted file mode 100644 index 84a30b5..0000000 --- a/tools/gopher-kart/css/milligram/test/unit/packages.js +++ /dev/null @@ -1,92 +0,0 @@ -const test = require('ava') -const npm = require('../../package.json') -const bower = require('../../bower.json') -const composer = require('../../composer.json') - -const packages = [ - npm, - bower, - composer -] - -test(`Name should be equal "${npm.name}"`, t => { - packages.map((referenceValue, referenceIndex) => { - packages.map((compareValue, compareIndex) => { - if (compareValue.name.match('/')) compareValue.name = compareValue.name.split('/')[1] - if (referenceIndex !== compareIndex) t.is(referenceValue.name, compareValue.name) - }) - }) -}) - -test(`Version should be equal to "v${npm.version}"`, t => { - packages.map((referenceValue, referenceIndex) => { - packages.map((compareValue, compareIndex) => { - if (referenceIndex !== compareIndex) t.is(referenceValue.version, compareValue.version) - }) - }) -}) - -test(`Description should be equal to "${npm.description}"`, t => { - packages.map((referenceValue, referenceIndex) => { - packages.map((compareValue, compareIndex) => { - if (referenceIndex !== compareIndex) t.is(referenceValue.description, compareValue.description) - }) - }) -}) - -test(`Homepage should be equal to "${npm.homepage}"`, t => { - packages.map((referenceValue, referenceIndex) => { - packages.map((compareValue, compareIndex) => { - if (referenceIndex !== compareIndex) t.is(referenceValue.homepage, compareValue.homepage) - }) - }) -}) - -test(`Repository should be equal to "${npm.repository}"`, t => { - packages.map((referenceValue, referenceIndex) => { - packages.map((compareValue, compareIndex) => { - if (referenceIndex !== compareIndex) t.is(referenceValue.repository, compareValue.repository) - }) - }) -}) - -test(`License should be equal to "${npm.license}"`, t => { - packages.map((referenceValue, referenceIndex) => { - packages.map((compareValue, compareIndex) => { - if (referenceIndex !== compareIndex) t.is(referenceValue.license, compareValue.license) - }) - }) -}) - -test(`Author Name should be equal to "${npm.author}"`, t => { - packages.map((referenceValue, referenceIndex) => { - packages.map((compareValue, compareIndex) => { - if (referenceIndex !== compareIndex) t.is(referenceValue.author, compareValue.author) - }) - }) -}) - -test(`Main File should be equal to "${npm.main}"`, t => { - packages.map((referenceValue, referenceIndex) => { - packages.map((compareValue, compareIndex) => { - if (referenceIndex !== compareIndex) t.is(referenceValue.main, compareValue.main) - }) - }) -}) - -test('Ignore should be equal', t => { - packages.map((referenceValue, referenceIndex) => { - packages.map((compareValue, compareIndex) => { - if (referenceIndex !== compareIndex) t.is(JSON.stringify(referenceValue.ignore), JSON.stringify(compareValue.ignore)) - }) - }) -}) - -test('Keywords should be equal', t => { - packages.map((referenceValue, referenceIndex) => { - packages.map((compareValue, compareIndex) => { - if (referenceIndex !== compareIndex) t.is(JSON.stringify(referenceValue.keywords), JSON.stringify(compareValue.keywords)) - }) - }) -}) - diff --git a/tools/gopher-kart/css/milligram/yarn.lock b/tools/gopher-kart/css/milligram/yarn.lock deleted file mode 100644 index 4bdbf9f..0000000 --- a/tools/gopher-kart/css/milligram/yarn.lock +++ /dev/null @@ -1,5111 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -abbrev@1: - version "1.0.9" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" - -accepts@1.3.3, accepts@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" - dependencies: - mime-types "~2.1.11" - negotiator "0.6.1" - -acorn-jsx@^3.0.0, acorn-jsx@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" - dependencies: - acorn "^3.0.4" - -acorn-object-spread@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/acorn-object-spread/-/acorn-object-spread-1.0.0.tgz#48ead0f4a8eb16995a17a0db9ffc6acaada4ba68" - dependencies: - acorn "^3.1.0" - -acorn@^3.0.4, acorn@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" - -acorn@^4.0.1: - version "4.0.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.4.tgz#17a8d6a7a6c4ef538b814ec9abac2779293bf30a" - -after@0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/after/-/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627" - -ajv-keywords@^1.0.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" - -ajv@^4.7.0: - version "4.11.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.2.tgz#f166c3c11cbc6cb9dcc102a5bcfe5b72c95287e6" - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - -ansi-align@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-1.1.0.tgz#2f0c1658829739add5ebb15e6b0c6e3423f016ba" - dependencies: - string-width "^1.0.1" - -ansi-escapes@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - -ansi-styles@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" - -anymatch@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" - dependencies: - arrify "^1.0.0" - micromatch "^2.1.5" - -append-transform@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" - dependencies: - default-require-extensions "^1.0.0" - -aproba@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0" - -archy@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - -are-we-there-yet@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.0 || ^1.1.13" - -argparse@^0.1.15: - version "0.1.16" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-0.1.16.tgz#cfd01e0fbba3d6caed049fbd758d40f65196f57c" - dependencies: - underscore "~1.7.0" - underscore.string "~2.4.0" - -argparse@^1.0.7: - version "1.0.9" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" - dependencies: - sprintf-js "~1.0.2" - -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - dependencies: - arr-flatten "^1.0.1" - -arr-exclude@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/arr-exclude/-/arr-exclude-1.0.0.tgz#dfc7c2e552a270723ccda04cf3128c8cbfe5c631" - -arr-flatten@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" - -array-differ@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" - -array-filter@~0.0.0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - -array-map@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" - -array-reduce@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" - -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1, array-uniq@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - -arraybuffer.slice@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca" - -arrify@^1.0.0, arrify@^1.0.1, arrify@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - -asn1@~0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" - -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" - -assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - -async-each-series@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432" - -async-each@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" - -async-foreach@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" - -async@1.5.2, async@^1.4.0, async@^1.4.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - -async@~0.2.6: - version "0.2.10" - resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - -auto-bind@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-0.1.0.tgz#7a29efc8c2388d3d578e02fc2df531c81ffc1ee1" - -autoprefixer@^6.5.4: - version "6.7.0" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.0.tgz#88992cf04df141e7b8293550f2ee716c565d1cae" - dependencies: - browserslist "~1.6.0" - caniuse-db "^1.0.30000613" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^5.2.11" - postcss-value-parser "^3.2.3" - -ava-files@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ava-files/-/ava-files-0.2.0.tgz#c7b8b6e2e0cea63b57a6e27e0db145c7c19cfe20" - dependencies: - auto-bind "^0.1.0" - bluebird "^3.4.1" - globby "^6.0.0" - ignore-by-default "^1.0.1" - lodash.flatten "^4.2.0" - multimatch "^2.1.0" - slash "^1.0.0" - -ava-init@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ava-init/-/ava-init-0.1.6.tgz#ef19ed0b24b6bf359dad6fbadf1a05d836395c91" - dependencies: - arr-exclude "^1.0.0" - cross-spawn "^4.0.0" - pinkie-promise "^2.0.0" - read-pkg-up "^1.0.1" - the-argv "^1.0.0" - write-pkg "^1.0.0" - -ava@^0.17.0: - version "0.17.0" - resolved "https://registry.yarnpkg.com/ava/-/ava-0.17.0.tgz#359e2a89616801ef03929c3cf10a9d4f8e451d02" - dependencies: - arr-flatten "^1.0.1" - array-union "^1.0.1" - array-uniq "^1.0.2" - arrify "^1.0.0" - auto-bind "^0.1.0" - ava-files "^0.2.0" - ava-init "^0.1.0" - babel-code-frame "^6.16.0" - babel-core "^6.17.0" - babel-plugin-ava-throws-helper "^0.1.0" - babel-plugin-detective "^2.0.0" - babel-plugin-espower "^2.3.1" - babel-plugin-transform-runtime "^6.15.0" - babel-preset-es2015 "^6.16.0" - babel-preset-es2015-node4 "^2.1.0" - babel-preset-stage-2 "^6.17.0" - babel-runtime "^6.11.6" - bluebird "^3.0.0" - caching-transform "^1.0.0" - chalk "^1.0.0" - chokidar "^1.4.2" - clean-yaml-object "^0.1.0" - cli-cursor "^1.0.2" - cli-spinners "^0.1.2" - cli-truncate "^0.2.0" - co-with-promise "^4.6.0" - common-path-prefix "^1.0.0" - convert-source-map "^1.2.0" - core-assert "^0.2.0" - currently-unhandled "^0.4.1" - debug "^2.2.0" - empower-core "^0.6.1" - figures "^1.4.0" - find-cache-dir "^0.1.1" - fn-name "^2.0.0" - get-port "^2.1.0" - has-flag "^2.0.0" - ignore-by-default "^1.0.0" - is-ci "^1.0.7" - is-generator-fn "^1.0.0" - is-obj "^1.0.0" - is-observable "^0.2.0" - is-promise "^2.1.0" - last-line-stream "^1.0.0" - lodash.debounce "^4.0.3" - lodash.difference "^4.3.0" - lodash.isequal "^4.4.0" - loud-rejection "^1.2.0" - matcher "^0.1.1" - max-timeout "^1.0.0" - md5-hex "^1.2.0" - meow "^3.7.0" - ms "^0.7.1" - object-assign "^4.0.1" - observable-to-promise "^0.4.0" - option-chain "^0.1.0" - package-hash "^1.1.0" - pkg-conf "^1.0.1" - plur "^2.0.0" - power-assert-context-formatter "^1.0.4" - power-assert-renderer-assertion "^1.0.1" - power-assert-renderer-succinct "^1.0.1" - pretty-ms "^2.0.0" - repeating "^2.0.0" - require-precompiled "^0.1.0" - resolve-cwd "^1.0.0" - semver "^5.3.0" - set-immediate-shim "^1.0.1" - source-map-support "^0.4.0" - stack-utils "^0.4.0" - strip-ansi "^3.0.1" - strip-bom "^2.0.0" - time-require "^0.1.2" - unique-temp-dir "^1.0.0" - update-notifier "^1.0.0" - -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" - -aws4@^1.2.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" - -babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4" - dependencies: - chalk "^1.1.0" - esutils "^2.0.2" - js-tokens "^3.0.0" - -babel-core@^6.17.0, babel-core@^6.22.0: - version "6.22.1" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.22.1.tgz#9c5fd658ba1772d28d721f6d25d968fc7ae21648" - dependencies: - babel-code-frame "^6.22.0" - babel-generator "^6.22.0" - babel-helpers "^6.22.0" - babel-messages "^6.22.0" - babel-register "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-traverse "^6.22.1" - babel-types "^6.22.0" - babylon "^6.11.0" - convert-source-map "^1.1.0" - debug "^2.1.1" - json5 "^0.5.0" - lodash "^4.2.0" - minimatch "^3.0.2" - path-is-absolute "^1.0.0" - private "^0.1.6" - slash "^1.0.0" - source-map "^0.5.0" - -babel-generator@^6.1.0, babel-generator@^6.18.0, babel-generator@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.22.0.tgz#d642bf4961911a8adc7c692b0c9297f325cda805" - dependencies: - babel-messages "^6.22.0" - babel-runtime "^6.22.0" - babel-types "^6.22.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.2.0" - source-map "^0.5.0" - -babel-helper-bindify-decorators@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.22.0.tgz#d7f5bc261275941ac62acfc4e20dacfb8a3fe952" - dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-helper-builder-binary-assignment-operator-visitor@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.22.0.tgz#29df56be144d81bdeac08262bfa41d2c5e91cdcd" - dependencies: - babel-helper-explode-assignable-expression "^6.22.0" - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-helper-call-delegate@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz#119921b56120f17e9dae3f74b4f5cc7bcc1b37ef" - dependencies: - babel-helper-hoist-variables "^6.22.0" - babel-runtime "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-helper-define-map@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.22.0.tgz#9544e9502b2d6dfe7d00ff60e82bd5a7a89e95b7" - dependencies: - babel-helper-function-name "^6.22.0" - babel-runtime "^6.22.0" - babel-types "^6.22.0" - lodash "^4.2.0" - -babel-helper-explode-assignable-expression@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.22.0.tgz#c97bf76eed3e0bae4048121f2b9dae1a4e7d0478" - dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-helper-explode-class@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.22.0.tgz#646304924aa6388a516843ba7f1855ef8dfeb69b" - dependencies: - babel-helper-bindify-decorators "^6.22.0" - babel-runtime "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-helper-function-name@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.22.0.tgz#51f1bdc4bb89b15f57a9b249f33d742816dcbefc" - dependencies: - babel-helper-get-function-arity "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-helper-get-function-arity@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-helper-hoist-variables@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz#3eacbf731d80705845dd2e9718f600cfb9b4ba72" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-helper-optimise-call-expression@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.22.0.tgz#f8d5d4b40a6e2605a6a7f9d537b581bea3756d15" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-helper-regex@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz#79f532be1647b1f0ee3474b5f5c3da58001d247d" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.22.0" - lodash "^4.2.0" - -babel-helper-remap-async-to-generator@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.22.0.tgz#2186ae73278ed03b8b15ced089609da981053383" - dependencies: - babel-helper-function-name "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-helper-replace-supers@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.22.0.tgz#1fcee2270657548908c34db16bcc345f9850cf42" - dependencies: - babel-helper-optimise-call-expression "^6.22.0" - babel-messages "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-helpers@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.22.0.tgz#d275f55f2252b8101bff07bc0c556deda657392c" - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.22.0" - -babel-messages@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.22.0.tgz#36066a214f1217e4ed4164867669ecb39e3ea575" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-ava-throws-helper@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-ava-throws-helper/-/babel-plugin-ava-throws-helper-0.1.0.tgz#951107708a12208026bf8ca4cef18a87bc9b0cfe" - dependencies: - babel-template "^6.7.0" - babel-types "^6.7.2" - -babel-plugin-check-es2015-constants@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-detective@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-detective/-/babel-plugin-detective-2.0.0.tgz#6e642e83c22a335279754ebe2d754d2635f49f13" - -babel-plugin-espower@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/babel-plugin-espower/-/babel-plugin-espower-2.3.2.tgz#5516b8fcdb26c9f0e1d8160749f6e4c65e71271e" - dependencies: - babel-generator "^6.1.0" - babylon "^6.1.0" - call-matcher "^1.0.0" - core-js "^2.0.0" - espower-location-detector "^1.0.0" - espurify "^1.6.0" - estraverse "^4.1.1" - -babel-plugin-syntax-async-functions@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" - -babel-plugin-syntax-async-generators@^6.5.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" - -babel-plugin-syntax-class-properties@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" - -babel-plugin-syntax-decorators@^6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" - -babel-plugin-syntax-dynamic-import@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" - -babel-plugin-syntax-exponentiation-operator@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" - -babel-plugin-syntax-object-rest-spread@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" - -babel-plugin-syntax-trailing-function-commas@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" - -babel-plugin-transform-async-generator-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.22.0.tgz#a720a98153a7596f204099cd5409f4b3c05bab46" - dependencies: - babel-helper-remap-async-to-generator "^6.22.0" - babel-plugin-syntax-async-generators "^6.5.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-async-to-generator@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.22.0.tgz#194b6938ec195ad36efc4c33a971acf00d8cd35e" - dependencies: - babel-helper-remap-async-to-generator "^6.22.0" - babel-plugin-syntax-async-functions "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-class-properties@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.22.0.tgz#aa78f8134495c7de06c097118ba061844e1dc1d8" - dependencies: - babel-helper-function-name "^6.22.0" - babel-plugin-syntax-class-properties "^6.8.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - -babel-plugin-transform-decorators@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.22.0.tgz#c03635b27a23b23b7224f49232c237a73988d27c" - dependencies: - babel-helper-explode-class "^6.22.0" - babel-plugin-syntax-decorators "^6.13.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-types "^6.22.0" - -babel-plugin-transform-es2015-arrow-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoping@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.22.0.tgz#00d6e3a0bebdcfe7536b9d653b44a9141e63e47e" - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - lodash "^4.2.0" - -babel-plugin-transform-es2015-classes@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.22.0.tgz#54d44998fd823d9dca15292324161c331c1b6f14" - dependencies: - babel-helper-define-map "^6.22.0" - babel-helper-function-name "^6.22.0" - babel-helper-optimise-call-expression "^6.22.0" - babel-helper-replace-supers "^6.22.0" - babel-messages "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-plugin-transform-es2015-computed-properties@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz#7c383e9629bba4820c11b0425bdd6290f7f057e7" - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.22.0" - -babel-plugin-transform-es2015-destructuring@^6.22.0, babel-plugin-transform-es2015-destructuring@^6.6.5: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.22.0.tgz#8e0af2f885a0b2cf999d47c4c1dd23ce88cfa4c6" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-duplicate-keys@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz#672397031c21610d72dd2bbb0ba9fb6277e1c36b" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-plugin-transform-es2015-for-of@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.22.0.tgz#180467ad63aeea592a1caeee4bf1c8b3e2616265" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es2015-function-name@^6.5.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz#f5fcc8b09093f9a23c76ac3d9e392c3ec4b77104" - dependencies: - babel-helper-function-name "^6.22.0" - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-plugin-transform-es2015-literals@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-modules-amd@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.22.0.tgz#bf69cd34889a41c33d90dfb740e0091ccff52f21" - dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - -babel-plugin-transform-es2015-modules-commonjs@^6.22.0, babel-plugin-transform-es2015-modules-commonjs@^6.7.4: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.22.0.tgz#6ca04e22b8e214fb50169730657e7a07dc941145" - dependencies: - babel-plugin-transform-strict-mode "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-types "^6.22.0" - -babel-plugin-transform-es2015-modules-systemjs@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.22.0.tgz#810cd0cd025a08383b84236b92c6e31f88e644ad" - dependencies: - babel-helper-hoist-variables "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - -babel-plugin-transform-es2015-modules-umd@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.22.0.tgz#60d0ba3bd23258719c64391d9bf492d648dc0fae" - dependencies: - babel-plugin-transform-es2015-modules-amd "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - -babel-plugin-transform-es2015-object-super@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz#daa60e114a042ea769dd53fe528fc82311eb98fc" - dependencies: - babel-helper-replace-supers "^6.22.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-parameters@^6.22.0, babel-plugin-transform-es2015-parameters@^6.7.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.22.0.tgz#57076069232019094f27da8c68bb7162fe208dbb" - dependencies: - babel-helper-call-delegate "^6.22.0" - babel-helper-get-function-arity "^6.22.0" - babel-runtime "^6.22.0" - babel-template "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - -babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.5.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz#8ba776e0affaa60bff21e921403b8a652a2ff723" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-plugin-transform-es2015-spread@^6.22.0, babel-plugin-transform-es2015-spread@^6.6.5: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-sticky-regex@^6.22.0, babel-plugin-transform-es2015-sticky-regex@^6.5.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz#ab316829e866ee3f4b9eb96939757d19a5bc4593" - dependencies: - babel-helper-regex "^6.22.0" - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-plugin-transform-es2015-template-literals@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-typeof-symbol@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.22.0.tgz#87faf2336d3b6a97f68c4d906b0cd0edeae676e1" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-unicode-regex@^6.22.0, babel-plugin-transform-es2015-unicode-regex@^6.5.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz#8d9cc27e7ee1decfe65454fb986452a04a613d20" - dependencies: - babel-helper-regex "^6.22.0" - babel-runtime "^6.22.0" - regexpu-core "^2.0.0" - -babel-plugin-transform-exponentiation-operator@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.22.0.tgz#d57c8335281918e54ef053118ce6eb108468084d" - dependencies: - babel-helper-builder-binary-assignment-operator-visitor "^6.22.0" - babel-plugin-syntax-exponentiation-operator "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-object-rest-spread@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.22.0.tgz#1d419b55e68d2e4f64a5ff3373bd67d73c8e83bc" - dependencies: - babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-regenerator@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz#65740593a319c44522157538d690b84094617ea6" - dependencies: - regenerator-transform "0.9.8" - -babel-plugin-transform-runtime@^6.15.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.22.0.tgz#10968d760bbf6517243081eec778e10fa828551c" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-strict-mode@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz#e008df01340fdc87e959da65991b7e05970c8c7c" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.22.0" - -babel-preset-es2015-node4@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/babel-preset-es2015-node4/-/babel-preset-es2015-node4-2.1.1.tgz#e31f290859b58619c8cfa241d1b0bc900f941cdb" - dependencies: - babel-plugin-transform-es2015-destructuring "^6.6.5" - babel-plugin-transform-es2015-function-name "^6.5.0" - babel-plugin-transform-es2015-modules-commonjs "^6.7.4" - babel-plugin-transform-es2015-parameters "^6.7.0" - babel-plugin-transform-es2015-shorthand-properties "^6.5.0" - babel-plugin-transform-es2015-spread "^6.6.5" - babel-plugin-transform-es2015-sticky-regex "^6.5.0" - babel-plugin-transform-es2015-unicode-regex "^6.5.0" - -babel-preset-es2015@^6.16.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.22.0.tgz#af5a98ecb35eb8af764ad8a5a05eb36dc4386835" - dependencies: - babel-plugin-check-es2015-constants "^6.22.0" - babel-plugin-transform-es2015-arrow-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoping "^6.22.0" - babel-plugin-transform-es2015-classes "^6.22.0" - babel-plugin-transform-es2015-computed-properties "^6.22.0" - babel-plugin-transform-es2015-destructuring "^6.22.0" - babel-plugin-transform-es2015-duplicate-keys "^6.22.0" - babel-plugin-transform-es2015-for-of "^6.22.0" - babel-plugin-transform-es2015-function-name "^6.22.0" - babel-plugin-transform-es2015-literals "^6.22.0" - babel-plugin-transform-es2015-modules-amd "^6.22.0" - babel-plugin-transform-es2015-modules-commonjs "^6.22.0" - babel-plugin-transform-es2015-modules-systemjs "^6.22.0" - babel-plugin-transform-es2015-modules-umd "^6.22.0" - babel-plugin-transform-es2015-object-super "^6.22.0" - babel-plugin-transform-es2015-parameters "^6.22.0" - babel-plugin-transform-es2015-shorthand-properties "^6.22.0" - babel-plugin-transform-es2015-spread "^6.22.0" - babel-plugin-transform-es2015-sticky-regex "^6.22.0" - babel-plugin-transform-es2015-template-literals "^6.22.0" - babel-plugin-transform-es2015-typeof-symbol "^6.22.0" - babel-plugin-transform-es2015-unicode-regex "^6.22.0" - babel-plugin-transform-regenerator "^6.22.0" - -babel-preset-stage-2@^6.17.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.22.0.tgz#ccd565f19c245cade394b21216df704a73b27c07" - dependencies: - babel-plugin-syntax-dynamic-import "^6.18.0" - babel-plugin-transform-class-properties "^6.22.0" - babel-plugin-transform-decorators "^6.22.0" - babel-preset-stage-3 "^6.22.0" - -babel-preset-stage-3@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.22.0.tgz#a4e92bbace7456fafdf651d7a7657ee0bbca9c2e" - dependencies: - babel-plugin-syntax-trailing-function-commas "^6.22.0" - babel-plugin-transform-async-generator-functions "^6.22.0" - babel-plugin-transform-async-to-generator "^6.22.0" - babel-plugin-transform-exponentiation-operator "^6.22.0" - babel-plugin-transform-object-rest-spread "^6.22.0" - -babel-register@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.22.0.tgz#a61dd83975f9ca4a9e7d6eff3059494cd5ea4c63" - dependencies: - babel-core "^6.22.0" - babel-runtime "^6.22.0" - core-js "^2.4.0" - home-or-tmp "^2.0.0" - lodash "^4.2.0" - mkdirp "^0.5.1" - source-map-support "^0.4.2" - -babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611" - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.10.0" - -babel-template@^6.16.0, babel-template@^6.22.0, babel-template@^6.7.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.22.0.tgz#403d110905a4626b317a2a1fcb8f3b73204b2edb" - dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.22.0" - babel-types "^6.22.0" - babylon "^6.11.0" - lodash "^4.2.0" - -babel-traverse@^6.18.0, babel-traverse@^6.22.0, babel-traverse@^6.22.1: - version "6.22.1" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.22.1.tgz#3b95cd6b7427d6f1f757704908f2fc9748a5f59f" - dependencies: - babel-code-frame "^6.22.0" - babel-messages "^6.22.0" - babel-runtime "^6.22.0" - babel-types "^6.22.0" - babylon "^6.15.0" - debug "^2.2.0" - globals "^9.0.0" - invariant "^2.2.0" - lodash "^4.2.0" - -babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.22.0, babel-types@^6.7.2: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.22.0.tgz#2a447e8d0ea25d2512409e4175479fd78cc8b1db" - dependencies: - babel-runtime "^6.22.0" - esutils "^2.0.2" - lodash "^4.2.0" - to-fast-properties "^1.0.1" - -babylon@^6.1.0, babylon@^6.11.0, babylon@^6.13.0, babylon@^6.15.0: - version "6.15.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.15.0.tgz#ba65cfa1a80e1759b0e89fb562e27dccae70348e" - -backo2@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" - -backstopjs@^2.3.5: - version "2.3.9" - resolved "https://registry.yarnpkg.com/backstopjs/-/backstopjs-2.3.9.tgz#00e443ad34be8664d7c3065e9ab7db931205fdb2" - dependencies: - bluebird "^3.4.6" - casperjs "^1.1.0-beta5" - chalk "^1.1.3" - fs-extra "^0.30.0" - junitwriter "~0.3.1" - lodash.map "^4.6.0" - minimist "^1.2.0" - node-resemble-js "^0.1.1" - object-hash "1.1.5" - open "0.0.5" - os "^0.1.1" - phantomjs-prebuilt "^2.1.7" - temp "^0.8.3" - -balanced-match@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" - -banner-cli@^0.9.2: - version "0.9.2" - resolved "https://registry.yarnpkg.com/banner-cli/-/banner-cli-0.9.2.tgz#ee7e98bb59b61f6a27e8f2f28103b1c1b420090d" - dependencies: - prepend-file "~1.3.1" - -base64-arraybuffer@0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" - -base64id@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/base64id/-/base64id-0.1.0.tgz#02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f" - -batch@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464" - -bcrypt-pbkdf@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" - dependencies: - tweetnacl "^0.14.3" - -better-assert@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" - dependencies: - callsite "1.0.0" - -binary-extensions@^1.0.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" - -blob@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921" - -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - dependencies: - inherits "~2.0.0" - -bluebird@^2.3.6: - version "2.11.0" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1" - -bluebird@^3.0.0, bluebird@^3.4.1, bluebird@^3.4.6: - version "3.4.7" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" - -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - dependencies: - hoek "2.x.x" - -boxen@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-0.6.0.tgz#8364d4248ac34ff0ef1b2f2bf49a6c60ce0d81b6" - dependencies: - ansi-align "^1.1.0" - camelcase "^2.1.0" - chalk "^1.1.1" - cli-boxes "^1.0.0" - filled-array "^1.0.0" - object-assign "^4.0.1" - repeating "^2.0.0" - string-width "^1.0.1" - widest-line "^1.0.0" - -brace-expansion@^1.0.0: - version "1.1.6" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" - dependencies: - balanced-match "^0.4.1" - concat-map "0.0.1" - -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - -browser-sync-client@2.4.4: - version "2.4.4" - resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.4.4.tgz#e2a6c27f770e0ad0ffed76964dfb6a971fcf55eb" - dependencies: - etag "^1.7.0" - fresh "^0.3.0" - -browser-sync-ui@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-0.6.2.tgz#9e7994004d463e55a024bdd149583b11ad8f87f3" - dependencies: - async-each-series "0.1.1" - connect-history-api-fallback "^1.1.0" - immutable "^3.7.6" - server-destroy "1.0.1" - stream-throttle "^0.1.3" - weinre "^2.0.0-pre-I0Z7U9OV" - -browser-sync@^2.18.5: - version "2.18.6" - resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.18.6.tgz#7b303ea8905eaa20629e6c5d3e820c32ad96bb24" - dependencies: - browser-sync-client "2.4.4" - browser-sync-ui "0.6.2" - bs-recipes "1.3.4" - chokidar "1.6.1" - connect "3.5.0" - dev-ip "^1.0.1" - easy-extender "2.3.2" - eazy-logger "3.0.2" - emitter-steward "^1.0.0" - fs-extra "1.0.0" - http-proxy "1.15.2" - immutable "3.8.1" - localtunnel "1.8.2" - micromatch "2.3.11" - opn "4.0.2" - portscanner "2.1.1" - qs "6.2.1" - resp-modifier "6.0.2" - rx "4.1.0" - serve-index "1.8.0" - serve-static "1.11.1" - server-destroy "1.0.1" - socket.io "1.6.0" - socket.io-client "1.6.0" - ua-parser-js "0.7.12" - yargs "6.4.0" - -browserslist@~1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.6.0.tgz#85fb7c993540d3fda31c282baf7f5aee698ac9ee" - dependencies: - caniuse-db "^1.0.30000613" - electron-to-chromium "^1.2.0" - -bs-recipes@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/bs-recipes/-/bs-recipes-1.3.4.tgz#0d2d4d48a718c8c044769fdc4f89592dc8b69585" - -buble@^0.12.0: - version "0.12.5" - resolved "https://registry.yarnpkg.com/buble/-/buble-0.12.5.tgz#c66ffe92f9f4a3c65d3256079b711e2bd0bc5013" - dependencies: - acorn "^3.1.0" - acorn-jsx "^3.0.1" - acorn-object-spread "^1.0.0" - chalk "^1.1.3" - magic-string "^0.14.0" - minimist "^1.2.0" - os-homedir "^1.0.1" - -bubleify@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/bubleify/-/bubleify-0.5.1.tgz#f65c47cee31b80cad8b9e747bbe187d7fe51e927" - dependencies: - buble "^0.12.0" - object-assign "^4.0.1" - -buf-compare@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/buf-compare/-/buf-compare-1.0.1.tgz#fef28da8b8113a0a0db4430b0b6467b69730b34a" - -buffer-shims@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" - -builtin-modules@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - -caching-transform@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-1.0.1.tgz#6dbdb2f20f8d8fbce79f3e94e9d1742dcdf5c0a1" - dependencies: - md5-hex "^1.2.0" - mkdirp "^0.5.1" - write-file-atomic "^1.1.4" - -call-matcher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-matcher/-/call-matcher-1.0.1.tgz#5134d077984f712a54dad3cbf62de28dce416ca8" - dependencies: - core-js "^2.0.0" - deep-equal "^1.0.0" - espurify "^1.6.0" - estraverse "^4.0.0" - -call-signature@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/call-signature/-/call-signature-0.0.2.tgz#a84abc825a55ef4cb2b028bd74e205a65b9a4996" - -caller-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" - dependencies: - callsites "^0.2.0" - -callsite@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" - -callsites@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase@^1.0.2, camelcase@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - -camelcase@^2.0.0, camelcase@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - -camelcase@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" - -caniuse-db@^1.0.30000613: - version "1.0.30000613" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000613.tgz#639133b7a5380c1416f9701d23d54d093dd68299" - -capture-stack-trace@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" - -caseless@~0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" - -casperjs@^1.1.0-beta5: - version "1.1.3" - resolved "https://registry.yarnpkg.com/casperjs/-/casperjs-1.1.3.tgz#9653de731f8aa44d0915a69ba2233164bb2eaf94" - -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - -chalk@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" - dependencies: - ansi-styles "~1.0.0" - has-color "~0.1.0" - strip-ansi "~0.1.0" - -chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chokidar@1.6.1, chokidar@^1.4.2, chokidar@^1.5.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - -chokidar@~1.5.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.5.2.tgz#293e728640cc93dd8277424334b3c6d4ad3a348a" - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - -ci-info@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.0.0.tgz#dc5285f2b4e251821683681c381c3388f46ec534" - -circular-json@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d" - -clean-yaml-object@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz#63fb110dc2ce1a84dc21f6d9334876d010ae8b68" - -cli-boxes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" - -cli-cursor@^1.0.1, cli-cursor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - dependencies: - restore-cursor "^1.0.1" - -cli-spinners@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" - -cli-truncate@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" - dependencies: - slice-ansi "0.0.4" - string-width "^1.0.1" - -cli-width@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a" - -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - -cliui@^3.0.3, cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - -co-with-promise@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co-with-promise/-/co-with-promise-4.6.0.tgz#413e7db6f5893a60b942cf492c4bec93db415ab7" - dependencies: - pinkie-promise "^1.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - -combined-stream@^1.0.5, combined-stream@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" - dependencies: - delayed-stream "~1.0.0" - -commander@^2.2.0, commander@^2.8.1, commander@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" - dependencies: - graceful-readlink ">= 1.0.0" - -commander@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-1.1.1.tgz#50d1651868ae60eccff0a2d9f34595376bc6b041" - dependencies: - keypress "0.1.x" - -common-path-prefix@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-1.0.0.tgz#cd52f6f0712e0baab97d6f9732874f22f47752c0" - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - -component-bind@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" - -component-emitter@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3" - -component-emitter@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - -component-inherit@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - -concat-stream@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.0.tgz#53f7d43c51c5e43f81c8fdd03321c631be68d611" - dependencies: - inherits "~2.0.1" - readable-stream "~2.0.0" - typedarray "~0.0.5" - -concat-stream@^1.4.6: - version "1.6.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -configstore@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-2.1.0.tgz#737a3a7036e9886102aa6099e47bb33ab1aba1a1" - dependencies: - dot-prop "^3.0.0" - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - object-assign "^4.0.1" - os-tmpdir "^1.0.0" - osenv "^0.1.0" - uuid "^2.0.1" - write-file-atomic "^1.1.2" - xdg-basedir "^2.0.0" - -connect-history-api-fallback@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169" - -connect@1.x: - version "1.9.2" - resolved "https://registry.yarnpkg.com/connect/-/connect-1.9.2.tgz#42880a22e9438ae59a8add74e437f58ae8e52807" - dependencies: - formidable "1.0.x" - mime ">= 0.0.1" - qs ">= 0.4.0" - -connect@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.5.0.tgz#b357525a0b4c1f50599cd983e1d9efeea9677198" - dependencies: - debug "~2.2.0" - finalhandler "0.5.0" - parseurl "~1.3.1" - utils-merge "1.0.0" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - -convert-source-map@^1.1.0, convert-source-map@^1.2.0, convert-source-map@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67" - -cookie@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - -core-assert@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/core-assert/-/core-assert-0.2.1.tgz#f85e2cf9bfed28f773cc8b3fa5c5b69bdc02fe3f" - dependencies: - buf-compare "^1.0.0" - is-error "^2.2.0" - -core-js@^2.0.0, core-js@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" - -core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - -create-error-class@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" - dependencies: - capture-stack-trace "^1.0.0" - -cross-spawn@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - -cross-spawn@^4, cross-spawn@^4.0.0, cross-spawn@~4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" - dependencies: - lru-cache "^4.0.1" - which "^1.2.9" - -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - dependencies: - boom "2.x.x" - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - dependencies: - array-find-index "^1.0.1" - -d@^0.1.1, d@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/d/-/d-0.1.1.tgz#da184c535d18d8ee7ba2aa229b914009fae11309" - dependencies: - es5-ext "~0.10.2" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - dependencies: - assert-plus "^1.0.0" - -date-time@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/date-time/-/date-time-0.1.1.tgz#ed2f6d93d9790ce2fd66d5b5ff3edd5bbcbf3b07" - -dateformat@1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.11.tgz#f27cbee7a012bbfb82ea051562d3977f6093dbb1" - dependencies: - get-stdin "*" - meow "*" - -debug-log@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/debug-log/-/debug-log-1.0.1.tgz#2307632d4c04382b8df8a32f70b895046d52745f" - -debug@0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39" - -debug@2.2.0, debug@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" - dependencies: - ms "0.7.1" - -debug@2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c" - dependencies: - ms "0.7.2" - -debug@^2.1.1, debug@^2.2.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b" - dependencies: - ms "0.7.2" - -decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - -deep-equal@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - -deep-extend@~0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - -default-require-extensions@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" - dependencies: - strip-bom "^2.0.0" - -define-properties@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" - dependencies: - foreach "^2.0.5" - object-keys "^1.0.8" - -del@^2.0.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" - dependencies: - globby "^5.0.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - rimraf "^2.2.8" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - -depd@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - -detect-indent@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-0.1.4.tgz#c28e1303c1c4ad5ce0549902b884043afc5906b0" - -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - dependencies: - repeating "^2.0.0" - -dev-ip@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" - -doctrine@^1.2.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - dependencies: - is-obj "^1.0.0" - -duplexer2@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - dependencies: - readable-stream "^2.0.2" - -duplexer@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - -eastasianwidth@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.1.1.tgz#44d656de9da415694467335365fb3147b8572b7c" - -easy-extender@2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/easy-extender/-/easy-extender-2.3.2.tgz#3d3248febe2b159607316d8f9cf491c16648221d" - dependencies: - lodash "^3.10.1" - -eazy-logger@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/eazy-logger/-/eazy-logger-3.0.2.tgz#a325aa5e53d13a2225889b2ac4113b2b9636f4fc" - dependencies: - tfunk "^3.0.1" - -ecc-jsbn@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" - dependencies: - jsbn "~0.1.0" - -editorconfig-tools@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/editorconfig-tools/-/editorconfig-tools-0.1.1.tgz#6c38af1a3e56efe10a4adf56613fed742801888b" - dependencies: - argparse "^0.1.15" - detect-indent "^0.1.4" - editorconfig "^0.12.1" - fobject "0.0.3" - graceful-fs "^3.0.4" - lodash "^2.4.1" - require-tree "^0.3.3" - when "^3.1.0" - -editorconfig@^0.12.1: - version "0.12.2" - resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.12.2.tgz#f67bd4e482fbae0c24f1278572f43ff85dc2ae8f" - dependencies: - bluebird "^2.3.6" - commander "~1.1.1" - lru-cache "~2.0.0" - sigmund "~1.0.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - -electron-to-chromium@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.2.0.tgz#3bd7761f85bd4163602259ae6c7ed338050b17e7" - -emitter-steward@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/emitter-steward/-/emitter-steward-1.0.0.tgz#f3411ade9758a7565df848b2da0cbbd1b46cbd64" - -empower-core@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/empower-core/-/empower-core-0.6.1.tgz#6c187f502fcef7554d57933396aac655483772b1" - dependencies: - call-signature "0.0.2" - core-js "^2.0.0" - -encodeurl@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" - -engine.io-client@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.0.tgz#7b730e4127414087596d9be3c88d2bc5fdb6cf5c" - dependencies: - component-emitter "1.2.1" - component-inherit "0.0.3" - debug "2.3.3" - engine.io-parser "1.3.1" - has-cors "1.1.0" - indexof "0.0.1" - parsejson "0.0.3" - parseqs "0.0.5" - parseuri "0.0.5" - ws "1.1.1" - xmlhttprequest-ssl "1.5.3" - yeast "0.1.2" - -engine.io-parser@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.1.tgz#9554f1ae33107d6fbd170ca5466d2f833f6a07cf" - dependencies: - after "0.8.1" - arraybuffer.slice "0.0.6" - base64-arraybuffer "0.1.5" - blob "0.0.4" - has-binary "0.1.6" - wtf-8 "1.0.0" - -engine.io@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.0.tgz#3eeb5f264cb75dbbec1baaea26d61f5a4eace2aa" - dependencies: - accepts "1.3.3" - base64id "0.1.0" - cookie "0.3.1" - debug "2.3.3" - engine.io-parser "1.3.1" - ws "1.1.1" - -error-ex@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.4.3: - version "1.7.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.7.0.tgz#dfade774e01bfcd97f96180298c449c8623fb94c" - dependencies: - es-to-primitive "^1.1.1" - function-bind "^1.1.0" - is-callable "^1.1.3" - is-regex "^1.0.3" - -es-to-primitive@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" - dependencies: - is-callable "^1.1.1" - is-date-object "^1.0.1" - is-symbol "^1.0.1" - -es5-ext@^0.10.7, es5-ext@^0.10.8, es5-ext@~0.10.11, es5-ext@~0.10.2, es5-ext@~0.10.7: - version "0.10.12" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.12.tgz#aa84641d4db76b62abba5e45fd805ecbab140047" - dependencies: - es6-iterator "2" - es6-symbol "~3.1" - -es6-iterator@2: - version "2.0.0" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.0.tgz#bd968567d61635e33c0b80727613c9cb4b096bac" - dependencies: - d "^0.1.1" - es5-ext "^0.10.7" - es6-symbol "3" - -es6-map@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.4.tgz#a34b147be224773a4d7da8072794cefa3632b897" - dependencies: - d "~0.1.1" - es5-ext "~0.10.11" - es6-iterator "2" - es6-set "~0.1.3" - es6-symbol "~3.1.0" - event-emitter "~0.3.4" - -es6-promise@~4.0.3: - version "4.0.5" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.0.5.tgz#7882f30adde5b240ccfa7f7d78c548330951ae42" - -es6-set@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.4.tgz#9516b6761c2964b92ff479456233a247dc707ce8" - dependencies: - d "~0.1.1" - es5-ext "~0.10.11" - es6-iterator "2" - es6-symbol "3" - event-emitter "~0.3.4" - -es6-symbol@3, es6-symbol@~3.1, es6-symbol@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.0.tgz#94481c655e7a7cad82eba832d97d5433496d7ffa" - dependencies: - d "~0.1.1" - es5-ext "~0.10.11" - -es6-weak-map@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.1.tgz#0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81" - dependencies: - d "^0.1.1" - es5-ext "^0.10.8" - es6-iterator "2" - es6-symbol "3" - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - -escope@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" - dependencies: - es6-map "^0.1.3" - es6-weak-map "^2.0.1" - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-config-styled@^0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-styled/-/eslint-config-styled-0.0.0.tgz#4c7ef6981e156fb67d6e8fcf6a863c2bd5a249d3" - -eslint@^2.7.0: - version "2.13.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-2.13.1.tgz#e4cc8fa0f009fb829aaae23855a29360be1f6c11" - dependencies: - chalk "^1.1.3" - concat-stream "^1.4.6" - debug "^2.1.1" - doctrine "^1.2.2" - es6-map "^0.1.3" - escope "^3.6.0" - espree "^3.1.6" - estraverse "^4.2.0" - esutils "^2.0.2" - file-entry-cache "^1.1.1" - glob "^7.0.3" - globals "^9.2.0" - ignore "^3.1.2" - imurmurhash "^0.1.4" - inquirer "^0.12.0" - is-my-json-valid "^2.10.0" - is-resolvable "^1.0.0" - js-yaml "^3.5.1" - json-stable-stringify "^1.0.0" - levn "^0.3.0" - lodash "^4.0.0" - mkdirp "^0.5.0" - optionator "^0.8.1" - path-is-absolute "^1.0.0" - path-is-inside "^1.0.1" - pluralize "^1.2.1" - progress "^1.1.8" - require-uncached "^1.0.2" - shelljs "^0.6.0" - strip-json-comments "~1.0.1" - table "^3.7.8" - text-table "~0.2.0" - user-home "^2.0.0" - -eslint@^3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.14.0.tgz#2c617e5f782fda5cbee5bc8be7ef5053af8e63a3" - dependencies: - babel-code-frame "^6.16.0" - chalk "^1.1.3" - concat-stream "^1.4.6" - debug "^2.1.1" - doctrine "^1.2.2" - escope "^3.6.0" - espree "^3.3.1" - estraverse "^4.2.0" - esutils "^2.0.2" - file-entry-cache "^2.0.0" - glob "^7.0.3" - globals "^9.14.0" - ignore "^3.2.0" - imurmurhash "^0.1.4" - inquirer "^0.12.0" - is-my-json-valid "^2.10.0" - is-resolvable "^1.0.0" - js-yaml "^3.5.1" - json-stable-stringify "^1.0.0" - levn "^0.3.0" - lodash "^4.0.0" - mkdirp "^0.5.0" - natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.1" - pluralize "^1.2.1" - progress "^1.1.8" - require-uncached "^1.0.2" - shelljs "^0.7.5" - strip-bom "^3.0.0" - strip-json-comments "~2.0.1" - table "^3.7.8" - text-table "~0.2.0" - user-home "^2.0.0" - -espower-location-detector@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/espower-location-detector/-/espower-location-detector-1.0.0.tgz#a17b7ecc59d30e179e2bef73fb4137704cb331b5" - dependencies: - is-url "^1.2.1" - path-is-absolute "^1.0.0" - source-map "^0.5.0" - xtend "^4.0.0" - -espree@^3.1.6, espree@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.3.2.tgz#dbf3fadeb4ecb4d4778303e50103b3d36c88b89c" - dependencies: - acorn "^4.0.1" - acorn-jsx "^3.0.0" - -esprima@^2.6.0: - version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" - -espurify@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/espurify/-/espurify-1.6.0.tgz#6cb993582d9422bd6f2d4b258aadb14833f394f0" - dependencies: - core-js "^2.0.0" - -esrecurse@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.1.0.tgz#4713b6536adf7f2ac4f327d559e7756bff648220" - dependencies: - estraverse "~4.1.0" - object-assign "^4.0.1" - -estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" - -estraverse@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.1.1.tgz#f6caca728933a850ef90661d0e17982ba47111a2" - -esutils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" - -etag@^1.7.0, etag@~1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8" - -event-emitter@~0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.4.tgz#8d63ddfb4cfe1fae3b32ca265c4c720222080bb5" - dependencies: - d "~0.1.1" - es5-ext "~0.10.7" - -event-stream@~3.3.0: - version "3.3.4" - resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" - dependencies: - duplexer "~0.1.1" - from "~0" - map-stream "~0.1.0" - pause-stream "0.0.11" - split "0.3" - stream-combiner "~0.0.4" - through "~2.3.1" - -eventemitter3@1.x.x: - version "1.2.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" - -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - dependencies: - is-posix-bracket "^0.1.0" - -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - dependencies: - fill-range "^2.1.0" - -express@2.5.x: - version "2.5.11" - resolved "https://registry.yarnpkg.com/express/-/express-2.5.11.tgz#4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0" - dependencies: - connect "1.x" - mime "1.2.4" - mkdirp "0.3.0" - qs "0.4.x" - -extend@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" - -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - dependencies: - is-extglob "^1.0.0" - -extract-zip@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.5.0.tgz#92ccf6d81ef70a9fa4c1747114ccef6d8688a6c4" - dependencies: - concat-stream "1.5.0" - debug "0.7.4" - mkdirp "0.5.0" - yauzl "2.4.1" - -extsprintf@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" - -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - -fd-slicer@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" - dependencies: - pend "~1.2.0" - -figures@^1.3.5, figures@^1.4.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - -file-entry-cache@^1.1.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-1.3.1.tgz#44c61ea607ae4be9c1402f41f44270cbfe334ff8" - dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" - -file-entry-cache@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" - dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" - -filename-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" - -fill-range@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^1.1.3" - repeat-element "^1.1.2" - repeat-string "^1.5.2" - -filled-array@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84" - -finalhandler@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7" - dependencies: - debug "~2.2.0" - escape-html "~1.0.3" - on-finished "~2.3.0" - statuses "~1.3.0" - unpipe "~1.0.0" - -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" - dependencies: - commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.0" - -find-up@^1.0.0, find-up@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -flat-cache@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.2.2.tgz#fa86714e72c21db88601761ecf2f555d1abc6b96" - dependencies: - circular-json "^0.3.1" - del "^2.0.2" - graceful-fs "^4.1.2" - write "^0.2.1" - -fn-name@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7" - -fobject@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/fobject/-/fobject-0.0.3.tgz#9d13eb03d86bf09bdd3d143171caca88b3f3830c" - dependencies: - graceful-fs "^3.0.2" - semver "^4.1.0" - when "^3.0.1" - -for-in@^0.1.5: - version "0.1.6" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" - -for-own@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" - dependencies: - for-in "^0.1.5" - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - -foreground-child@^1.3.3, foreground-child@^1.5.3: - version "1.5.6" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-1.5.6.tgz#4fd71ad2dfde96789b980a5c0a295937cb2f5ce9" - dependencies: - cross-spawn "^4" - signal-exit "^3.0.0" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - -form-data@~2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - -formidable@1.0.x: - version "1.0.17" - resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.0.17.tgz#ef5491490f9433b705faa77249c99029ae348559" - -fresh@0.3.0, fresh@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" - -from@~0: - version "0.1.3" - resolved "https://registry.yarnpkg.com/from/-/from-0.1.3.tgz#ef63ac2062ac32acf7862e0d40b44b896f22f3bc" - -front-matter@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/front-matter/-/front-matter-2.1.0.tgz#0bdff42cbad2b35c07ac7085811789759f9858c0" - dependencies: - js-yaml "^3.4.6" - -fs-extra@1.0.0, fs-extra@^1.0.0, fs-extra@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - -fs-extra@^0.30.0: - version "0.30.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - path-is-absolute "^1.0.0" - rimraf "^2.2.8" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - -fsevents@^1.0.0: - version "1.0.17" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.17.tgz#8537f3f12272678765b4fd6528c0f1f66f8f4558" - dependencies: - nan "^2.3.0" - node-pre-gyp "^0.6.29" - -fstream-ignore@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" - dependencies: - fstream "^1.0.0" - inherits "2" - minimatch "^3.0.0" - -fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822" - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - -function-bind@^1.0.2, function-bind@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771" - -gather-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gather-stream/-/gather-stream-1.0.0.tgz#b33994af457a8115700d410f317733cbe7a0904b" - -gauge@~2.7.1: - version "2.7.2" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.2.tgz#15cecc31b02d05345a5d6b0e171cdb3ad2307774" - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - supports-color "^0.2.0" - wide-align "^1.1.0" - -gaze@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" - dependencies: - globule "^1.0.0" - -generate-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - dependencies: - is-property "^1.0.0" - -get-caller-file@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" - -get-port@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-2.1.0.tgz#8783f9dcebd1eea495a334e1a6a251e78887ab1a" - dependencies: - pinkie-promise "^2.0.0" - -get-stdin@*, get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - -getpass@^0.1.1: - version "0.1.6" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" - dependencies: - assert-plus "^1.0.0" - -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - dependencies: - is-glob "^2.0.0" - -glob@^6.0.1: - version "6.0.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@~7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^9.0.0, globals@^9.14.0, globals@^9.2.0: - version "9.14.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-9.14.0.tgz#8859936af0038741263053b39d0e76ca241e4034" - -globby@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-4.1.0.tgz#080f54549ec1b82a6c60e631fc82e1211dbe95f8" - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^6.0.1" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globule@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.1.0.tgz#c49352e4dc183d85893ee825385eb994bb6df45f" - dependencies: - glob "~7.1.1" - lodash "~4.16.4" - minimatch "~3.0.2" - -gonzales-pe@3.4.7: - version "3.4.7" - resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-3.4.7.tgz#17c7be67ad6caff6277a3e387ac736e983d280ec" - dependencies: - minimist "1.1.x" - -got@^5.0.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" - dependencies: - create-error-class "^3.0.1" - duplexer2 "^0.1.4" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - node-status-codes "^1.0.0" - object-assign "^4.0.1" - parse-json "^2.1.0" - pinkie-promise "^2.0.0" - read-all-stream "^3.0.0" - readable-stream "^2.0.5" - timed-out "^3.0.0" - unzip-response "^1.0.2" - url-parse-lax "^1.0.0" - -graceful-fs@^3.0.2, graceful-fs@^3.0.4: - version "3.0.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" - dependencies: - natives "^1.1.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: - version "4.1.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" - -"graceful-readlink@>= 1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" - -handlebars@^4.0.3: - version "4.0.6" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.6.tgz#2ce4484850537f9c97a8026d5399b935c4ed4ed7" - dependencies: - async "^1.4.0" - optimist "^0.6.1" - source-map "^0.4.4" - optionalDependencies: - uglify-js "^2.6" - -har-validator@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" - dependencies: - chalk "^1.1.1" - commander "^2.9.0" - is-my-json-valid "^2.12.4" - pinkie-promise "^2.0.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - dependencies: - ansi-regex "^2.0.0" - -has-binary@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.6.tgz#25326f39cfa4f616ad8787894e3af2cfbc7b6e10" - dependencies: - isarray "0.0.1" - -has-binary@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c" - dependencies: - isarray "0.0.1" - -has-color@~0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" - -has-cors@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" - -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" - -has-flag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - -hasha@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/hasha/-/hasha-2.2.0.tgz#78d7cbfc1e6d66303fe79837365984517b2f6ee1" - dependencies: - is-stream "^1.0.1" - pinkie-promise "^2.0.0" - -hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - -home-or-tmp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.1" - -hosted-git-info@^2.1.4: - version "2.1.5" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" - -http-errors@~1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750" - dependencies: - inherits "2.0.3" - setprototypeof "1.0.2" - statuses ">= 1.3.1 < 2" - -http-proxy@1.15.2: - version "1.15.2" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.15.2.tgz#642fdcaffe52d3448d2bda3b0079e9409064da31" - dependencies: - eventemitter3 "1.x.x" - requires-port "1.x.x" - -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -husky@^0.11.9: - version "0.11.9" - resolved "https://registry.yarnpkg.com/husky/-/husky-0.11.9.tgz#28cd1dc16bffdca1d4d93592814e5f3c327b38ee" - dependencies: - is-ci "^1.0.9" - normalize-path "^1.0.0" - -ignore-by-default@^1.0.0, ignore-by-default@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" - -ignore@^3.1.2, ignore@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435" - -immutable@3.8.1, immutable@^3.7.6: - version "3.8.1" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - -in-publish@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - dependencies: - repeating "^2.0.0" - -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - -ini@~1.3.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" - -inquirer@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e" - dependencies: - ansi-escapes "^1.1.0" - ansi-regex "^2.0.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" - cli-width "^2.0.0" - figures "^1.3.5" - lodash "^4.3.0" - readline2 "^1.0.1" - run-async "^0.1.0" - rx-lite "^3.1.2" - string-width "^1.0.1" - strip-ansi "^3.0.0" - through "^2.3.6" - -interpret@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c" - -invariant@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" - dependencies: - loose-envify "^1.0.0" - -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - -irregular-plurals@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.2.0.tgz#38f299834ba8c00c30be9c554e137269752ff3ac" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - dependencies: - binary-extensions "^1.0.0" - -is-buffer@^1.0.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" - -is-builtin-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" - dependencies: - builtin-modules "^1.0.0" - -is-callable@^1.1.1, is-callable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" - -is-ci@^1.0.7, is-ci@^1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" - dependencies: - ci-info "^1.0.0" - -is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - -is-dotfile@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - dependencies: - is-primitive "^2.0.0" - -is-error@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.1.tgz#684a96d84076577c98f4cdb40c6d26a5123bf19c" - -is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - -is-finite@^1.0.0, is-finite@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - -is-generator-fn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" - -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - dependencies: - is-extglob "^1.0.0" - -is-my-json-valid@^2.10.0, is-my-json-valid@^2.12.4: - version "2.15.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" - -is-npm@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" - -is-number-like@^1.0.3: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-like/-/is-number-like-1.0.7.tgz#a38d6b0fd2cd4282449128859eed86c03fd23552" - dependencies: - bubleify "^0.5.1" - lodash.isfinite "^3.3.2" - -is-number@^2.0.2, is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - dependencies: - kind-of "^3.0.2" - -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - -is-observable@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2" - dependencies: - symbol-observable "^0.2.2" - -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - -is-path-in-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" - dependencies: - path-is-inside "^1.0.1" - -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "http://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - -is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - -is-property@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" - -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - -is-regex@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.3.tgz#0d55182bddf9f2fde278220aec3a75642c908637" - -is-resolvable@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62" - dependencies: - tryit "^1.0.1" - -is-retry-allowed@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" - -is-stream@^1.0.0, is-stream@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - -is-symbol@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - -is-url@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26" - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - -isexe@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-1.1.2.tgz#36f3e22e60750920f5e7241a476a8c6a42275ad0" - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - dependencies: - isarray "1.0.0" - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - -istanbul-lib-coverage@^1.0.0, istanbul-lib-coverage@^1.0.0-alpha, istanbul-lib-coverage@^1.0.0-alpha.0, istanbul-lib-coverage@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.1.tgz#f263efb519c051c5f1f3343034fc40e7b43ff212" - -istanbul-lib-hook@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.0.0.tgz#fc5367ee27f59268e8f060b0c7aaf051d9c425c5" - dependencies: - append-transform "^0.4.0" - -istanbul-lib-instrument@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.4.2.tgz#0e2fdfac93c1dabf2e31578637dc78a19089f43e" - dependencies: - babel-generator "^6.18.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - babylon "^6.13.0" - istanbul-lib-coverage "^1.0.0" - semver "^5.3.0" - -istanbul-lib-report@^1.0.0-alpha.3: - version "1.0.0-alpha.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.0.0-alpha.3.tgz#32d5f6ec7f33ca3a602209e278b2e6ff143498af" - dependencies: - async "^1.4.2" - istanbul-lib-coverage "^1.0.0-alpha" - mkdirp "^0.5.1" - path-parse "^1.0.5" - rimraf "^2.4.3" - supports-color "^3.1.2" - -istanbul-lib-source-maps@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.1.0.tgz#9d429218f35b823560ea300a96ff0c3bbdab785f" - dependencies: - istanbul-lib-coverage "^1.0.0-alpha.0" - mkdirp "^0.5.1" - rimraf "^2.4.4" - source-map "^0.5.3" - -istanbul-reports@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.0.0.tgz#24b4eb2b1d29d50f103b369bd422f6e640aa0777" - dependencies: - handlebars "^4.0.3" - -jodid25519@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" - dependencies: - jsbn "~0.1.0" - -jpeg-js@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.2.0.tgz#53e448ec9d263e683266467e9442d2c5a2ef5482" - -js-base64@^2.1.9: - version "2.1.9" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.1.9.tgz#f0e80ae039a4bd654b5f281fc93f04a914a7fcce" - -js-tokens@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.0.tgz#a2f2a969caae142fb3cd56228358c89366957bd1" - -js-yaml@^3.4.6, js-yaml@^3.5.1, js-yaml@^3.5.4: - version "3.7.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" - dependencies: - argparse "^1.0.7" - esprima "^2.6.0" - -jsbn@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" - -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - -json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - -json3@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" - -json5@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - -jsonfile@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - -jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - -jsprim@^1.2.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" - dependencies: - extsprintf "1.0.2" - json-schema "0.2.3" - verror "1.3.6" - -junitwriter@~0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/junitwriter/-/junitwriter-0.3.1.tgz#7c00efc136ae56630973b13df0c02d67963aaf5a" - dependencies: - dateformat "1.0.11" - merge "1.2.0" - mkdirp "0.5.0" - xmlbuilder "2.6.2" - -kew@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b" - -keypress@0.1.x: - version "0.1.0" - resolved "https://registry.yarnpkg.com/keypress/-/keypress-0.1.0.tgz#4a3188d4291b66b4f65edb99f806aa9ae293592a" - -kind-of@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" - dependencies: - is-buffer "^1.0.2" - -klaw@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" - optionalDependencies: - graceful-fs "^4.1.9" - -last-line-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/last-line-stream/-/last-line-stream-1.0.0.tgz#d1b64d69f86ff24af2d04883a2ceee14520a5600" - dependencies: - through2 "^2.0.0" - -latest-version@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-2.0.0.tgz#56f8d6139620847b8017f8f1f4d78e211324168b" - dependencies: - package-json "^2.0.0" - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - -lazy-req@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac" - -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - dependencies: - invert-kv "^1.0.0" - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -limiter@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.0.tgz#6e2bd12ca3fcdaa11f224e2e53c896df3f08d913" - -load-json-file@^1.0.0, load-json-file@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -localtunnel@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-1.8.2.tgz#913051e8328b51f75ad8a22ad1f5c5b8c599a359" - dependencies: - debug "2.2.0" - openurl "1.1.0" - request "2.78.0" - yargs "3.29.0" - -lodash.assign@^4.0.3, lodash.assign@^4.0.6, lodash.assign@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" - -lodash.capitalize@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz#f826c9b4e2a8511d84e3aca29db05e1a4f3b72a9" - -lodash.clonedeep@^4.3.2: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - -lodash.debounce@^4.0.3: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - -lodash.difference@^4.3.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" - -lodash.flatten@^4.2.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - -lodash.isequal@^4.4.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - -lodash.isfinite@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3" - -lodash.kebabcase@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" - -lodash.map@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" - -lodash@^2.4.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-2.4.2.tgz#fadd834b9683073da179b3eae6d9c0d15053f73e" - -lodash@^3.10.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" - -lodash@^4.0.0, lodash@^4.2.0, lodash@^4.3.0: - version "4.17.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" - -lodash@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.5.0.tgz#19bb3f4d51278f0b8c818ed145c74ecf9fe40e6d" - -lodash@~4.16.4: - version "4.16.6" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777" - -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - -loose-envify@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" - dependencies: - js-tokens "^3.0.0" - -loud-rejection@^1.0.0, loud-rejection@^1.2.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lowercase-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" - -lru-cache@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" - dependencies: - pseudomap "^1.0.1" - yallist "^2.0.0" - -lru-cache@~2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.0.4.tgz#b8b61ae09848385ec6768760e39c123e7e39568a" - -magic-string@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.14.0.tgz#57224aef1701caeed273b17a39a956e72b172462" - dependencies: - vlq "^0.2.1" - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - -map-stream@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" - -matcher@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/matcher/-/matcher-0.1.2.tgz#ef20cbde64c24c50cc61af5b83ee0b1b8ff00101" - dependencies: - escape-string-regexp "^1.0.4" - -max-timeout@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/max-timeout/-/max-timeout-1.0.0.tgz#b68f69a2f99e0b476fd4cb23e2059ca750715e1f" - -md5-hex@^1.2.0, md5-hex@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" - dependencies: - md5-o-matic "^0.1.1" - -md5-o-matic@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/md5-o-matic/-/md5-o-matic-0.1.1.tgz#822bccd65e117c514fab176b25945d54100a03c3" - -meow@*, meow@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -merge-source-map@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.3.tgz#da1415f2722a5119db07b14c4f973410863a2abf" - dependencies: - source-map "^0.5.3" - -merge@1.2.0, merge@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" - -micromatch@2.3.11, micromatch@^2.1.5, micromatch@^2.3.11: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - -mime-db@~1.26.0: - version "1.26.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.26.0.tgz#eaffcd0e4fc6935cf8134da246e2e6c35305adff" - -mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.7: - version "2.1.14" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.14.tgz#f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee" - dependencies: - mime-db "~1.26.0" - -mime@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.4.tgz#11b5fdaf29c2509255176b80ad520294f5de92b7" - -mime@1.3.4, "mime@>= 0.0.1": - version "1.3.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" - -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@~3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" - dependencies: - brace-expansion "^1.0.0" - -minimist@0.0.8, minimist@~0.0.1: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - -minimist@1.1.x: - version "1.1.3" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8" - -minimist@^1.1.3, minimist@^1.2.0, minimist@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - -mkdirp@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" - -mkdirp@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.0.tgz#1d73076a6df986cd9344e15e71fcc05a4c9abf12" - dependencies: - minimist "0.0.8" - -"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - dependencies: - minimist "0.0.8" - -ms@0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" - -ms@0.7.2, ms@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" - -multimatch@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" - dependencies: - array-differ "^1.0.0" - array-union "^1.0.1" - arrify "^1.0.0" - minimatch "^3.0.0" - -mute-stream@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" - -nan@^2.3.0, nan@^2.3.2: - version "2.5.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2" - -natives@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.0.tgz#e9ff841418a6b2ec7a495e939984f78f163e6e31" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - -negotiator@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" - -neo-async@^1.0.0: - version "1.8.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-1.8.2.tgz#31795888b79dd04357a7c52113a65183e93b6735" - -node-gyp@^3.3.1: - version "3.5.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.5.0.tgz#a8fe5e611d079ec16348a3eb960e78e11c85274a" - dependencies: - fstream "^1.0.0" - glob "^7.0.3" - graceful-fs "^4.1.2" - minimatch "^3.0.2" - mkdirp "^0.5.0" - nopt "2 || 3" - npmlog "0 || 1 || 2 || 3 || 4" - osenv "0" - request "2" - rimraf "2" - semver "2.x || 3.x || 4 || 5" - tar "^2.0.0" - which "1" - -node-pre-gyp@^0.6.29: - version "0.6.32" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.32.tgz#fc452b376e7319b3d255f5f34853ef6fd8fe1fd5" - dependencies: - mkdirp "~0.5.1" - nopt "~3.0.6" - npmlog "^4.0.1" - rc "~1.1.6" - request "^2.79.0" - rimraf "~2.5.4" - semver "~5.3.0" - tar "~2.2.1" - tar-pack "~3.3.0" - -node-resemble-js@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/node-resemble-js/-/node-resemble-js-0.1.1.tgz#ff07d4c9d314f235828d30899b1de5999f7305a5" - dependencies: - jpeg-js "0.2.0" - pngjs "~2.2.0" - -node-sass@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-3.13.1.tgz#7240fbbff2396304b4223527ed3020589c004fc2" - dependencies: - async-foreach "^0.1.3" - chalk "^1.1.1" - cross-spawn "^3.0.0" - gaze "^1.0.0" - get-stdin "^4.0.1" - glob "^7.0.3" - in-publish "^2.0.0" - lodash.assign "^4.2.0" - lodash.clonedeep "^4.3.2" - meow "^3.7.0" - mkdirp "^0.5.1" - nan "^2.3.2" - node-gyp "^3.3.1" - npmlog "^4.0.0" - request "^2.61.0" - sass-graph "^2.1.1" - -node-status-codes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" - -node-uuid@~1.4.7: - version "1.4.7" - resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" - -"nopt@2 || 3", nopt@3.0.x, nopt@~3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - dependencies: - abbrev "1" - -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: - version "2.3.5" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" - dependencies: - hosted-git-info "^2.1.4" - is-builtin-module "^1.0.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" - -normalize-path@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - -normalize.css@~5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-5.0.0.tgz#7cec875ce8178a5333c4de80b68ea9c18b9d7c37" - -npm-run-all@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-2.3.0.tgz#da9a3b9c60942bf78a739e1e35c7f2dbec6d3571" - dependencies: - chalk "^1.1.3" - cross-spawn "^4.0.0" - minimatch "^3.0.2" - object-assign "^4.0.1" - pinkie-promise "^2.0.1" - ps-tree "^1.0.1" - read-pkg "^1.1.0" - read-pkg-up "^1.0.1" - shell-quote "^1.6.1" - string.prototype.padend "^3.0.0" - -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.1" - set-blocking "~2.0.0" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - -nyc@^10.0.0: - version "10.1.2" - resolved "https://registry.yarnpkg.com/nyc/-/nyc-10.1.2.tgz#ea7acaa20a235210101604f4e7d56d28453b0274" - dependencies: - archy "^1.0.0" - arrify "^1.0.1" - caching-transform "^1.0.0" - convert-source-map "^1.3.0" - debug-log "^1.0.1" - default-require-extensions "^1.0.0" - find-cache-dir "^0.1.1" - find-up "^1.1.2" - foreground-child "^1.5.3" - glob "^7.0.6" - istanbul-lib-coverage "^1.0.1" - istanbul-lib-hook "^1.0.0" - istanbul-lib-instrument "^1.4.2" - istanbul-lib-report "^1.0.0-alpha.3" - istanbul-lib-source-maps "^1.1.0" - istanbul-reports "^1.0.0" - md5-hex "^1.2.0" - merge-source-map "^1.0.2" - micromatch "^2.3.11" - mkdirp "^0.5.0" - resolve-from "^2.0.0" - rimraf "^2.5.4" - signal-exit "^3.0.1" - spawn-wrap "1.2.4" - test-exclude "^3.3.0" - yargs "^6.6.0" - yargs-parser "^4.0.2" - -oauth-sign@~0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" - -object-assign@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" - -object-assign@^4.0.1, object-assign@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - -object-component@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" - -object-hash@1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.1.5.tgz#bdd844e030d0861b692ca175c6cab6868ec233d7" - -object-keys@^1.0.8: - version "1.0.11" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" - -object-path@^0.9.0: - version "0.9.2" - resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.9.2.tgz#0fd9a74fc5fad1ae3968b586bda5c632bd6c05a5" - -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - -observable-to-promise@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/observable-to-promise/-/observable-to-promise-0.4.0.tgz#28afe71645308f2d41d71f47ad3fece1a377e52b" - dependencies: - is-observable "^0.2.0" - symbol-observable "^0.2.2" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - dependencies: - ee-first "1.1.1" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - dependencies: - wrappy "1" - -once@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" - dependencies: - wrappy "1" - -onchange@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/onchange/-/onchange-2.5.0.tgz#209992e98f40e7e074d90c21f781de8cf0e5806a" - dependencies: - arrify "~1.0.1" - chokidar "~1.5.1" - cross-spawn "~4.0.0" - minimist "~1.2.0" - -onetime@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - -open@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/open/-/open-0.0.5.tgz#42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc" - -openurl@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/openurl/-/openurl-1.1.0.tgz#e2f2189d999c04823201f083f0f1a7cd8903187a" - -opn@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" - dependencies: - object-assign "^4.0.1" - pinkie-promise "^2.0.0" - -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - -option-chain@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/option-chain/-/option-chain-0.1.1.tgz#e9b811e006f1c0f54802f28295bfc8970f8dcfbd" - dependencies: - object-assign "^4.0.1" - -optionator@^0.8.1, optionator@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -options@>=0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" - -os-homedir@^1.0.0, os-homedir@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - dependencies: - lcid "^1.0.0" - -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - -os@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/os/-/os-0.1.1.tgz#208845e89e193ad4d971474b93947736a56d13f3" - -osenv@0, osenv@^0.1.0: - version "0.1.4" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -package-hash@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-1.2.0.tgz#003e56cd57b736a6ed6114cc2b81542672770e44" - dependencies: - md5-hex "^1.3.0" - -package-json@^2.0.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-2.4.0.tgz#0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb" - dependencies: - got "^5.0.0" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" - -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - -parse-json@^2.1.0, parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - dependencies: - error-ex "^1.2.0" - -parse-ms@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-0.1.2.tgz#dd3fa25ed6c2efc7bdde12ad9b46c163aa29224e" - -parse-ms@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-1.0.1.tgz#56346d4749d78f23430ca0c713850aef91aa361d" - -parsejson@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab" - dependencies: - better-assert "~1.0.0" - -parseqs@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" - dependencies: - better-assert "~1.0.0" - -parseuri@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" - dependencies: - better-assert "~1.0.0" - -parseurl@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - dependencies: - pinkie-promise "^2.0.0" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - -path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - -path-parse@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -pause-stream@0.0.11: - version "0.0.11" - resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" - dependencies: - through "~2.3" - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - -phantomjs-prebuilt@^2.1.7: - version "2.1.14" - resolved "https://registry.yarnpkg.com/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.14.tgz#d53d311fcfb7d1d08ddb24014558f1188c516da0" - dependencies: - es6-promise "~4.0.3" - extract-zip "~1.5.0" - fs-extra "~1.0.0" - hasha "~2.2.0" - kew "~0.7.0" - progress "~1.1.8" - request "~2.79.0" - request-progress "~2.0.1" - which "~1.2.10" - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - -pinkie-promise@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670" - dependencies: - pinkie "^1.0.0" - -pinkie-promise@^2.0.0, pinkie-promise@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - dependencies: - pinkie "^2.0.0" - -pinkie@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-1.0.0.tgz#5a47f28ba1015d0201bda7bf0f358e47bec8c7e4" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - -pkg-conf@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-1.1.3.tgz#378e56d6fd13e88bfb6f4a25df7a83faabddba5b" - dependencies: - find-up "^1.0.0" - load-json-file "^1.1.0" - object-assign "^4.0.1" - symbol "^0.2.1" - -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - dependencies: - find-up "^1.0.0" - -plur@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/plur/-/plur-1.0.0.tgz#db85c6814f5e5e5a3b49efc28d604fec62975156" - -plur@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" - dependencies: - irregular-plurals "^1.0.0" - -pluralize@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45" - -pngjs@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-2.2.0.tgz#649663609a0ebab87c8f08b3fe724048b51d9d7f" - -portscanner@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/portscanner/-/portscanner-2.1.1.tgz#eabb409e4de24950f5a2a516d35ae769343fbb96" - dependencies: - async "1.5.2" - is-number-like "^1.0.3" - -postcss-cli@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/postcss-cli/-/postcss-cli-2.6.0.tgz#f0de393caa026fcfc1b1479822989af508ed515d" - dependencies: - globby "^4.1.0" - mkdirp "^0.5.1" - neo-async "^1.0.0" - postcss "^5.0.0" - read-file-stdin "^0.2.0" - resolve "^1.1.6" - yargs "^4.7.1" - optionalDependencies: - chokidar "^1.5.1" - -postcss-value-parser@^3.2.3: - version "3.3.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" - -postcss@^5.0.0, postcss@^5.2.11: - version "5.2.11" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.11.tgz#ff29bcd6d2efb98bfe08a022055ec599bbe7b761" - dependencies: - chalk "^1.1.3" - js-base64 "^2.1.9" - source-map "^0.5.6" - supports-color "^3.2.3" - -power-assert-context-formatter@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-context-formatter/-/power-assert-context-formatter-1.1.1.tgz#edba352d3ed8a603114d667265acce60d689ccdf" - dependencies: - core-js "^2.0.0" - power-assert-context-traversal "^1.1.1" - -power-assert-context-traversal@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-context-traversal/-/power-assert-context-traversal-1.1.1.tgz#88cabca0d13b6359f07d3d3e8afa699264577ed9" - dependencies: - core-js "^2.0.0" - estraverse "^4.1.0" - -power-assert-renderer-assertion@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.1.1.tgz#cbfc0e77e0086a8f96af3f1d8e67b9ee7e28ce98" - dependencies: - power-assert-renderer-base "^1.1.1" - power-assert-util-string-width "^1.1.1" - -power-assert-renderer-base@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-renderer-base/-/power-assert-renderer-base-1.1.1.tgz#96a650c6fd05ee1bc1f66b54ad61442c8b3f63eb" - -power-assert-renderer-diagram@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.1.1.tgz#7e0c82cc08a84b155e51b5ae94f59709778a65fb" - dependencies: - core-js "^2.0.0" - power-assert-renderer-base "^1.1.1" - power-assert-util-string-width "^1.1.1" - stringifier "^1.3.0" - -power-assert-renderer-succinct@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-renderer-succinct/-/power-assert-renderer-succinct-1.1.1.tgz#c2a468b23822abd6f80e2aba5322347b09df476e" - dependencies: - core-js "^2.0.0" - power-assert-renderer-diagram "^1.1.1" - -power-assert-util-string-width@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/power-assert-util-string-width/-/power-assert-util-string-width-1.1.1.tgz#be659eb7937fdd2e6c9a77268daaf64bd5b7c592" - dependencies: - eastasianwidth "^0.1.1" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - -prepend-file@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/prepend-file/-/prepend-file-1.3.1.tgz#83b16e0b4ac1901fce88dbd945a22f4cc81df579" - dependencies: - tmp "0.0.31" - -prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - -pretty-ms@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-0.2.2.tgz#da879a682ff33a37011046f13d627f67c73b84f6" - dependencies: - parse-ms "^0.1.0" - -pretty-ms@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-2.1.0.tgz#4257c256df3fb0b451d6affaab021884126981dc" - dependencies: - is-finite "^1.0.1" - parse-ms "^1.0.0" - plur "^1.0.0" - -private@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1" - -process-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - -progress@^1.1.8, progress@~1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" - -ps-tree@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.1.0.tgz#b421b24140d6203f1ed3c76996b4427b08e8c014" - dependencies: - event-stream "~3.3.0" - -pseudomap@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - -qs@0.4.x: - version "0.4.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-0.4.2.tgz#3cac4c861e371a8c9c4770ac23cda8de639b8e5f" - -qs@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625" - -"qs@>= 0.4.0", qs@~6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" - -randomatic@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" - dependencies: - is-number "^2.0.2" - kind-of "^3.0.2" - -range-parser@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - -rc@^1.0.1, rc@^1.1.6, rc@~1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" - dependencies: - deep-extend "~0.4.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~1.0.4" - -read-all-stream@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" - dependencies: - pinkie-promise "^2.0.0" - readable-stream "^2.0.0" - -read-file-stdin@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/read-file-stdin/-/read-file-stdin-0.2.1.tgz#25eccff3a153b6809afacb23ee15387db9e0ee61" - dependencies: - gather-stream "^1.0.0" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg@^1.0.0, read-pkg@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" - dependencies: - buffer-shims "^1.0.0" - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readable-stream@~2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readable-stream@~2.1.4: - version "2.1.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" - dependencies: - buffer-shims "^1.0.0" - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readdirp@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" - dependencies: - graceful-fs "^4.1.2" - minimatch "^3.0.2" - readable-stream "^2.0.2" - set-immediate-shim "^1.0.1" - -readline2@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - mute-stream "0.0.5" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - dependencies: - resolve "^1.1.6" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -regenerate@^1.2.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260" - -regenerator-runtime@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.1.tgz#257f41961ce44558b18f7814af48c17559f9faeb" - -regenerator-transform@0.9.8: - version "0.9.8" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c" - dependencies: - babel-runtime "^6.18.0" - babel-types "^6.19.0" - private "^0.1.6" - -regex-cache@^0.4.2: - version "0.4.3" - resolved "http://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" - dependencies: - is-equal-shallow "^0.1.3" - is-primitive "^2.0.0" - -regexpu-core@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" - dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" - -registry-auth-token@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.1.0.tgz#997c08256e0c7999837b90e944db39d8a790276b" - dependencies: - rc "^1.1.6" - -registry-url@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" - dependencies: - rc "^1.0.1" - -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - dependencies: - jsesc "~0.5.0" - -repeat-element@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" - -repeat-string@^1.5.2: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - dependencies: - is-finite "^1.0.0" - -request-progress@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-2.0.1.tgz#5d36bb57961c673aa5b788dbc8141fdf23b44e08" - dependencies: - throttleit "^1.0.0" - -request@2, request@^2.61.0, request@^2.79.0, request@~2.79.0: - version "2.79.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - qs "~6.3.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - uuid "^3.0.0" - -request@2.78.0: - version "2.78.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.78.0.tgz#e1c8dec346e1c81923b24acdb337f11decabe9cc" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.11.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~2.0.6" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - node-uuid "~1.4.7" - oauth-sign "~0.8.1" - qs "~6.3.0" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "~0.4.1" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - -require-precompiled@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/require-precompiled/-/require-precompiled-0.1.0.tgz#5a1b52eb70ebed43eb982e974c85ab59571e56fa" - -require-tree@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/require-tree/-/require-tree-0.3.3.tgz#82a26655c3b632cd5ecdb57a7e95f4d07c38a44a" - -require-uncached@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" - dependencies: - caller-path "^0.1.0" - resolve-from "^1.0.0" - -requires-port@1.x.x: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - -resolve-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-1.0.0.tgz#4eaeea41ed040d1702457df64a42b2b07d246f9f" - dependencies: - resolve-from "^2.0.0" - -resolve-from@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" - -resolve-from@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" - -resolve@^1.1.6: - version "1.2.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c" - -resp-modifier@6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/resp-modifier/-/resp-modifier-6.0.2.tgz#b124de5c4fbafcba541f48ffa73970f4aa456b4f" - dependencies: - debug "^2.2.0" - minimatch "^3.0.2" - -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" - -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - dependencies: - align-text "^0.1.1" - -rimraf@2, rimraf@^2.2.8, rimraf@^2.3.3, rimraf@^2.4.3, rimraf@^2.4.4, rimraf@^2.5.4, rimraf@~2.5.1, rimraf@~2.5.4: - version "2.5.4" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" - dependencies: - glob "^7.0.5" - -rimraf@~2.2.6: - version "2.2.8" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" - -run-async@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" - dependencies: - once "^1.3.0" - -rx-lite@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" - -rx@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" - -sass-graph@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.1.2.tgz#965104be23e8103cb7e5f710df65935b317da57b" - dependencies: - glob "^7.0.0" - lodash "^4.0.0" - yargs "^4.7.1" - -sass-lint@^1.10.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/sass-lint/-/sass-lint-1.10.2.tgz#825bd6b0da79ddd36a42ffae5b6d44ac4922502b" - dependencies: - commander "^2.8.1" - eslint "^2.7.0" - front-matter "2.1.0" - fs-extra "^1.0.0" - glob "^7.0.0" - globule "^1.0.0" - gonzales-pe "3.4.7" - js-yaml "^3.5.4" - lodash.capitalize "^4.1.0" - lodash.kebabcase "^4.0.0" - merge "^1.2.0" - path-is-absolute "^1.0.0" - util "^0.10.3" - -semver-diff@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" - dependencies: - semver "^5.0.3" - -"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" - -semver@^4.1.0: - version "4.3.6" - resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" - -send@0.14.1: - version "0.14.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.14.1.tgz#a954984325392f51532a7760760e459598c89f7a" - dependencies: - debug "~2.2.0" - depd "~1.1.0" - destroy "~1.0.4" - encodeurl "~1.0.1" - escape-html "~1.0.3" - etag "~1.7.0" - fresh "0.3.0" - http-errors "~1.5.0" - mime "1.3.4" - ms "0.7.1" - on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.3.0" - -serve-index@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.8.0.tgz#7c5d96c13fb131101f93c1c5774f8516a1e78d3b" - dependencies: - accepts "~1.3.3" - batch "0.5.3" - debug "~2.2.0" - escape-html "~1.0.3" - http-errors "~1.5.0" - mime-types "~2.1.11" - parseurl "~1.3.1" - -serve-static@1.11.1: - version "1.11.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.1.tgz#d6cce7693505f733c759de57befc1af76c0f0805" - dependencies: - encodeurl "~1.0.1" - escape-html "~1.0.3" - parseurl "~1.3.1" - send "0.14.1" - -server-destroy@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd" - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - -set-immediate-shim@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - -setprototypeof@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08" - -shell-quote@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" - dependencies: - array-filter "~0.0.0" - array-map "~0.0.0" - array-reduce "~0.0.0" - jsonify "~0.0.0" - -shelljs@^0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.1.tgz#ec6211bed1920442088fe0f70b2837232ed2c8a8" - -shelljs@^0.7.5: - version "0.7.6" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad" - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -sigmund@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" - -signal-exit@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-2.1.2.tgz#375879b1f92ebc3b334480d038dc546a6d558564" - -signal-exit@^3.0.0, signal-exit@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - -slice-ansi@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" - -slide@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" - -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - dependencies: - hoek "2.x.x" - -socket.io-adapter@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b" - dependencies: - debug "2.3.3" - socket.io-parser "2.3.1" - -socket.io-client@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.6.0.tgz#5b668f4f771304dfeed179064708386fa6717853" - dependencies: - backo2 "1.0.2" - component-bind "1.0.0" - component-emitter "1.2.1" - debug "2.3.3" - engine.io-client "1.8.0" - has-binary "0.1.7" - indexof "0.0.1" - object-component "0.0.3" - parseuri "0.0.5" - socket.io-parser "2.3.1" - to-array "0.1.4" - -socket.io-parser@2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0" - dependencies: - component-emitter "1.1.2" - debug "2.2.0" - isarray "0.0.1" - json3 "3.3.2" - -socket.io@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.6.0.tgz#3e40d932637e6bd923981b25caf7c53e83b6e2e1" - dependencies: - debug "2.3.3" - engine.io "1.8.0" - has-binary "0.1.7" - object-assign "4.1.0" - socket.io-adapter "0.5.0" - socket.io-client "1.6.0" - socket.io-parser "2.3.1" - -sort-keys@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - dependencies: - is-plain-obj "^1.0.0" - -source-map-support@^0.4.0, source-map-support@^0.4.2: - version "0.4.10" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.10.tgz#d7b19038040a14c0837a18e630a196453952b378" - dependencies: - source-map "^0.5.3" - -source-map@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - dependencies: - amdefine ">=0.0.4" - -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - -spawn-wrap@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-1.2.4.tgz#920eb211a769c093eebfbd5b0e7a5d2e68ab2e40" - dependencies: - foreground-child "^1.3.3" - mkdirp "^0.5.0" - os-homedir "^1.0.1" - rimraf "^2.3.3" - signal-exit "^2.0.0" - which "^1.2.4" - -spdx-correct@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" - dependencies: - spdx-license-ids "^1.0.2" - -spdx-expression-parse@~1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" - -spdx-license-ids@^1.0.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" - -split@0.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" - dependencies: - through "2" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - -sshpk@^1.7.0: - version "1.10.2" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.2.tgz#d5a804ce22695515638e798dbe23273de070a5fa" - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - dashdash "^1.12.0" - getpass "^0.1.1" - optionalDependencies: - bcrypt-pbkdf "^1.0.0" - ecc-jsbn "~0.1.1" - jodid25519 "^1.0.0" - jsbn "~0.1.0" - tweetnacl "~0.14.0" - -stack-utils@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-0.4.0.tgz#940cb82fccfa84e8ff2f3fdf293fe78016beccd1" - -"statuses@>= 1.3.1 < 2", statuses@~1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" - -stream-combiner@~0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" - dependencies: - duplexer "~0.1.1" - -stream-throttle@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/stream-throttle/-/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3" - dependencies: - commander "^2.2.0" - limiter "^1.0.5" - -string-width@^1.0.1, string-width@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -string-width@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.0.0.tgz#635c5436cc72a6e0c387ceca278d4e2eec52687e" - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^3.0.0" - -string.prototype.padend@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0" - dependencies: - define-properties "^1.1.2" - es-abstract "^1.4.3" - function-bind "^1.0.2" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - -stringifier@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/stringifier/-/stringifier-1.3.0.tgz#def18342f6933db0f2dbfc9aa02175b448c17959" - dependencies: - core-js "^2.0.0" - traverse "^0.6.6" - type-name "^2.0.1" - -stringstream@~0.0.4: - version "0.0.5" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - dependencies: - get-stdin "^4.0.1" - -strip-json-comments@~1.0.1, strip-json-comments@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - -supports-color@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - -supports-color@^3.1.2, supports-color@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" - dependencies: - has-flag "^1.0.0" - -symbol-observable@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" - -symbol@^0.2.1: - version "0.2.3" - resolved "https://registry.yarnpkg.com/symbol/-/symbol-0.2.3.tgz#3b9873b8a901e47c6efe21526a3ac372ef28bbc7" - -table@^3.7.8: - version "3.8.3" - resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f" - dependencies: - ajv "^4.7.0" - ajv-keywords "^1.0.0" - chalk "^1.1.1" - lodash "^4.0.0" - slice-ansi "0.0.4" - string-width "^2.0.0" - -tar-pack@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae" - dependencies: - debug "~2.2.0" - fstream "~1.0.10" - fstream-ignore "~1.0.5" - once "~1.3.3" - readable-stream "~2.1.4" - rimraf "~2.5.1" - tar "~2.2.1" - uid-number "~0.0.6" - -tar@^2.0.0, tar@~2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" - dependencies: - block-stream "*" - fstream "^1.0.2" - inherits "2" - -temp@^0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59" - dependencies: - os-tmpdir "^1.0.0" - rimraf "~2.2.6" - -test-exclude@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-3.3.0.tgz#7a17ca1239988c98367b0621456dbb7d4bc38977" - dependencies: - arrify "^1.0.1" - micromatch "^2.3.11" - object-assign "^4.1.0" - read-pkg-up "^1.0.1" - require-main-filename "^1.0.1" - -text-table@^0.2.0, text-table@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - -tfunk@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/tfunk/-/tfunk-3.1.0.tgz#38e4414fc64977d87afdaa72facb6d29f82f7b5b" - dependencies: - chalk "^1.1.1" - object-path "^0.9.0" - -the-argv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/the-argv/-/the-argv-1.0.0.tgz#0084705005730dd84db755253c931ae398db9522" - -throttleit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" - -through2@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - -through@2, through@^2.3.6, through@~2.3, through@~2.3.1: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - -time-require@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/time-require/-/time-require-0.1.2.tgz#f9e12cb370fc2605e11404582ba54ef5ca2b2d98" - dependencies: - chalk "^0.4.0" - date-time "^0.1.1" - pretty-ms "^0.2.1" - text-table "^0.2.0" - -timed-out@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" - -tmp@0.0.31: - version "0.0.31" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" - dependencies: - os-tmpdir "~1.0.1" - -to-array@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" - -to-fast-properties@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" - -tough-cookie@~2.3.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" - dependencies: - punycode "^1.4.1" - -traverse@^0.6.6: - version "0.6.6" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - -tryit@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" - -tunnel-agent@~0.4.1: - version "0.4.3" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - dependencies: - prelude-ls "~1.1.2" - -type-name@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/type-name/-/type-name-2.0.2.tgz#efe7d4123d8ac52afff7f40c7e4dec5266008fb4" - -typedarray@^0.0.6, typedarray@~0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - -ua-parser-js@0.7.12: - version "0.7.12" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb" - -uglify-js@^2.6: - version "2.7.5" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" - dependencies: - async "~0.2.6" - source-map "~0.5.1" - uglify-to-browserify "~1.0.0" - yargs "~3.10.0" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" - -uid-number@~0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" - -uid2@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.3.tgz#483126e11774df2f71b8b639dcd799c376162b82" - -ultron@1.0.x: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" - -underscore.string@~2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.4.0.tgz#8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b" - -underscore@1.7.x, underscore@~1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" - -unique-temp-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz#6dce95b2681ca003eebfb304a415f9cbabcc5385" - dependencies: - mkdirp "^0.5.1" - os-tmpdir "^1.0.1" - uid2 "0.0.3" - -unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - -unzip-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" - -update-notifier@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-1.0.3.tgz#8f92c515482bd6831b7c93013e70f87552c7cf5a" - dependencies: - boxen "^0.6.0" - chalk "^1.0.0" - configstore "^2.0.0" - is-npm "^1.0.0" - latest-version "^2.0.0" - lazy-req "^1.1.0" - semver-diff "^2.0.0" - xdg-basedir "^2.0.0" - -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - dependencies: - prepend-http "^1.0.1" - -user-home@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" - dependencies: - os-homedir "^1.0.0" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - -util@^0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - dependencies: - inherits "2.0.1" - -utils-merge@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" - -uuid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" - -uuid@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" - -validate-npm-package-license@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" - dependencies: - spdx-correct "~1.0.0" - spdx-expression-parse "~1.0.0" - -verror@1.3.6: - version "1.3.6" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" - dependencies: - extsprintf "1.0.2" - -vlq@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.1.tgz#14439d711891e682535467f8587c5630e4222a6c" - -weinre@^2.0.0-pre-I0Z7U9OV: - version "2.0.0-pre-I0Z7U9OV" - resolved "https://registry.yarnpkg.com/weinre/-/weinre-2.0.0-pre-I0Z7U9OV.tgz#fef8aa223921f7b40bbbbd4c3ed4302f6fd0a813" - dependencies: - express "2.5.x" - nopt "3.0.x" - underscore "1.7.x" - -when@^3.0.1, when@^3.1.0: - version "3.7.7" - resolved "https://registry.yarnpkg.com/when/-/when-3.7.7.tgz#aba03fc3bb736d6c88b091d013d8a8e590d84718" - -which-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" - -which@1, which@^1.2.4, which@^1.2.9, which@~1.2.10: - version "1.2.12" - resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" - dependencies: - isexe "^1.1.1" - -wide-align@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" - dependencies: - string-width "^1.0.1" - -widest-line@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" - dependencies: - string-width "^1.0.1" - -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - -window-size@^0.1.2: - version "0.1.4" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" - -window-size@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" - -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - -write-file-atomic@^1.1.2, write-file-atomic@^1.1.4: - version "1.3.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.1.tgz#7d45ba32316328dd1ec7d90f60ebc0d845bb759a" - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - slide "^1.1.5" - -write-json-file@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-1.2.0.tgz#2d5dfe96abc3c889057c93971aa4005efb548134" - dependencies: - graceful-fs "^4.1.2" - mkdirp "^0.5.1" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - sort-keys "^1.1.1" - write-file-atomic "^1.1.2" - -write-pkg@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-1.0.0.tgz#aeb8aa9d4d788e1d893dfb0854968b543a919f57" - dependencies: - write-json-file "^1.1.0" - -write@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" - dependencies: - mkdirp "^0.5.1" - -ws@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.1.tgz#082ddb6c641e85d4bb451f03d52f06eabdb1f018" - dependencies: - options ">=0.0.5" - ultron "1.0.x" - -wtf-8@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a" - -xdg-basedir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" - dependencies: - os-homedir "^1.0.0" - -xmlbuilder@2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-2.6.2.tgz#f916f6d10d45dc171b1be2e6e673fb6e0cc35d0a" - dependencies: - lodash "~3.5.0" - -xmlhttprequest-ssl@1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d" - -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" - -y18n@^3.2.0, y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - -yallist@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.0.0.tgz#306c543835f09ee1a4cb23b7bce9ab341c91cdd4" - -yargs-parser@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4" - dependencies: - camelcase "^3.0.0" - lodash.assign "^4.0.6" - -yargs-parser@^4.0.2, yargs-parser@^4.1.0, yargs-parser@^4.2.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" - dependencies: - camelcase "^3.0.0" - -yargs@3.29.0: - version "3.29.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.29.0.tgz#1aab9660eae79d8b8f675bcaeeab6ee34c2cf69c" - dependencies: - camelcase "^1.2.1" - cliui "^3.0.3" - decamelize "^1.0.0" - os-locale "^1.4.0" - window-size "^0.1.2" - y18n "^3.2.0" - -yargs@6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.4.0.tgz#816e1a866d5598ccf34e5596ddce22d92da490d4" - dependencies: - camelcase "^3.0.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" - window-size "^0.2.0" - y18n "^3.2.1" - yargs-parser "^4.1.0" - -yargs@^4.7.1: - version "4.8.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0" - dependencies: - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - lodash.assign "^4.0.3" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.1" - which-module "^1.0.0" - window-size "^0.2.0" - y18n "^3.2.1" - yargs-parser "^2.4.1" - -yargs@^6.6.0: - version "6.6.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" - dependencies: - camelcase "^3.0.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" - y18n "^3.2.1" - yargs-parser "^4.2.0" - -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" - -yauzl@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" - dependencies: - fd-slicer "~1.0.1" - -yeast@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" diff --git a/tools/gopher-kart/css/styles.css b/tools/gopher-kart/css/styles.css deleted file mode 100644 index e8b7541..0000000 --- a/tools/gopher-kart/css/styles.css +++ /dev/null @@ -1,295 +0,0 @@ -/*-- GLOBAL STYLES --*/ -body.game-page { - text-align: center; - font-family: 'Roboto', sans-serif; - background: url("../assets/web/full-bg.jpg") #000 50% 0px; - background-size: 2958px 1310px; - background-repeat: no-repeat; - color: #FFF; - margin: 0; -} -html, body { - height: 100%; - margin: 0; -} -.wrapper { - min-height: 100%; - margin-bottom: -150px; - padding-top: 160px; -} -footer, -.push { - height: 150px; -} -footer { - background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%); /* FF3.6-15 */ - background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%); /* Chrome10-25,Safari5.1-6 */ - background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 ); /* IE6-9 */ - text-align: center; - font-family: 'Roboto', sans-serif; - padding-top: 20px; -} -footer h1 { - font-size: 23px; - font-weight: 500; - opacity: 0.85; - margin: 0; -} -footer p { - margin: 0; - padding: 0; - opacity: 0.85; -} -footer ul { - margin: 0; - padding: 0; - opacity: 0.85; -} -footer ul li { - list-style: none; - margin: 0; - padding: 0; -} -footer ul li a { - color: #6CBDFF; -} -footer .jami a { - color: #C1B1FF; - font-weight: 500; -} -footer .renee a { - color: #B2FBFF; - font-weight: 500; -} -footer .ardan a { - color:#FFA488; - font-weight: 500; -} -/*-- GAME SCREEN STYLES --*/ -canvas{ - image-rendering: -moz-crisp-edges; - image-rendering: -webkit-crisp-edges; - image-rendering: pixelated; - margin: 50px auto 0; -} -#phaser-wrapper { - position: relative; - height: 432px; - width: 100%; -} -#phaser-wrapper img { - display: block; - margin: 0 auto; - text-align: center; - position: relative; -} -#phaser-wrapper canvas { - position: absolute; - top: 0; - left: 50%; - margin-left: -300px; - border-radius: 10px; - margin-top: 0px; -} - -/*-- LEADERBOARD SCREEN --*/ -body.leaderboard-page { - font-family: 'Patua One', cursive; - background: url("../assets/web/arcade-bg.jpg") #000; - background-size:cover; - background-repeat: no-repeat; - color: #FFF; -} -.ardan-sticker { - height: 60px; - width: 130px; - display: block; - position: absolute; - top: 693px; - left: 50%; - margin-left: -65px; - border-radius: 100%; - transition: all 0.1s ease; -} -.ardan-sticker:hover { - background: rgba(255,255,255,0.1); - box-shadow: 0px 1px 30px rgba(255,255,255,0.2); - -webkit-filter: blur(10px); - -moz-filter: blur(10px); - -o-filter: blur(10px); - -ms-filter: blur(10px); - filter: blur(10px); -} -.github-sticker { - height: 90px; - width: 110px; - display: block; - position: absolute; - top: 30px; - left: 50%; - margin-left: 205px; - border-radius: 100%; - transition: all 0.1s ease; -} -.github-sticker:hover { - background: rgba(255,255,255,0.1); - box-shadow: 0px 1px 30px rgba(255,255,255,0.2); - -webkit-filter: blur(10px); - -moz-filter: blur(10px); - -o-filter: blur(10px); - -ms-filter: blur(10px); - filter: blur(10px); -} -body.leaderboard-page h1 { - color: #04fcdc; - text-align: center; -} -@keyframes fade { - from {opacity: 0;} - to {opacity: 1;} -} -.leaderboard-list dl { - border: 3px solid rgba(255,255,255,0.10); - opacity: 0; - padding: 5px 25px; - border-radius: 5px; -} -.leaderboard-list dl:nth-child(1) { - color: #fcfc04; - opacity: 1; - border: none; -} -.leaderboard-list dl:nth-child(2) { - color: #dcdcdc; - animation: fade 1s normal forwards ease-in-out; - animation-delay: 0.2s; -} -.leaderboard-list dl:nth-child(3) { - color: #fc0404; - animation: fade 1s normal forwards ease-in-out; - animation-delay: 0.4s; -} -.leaderboard-list dl:nth-child(4) { - color: #fcb444; - animation: fade 1s normal forwards ease-in-out; - animation-delay: 0.8s; -} -.leaderboard-list dl:nth-child(5) { - color: #fcb494; - animation: fade 1s normal forwards ease-in-out; - animation-delay: 1.2s; -} -.leaderboard-list dl:nth-child(6) { - color: #f4cc34; - animation: fade 1s normal forwards ease-in-out; - animation-delay: 1.4s; -} -.leaderboard-list dl:nth-child(7) { - color: #fcfc04; - animation: fade 1s normal forwards ease-in-out; - animation-delay: 1.8s; -} -.leaderboard-list dl:nth-child(8) { - color: #14b42c; - animation: fade 1s normal forwards ease-in-out; - animation-delay: 2.2s; -} -.leaderboard-list dl:nth-child(9) { - color: #04fcdc; - animation: fade 1s normal forwards ease-in-out; - animation-delay: 2.4s; -} -.leaderboard-list dl:nth-child(10) { - color: #149cb4; - animation: fade 1s normal forwards ease-in-out; - animation-delay: 2.8s; -} -.leaderboard-list dl:nth-child(11) { - color: #0cd424; - animation: fade 1s normal forwards ease-in-out; - animation-delay: 3.2s; -} -.leaderboard-list dl dd{ - display: inline-block; - font-size: 25px; - width: 32.5%; - margin: 0; -} -.leaderboard-list dl dd:last-child{ - text-align: right; -} - -.mobile-wrapper { - background: url("../assets/mobile-bg.png") #000 50% 0px; - border-radius: 10px; - height: 432px; - width: 600px; - display: none; - position: absolute; - top: 0; - left: 50%; - margin-left: -300px; - border-radius: 10px; - margin-top: 0px; - z-index: 300; - color: #000; -} -.mobile-wrapper h1 { - display: block; -} -.mobile-wrapper img.mobile-gopher { - bottom: 10px !important; - display: block !important; - position: absolute !important; - left: 50% !important; - margin-left: -68.5px !important; - image-rendering: pixelated !important; - -} -.mobile-wrapper img.mobile-title { - position: absolute !important; - top: 30px !important; - left: 50% !important; - margin-left: -150px !important; - image-rendering: pixelated !important; -} -.mobile-wrapper img.mobile-info { - position: absolute !important; - top: 110px !important; - left: 50% !important; - margin-left: -150px !important; - image-rendering: pixelated !important; -} - -@media(max-width:767px){ - body{ - overflow-x: hidden; - } - .mobile-wrapper { - display: block; - } - canvas { - display: none !important; - } -} -@media(max-width:576px){ - .mobile-wrapper { - border-radius: 0; - margin: 0; - left: 0; - width: 100%; - } - canvas { - display: none !important; - } - body{ - overflow-x: hidden; - } - .mobile-wrapper { - display: block; - } - canvas { - display: none !important; - } -} \ No newline at end of file diff --git a/tools/gopher-kart/httpd.conf b/tools/gopher-kart/httpd.conf deleted file mode 100644 index 89a6dde..0000000 --- a/tools/gopher-kart/httpd.conf +++ /dev/null @@ -1,549 +0,0 @@ -# -# This is the main Apache HTTP server configuration file. It contains the -# configuration directives that give the server its instructions. -# See for detailed information. -# In particular, see -# -# for a discussion of each configuration directive. -# -# Do NOT simply read the instructions in here without understanding -# what they do. They're here only as hints or reminders. If you are unsure -# consult the online docs. You have been warned. -# -# Configuration and logfile names: If the filenames you specify for many -# of the server's control files begin with "/" (or "drive:/" for Win32), the -# server will use that explicit path. If the filenames do *not* begin -# with "/", the value of ServerRoot is prepended -- so "logs/access_log" -# with ServerRoot set to "/usr/local/apache2" will be interpreted by the -# server as "/usr/local/apache2/logs/access_log", whereas "/logs/access_log" -# will be interpreted as '/logs/access_log'. - -# -# ServerRoot: The top of the directory tree under which the server's -# configuration, error, and log files are kept. -# -# Do not add a slash at the end of the directory path. If you point -# ServerRoot at a non-local disk, be sure to specify a local disk on the -# Mutex directive, if file-based mutexes are used. If you wish to share the -# same ServerRoot for multiple httpd daemons, you will need to change at -# least PidFile. -# -ServerRoot "/usr/local/apache2" - -# -# Mutex: Allows you to set the mutex mechanism and mutex file directory -# for individual mutexes, or change the global defaults -# -# Uncomment and change the directory if mutexes are file-based and the default -# mutex file directory is not on a local disk or is not appropriate for some -# other reason. -# -# Mutex default:logs - -# -# Listen: Allows you to bind Apache to specific IP addresses and/or -# ports, instead of the default. See also the -# directive. -# -# Change this to Listen on specific IP addresses as shown below to -# prevent Apache from glomming onto all bound IP addresses. -# -#Listen 12.34.56.78:80 -Listen 80 - -# -# Dynamic Shared Object (DSO) Support -# -# To be able to use the functionality of a module which was built as a DSO you -# have to place corresponding `LoadModule' lines at this location so the -# directives contained in it are actually available _before_ they are used. -# Statically compiled modules (those listed by `httpd -l') do not need -# to be loaded here. -# -# Example: -# LoadModule foo_module modules/mod_foo.so -# -LoadModule mpm_event_module modules/mod_mpm_event.so -#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so -#LoadModule mpm_worker_module modules/mod_mpm_worker.so -LoadModule authn_file_module modules/mod_authn_file.so -#LoadModule authn_dbm_module modules/mod_authn_dbm.so -#LoadModule authn_anon_module modules/mod_authn_anon.so -#LoadModule authn_dbd_module modules/mod_authn_dbd.so -#LoadModule authn_socache_module modules/mod_authn_socache.so -LoadModule authn_core_module modules/mod_authn_core.so -LoadModule authz_host_module modules/mod_authz_host.so -LoadModule authz_groupfile_module modules/mod_authz_groupfile.so -LoadModule authz_user_module modules/mod_authz_user.so -#LoadModule authz_dbm_module modules/mod_authz_dbm.so -#LoadModule authz_owner_module modules/mod_authz_owner.so -#LoadModule authz_dbd_module modules/mod_authz_dbd.so -LoadModule authz_core_module modules/mod_authz_core.so -#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so -#LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so -LoadModule access_compat_module modules/mod_access_compat.so -LoadModule auth_basic_module modules/mod_auth_basic.so -#LoadModule auth_form_module modules/mod_auth_form.so -#LoadModule auth_digest_module modules/mod_auth_digest.so -#LoadModule allowmethods_module modules/mod_allowmethods.so -#LoadModule isapi_module modules/mod_isapi.so -#LoadModule file_cache_module modules/mod_file_cache.so -#LoadModule cache_module modules/mod_cache.so -#LoadModule cache_disk_module modules/mod_cache_disk.so -#LoadModule cache_socache_module modules/mod_cache_socache.so -#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so -#LoadModule socache_dbm_module modules/mod_socache_dbm.so -#LoadModule socache_memcache_module modules/mod_socache_memcache.so -#LoadModule watchdog_module modules/mod_watchdog.so -#LoadModule macro_module modules/mod_macro.so -#LoadModule dbd_module modules/mod_dbd.so -#LoadModule bucketeer_module modules/mod_bucketeer.so -#LoadModule dumpio_module modules/mod_dumpio.so -#LoadModule echo_module modules/mod_echo.so -#LoadModule example_hooks_module modules/mod_example_hooks.so -#LoadModule case_filter_module modules/mod_case_filter.so -#LoadModule case_filter_in_module modules/mod_case_filter_in.so -#LoadModule example_ipc_module modules/mod_example_ipc.so -#LoadModule buffer_module modules/mod_buffer.so -#LoadModule data_module modules/mod_data.so -#LoadModule ratelimit_module modules/mod_ratelimit.so -LoadModule reqtimeout_module modules/mod_reqtimeout.so -#LoadModule ext_filter_module modules/mod_ext_filter.so -#LoadModule request_module modules/mod_request.so -#LoadModule include_module modules/mod_include.so -LoadModule filter_module modules/mod_filter.so -#LoadModule reflector_module modules/mod_reflector.so -#LoadModule substitute_module modules/mod_substitute.so -#LoadModule sed_module modules/mod_sed.so -#LoadModule charset_lite_module modules/mod_charset_lite.so -#LoadModule deflate_module modules/mod_deflate.so -#LoadModule xml2enc_module modules/mod_xml2enc.so -#LoadModule proxy_html_module modules/mod_proxy_html.so -LoadModule mime_module modules/mod_mime.so -#LoadModule ldap_module modules/mod_ldap.so -LoadModule log_config_module modules/mod_log_config.so -#LoadModule log_debug_module modules/mod_log_debug.so -#LoadModule log_forensic_module modules/mod_log_forensic.so -#LoadModule logio_module modules/mod_logio.so -#LoadModule lua_module modules/mod_lua.so -LoadModule env_module modules/mod_env.so -#LoadModule mime_magic_module modules/mod_mime_magic.so -#LoadModule cern_meta_module modules/mod_cern_meta.so -#LoadModule expires_module modules/mod_expires.so -LoadModule headers_module modules/mod_headers.so -#LoadModule ident_module modules/mod_ident.so -#LoadModule usertrack_module modules/mod_usertrack.so -#LoadModule unique_id_module modules/mod_unique_id.so -LoadModule setenvif_module modules/mod_setenvif.so -LoadModule version_module modules/mod_version.so -#LoadModule remoteip_module modules/mod_remoteip.so -#LoadModule proxy_module modules/mod_proxy.so -#LoadModule proxy_connect_module modules/mod_proxy_connect.so -#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so -#LoadModule proxy_http_module modules/mod_proxy_http.so -#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so -#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so -#LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so -#LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so -#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so -#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so -#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so -#LoadModule proxy_express_module modules/mod_proxy_express.so -#LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so -#LoadModule session_module modules/mod_session.so -#LoadModule session_cookie_module modules/mod_session_cookie.so -#LoadModule session_crypto_module modules/mod_session_crypto.so -#LoadModule session_dbd_module modules/mod_session_dbd.so -#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so -#LoadModule slotmem_plain_module modules/mod_slotmem_plain.so -#LoadModule ssl_module modules/mod_ssl.so -#LoadModule optional_hook_export_module modules/mod_optional_hook_export.so -#LoadModule optional_hook_import_module modules/mod_optional_hook_import.so -#LoadModule optional_fn_import_module modules/mod_optional_fn_import.so -#LoadModule optional_fn_export_module modules/mod_optional_fn_export.so -#LoadModule dialup_module modules/mod_dialup.so -#LoadModule http2_module modules/mod_http2.so -#LoadModule proxy_http2_module modules/mod_proxy_http2.so -#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so -#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so -#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so -#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so -LoadModule unixd_module modules/mod_unixd.so -#LoadModule heartbeat_module modules/mod_heartbeat.so -#LoadModule heartmonitor_module modules/mod_heartmonitor.so -#LoadModule dav_module modules/mod_dav.so -LoadModule status_module modules/mod_status.so -LoadModule autoindex_module modules/mod_autoindex.so -#LoadModule asis_module modules/mod_asis.so -#LoadModule info_module modules/mod_info.so -#LoadModule suexec_module modules/mod_suexec.so - - #LoadModule cgid_module modules/mod_cgid.so - - - #LoadModule cgi_module modules/mod_cgi.so - -#LoadModule dav_fs_module modules/mod_dav_fs.so -#LoadModule dav_lock_module modules/mod_dav_lock.so -#LoadModule vhost_alias_module modules/mod_vhost_alias.so -#LoadModule negotiation_module modules/mod_negotiation.so -LoadModule dir_module modules/mod_dir.so -#LoadModule imagemap_module modules/mod_imagemap.so -#LoadModule actions_module modules/mod_actions.so -#LoadModule speling_module modules/mod_speling.so -#LoadModule userdir_module modules/mod_userdir.so -LoadModule alias_module modules/mod_alias.so -#LoadModule rewrite_module modules/mod_rewrite.so - - -# -# If you wish httpd to run as a different user or group, you must run -# httpd as root initially and it will switch. -# -# User/Group: The name (or #number) of the user/group to run httpd as. -# It is usually good practice to create a dedicated user and group for -# running httpd, as with most system services. -# -User daemon -Group daemon - - - -# 'Main' server configuration -# -# The directives in this section set up the values used by the 'main' -# server, which responds to any requests that aren't handled by a -# definition. These values also provide defaults for -# any containers you may define later in the file. -# -# All of these directives may appear inside containers, -# in which case these default settings will be overridden for the -# virtual host being defined. -# - -# -# ServerAdmin: Your address, where problems with the server should be -# e-mailed. This address appears on some server-generated pages, such -# as error documents. e.g. admin@your-domain.com -# -ServerAdmin you@example.com - -# -# ServerName gives the name and port that the server uses to identify itself. -# This can often be determined automatically, but we recommend you specify -# it explicitly to prevent problems during startup. -# -# If your host doesn't have a registered DNS name, enter its IP address here. -# -#ServerName www.example.com:80 - -# -# Deny access to the entirety of your server's filesystem. You must -# explicitly permit access to web content directories in other -# blocks below. -# - - AllowOverride none - Require all denied - - -# -# Note that from this point forward you must specifically allow -# particular features to be enabled - so if something's not working as -# you might expect, make sure that you have specifically enabled it -# below. -# - -# -# DocumentRoot: The directory out of which you will serve your -# documents. By default, all requests are taken from this directory, but -# symbolic links and aliases may be used to point to other locations. -# -DocumentRoot "/usr/local/apache2/htdocs" - - # - # Possible values for the Options directive are "None", "All", - # or any combination of: - # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews - # - # Note that "MultiViews" must be named *explicitly* --- "Options All" - # doesn't give it to you. - # - # The Options directive is both complicated and important. Please see - # http://httpd.apache.org/docs/2.4/mod/core.html#options - # for more information. - # - Options Indexes FollowSymLinks - - # - # AllowOverride controls what directives may be placed in .htaccess files. - # It can be "All", "None", or any combination of the keywords: - # AllowOverride FileInfo AuthConfig Limit - # - AllowOverride None - - # - # Controls who can get stuff from this server. - # - Require all granted - - -# -# DirectoryIndex: sets the file that Apache will serve if a directory -# is requested. -# - - DirectoryIndex index.html - - -# -# The following lines prevent .htaccess and .htpasswd files from being -# viewed by Web clients. -# - - Require all denied - - -# -# ErrorLog: The location of the error log file. -# If you do not specify an ErrorLog directive within a -# container, error messages relating to that virtual host will be -# logged here. If you *do* define an error logfile for a -# container, that host's errors will be logged there and not here. -# -ErrorLog /proc/self/fd/2 - -# -# LogLevel: Control the number of messages logged to the error_log. -# Possible values include: debug, info, notice, warn, error, crit, -# alert, emerg. -# -LogLevel warn - - - # - # The following directives define some format nicknames for use with - # a CustomLog directive (see below). - # - LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined - LogFormat "%h %l %u %t \"%r\" %>s %b" common - - - # You need to enable mod_logio.c to use %I and %O - LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio - - - # - # The location and format of the access logfile (Common Logfile Format). - # If you do not define any access logfiles within a - # container, they will be logged here. Contrariwise, if you *do* - # define per- access logfiles, transactions will be - # logged therein and *not* in this file. - # - CustomLog /proc/self/fd/1 common - - # - # If you prefer a logfile with access, agent, and referer information - # (Combined Logfile Format) you can use the following directive. - # - #CustomLog "logs/access_log" combined - - - - # - # Redirect: Allows you to tell clients about documents that used to - # exist in your server's namespace, but do not anymore. The client - # will make a new request for the document at its new location. - # Example: - # Redirect permanent /foo http://www.example.com/bar - - # - # Alias: Maps web paths into filesystem paths and is used to - # access content that does not live under the DocumentRoot. - # Example: - # Alias /webpath /full/filesystem/path - # - # If you include a trailing / on /webpath then the server will - # require it to be present in the URL. You will also likely - # need to provide a section to allow access to - # the filesystem path. - - # - # ScriptAlias: This controls which directories contain server scripts. - # ScriptAliases are essentially the same as Aliases, except that - # documents in the target directory are treated as applications and - # run by the server when requested rather than as documents sent to the - # client. The same rules about trailing "/" apply to ScriptAlias - # directives as to Alias. - # - ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/" - - - - - # - # ScriptSock: On threaded servers, designate the path to the UNIX - # socket used to communicate with the CGI daemon of mod_cgid. - # - #Scriptsock cgisock - - -# -# "/usr/local/apache2/cgi-bin" should be changed to whatever your ScriptAliased -# CGI directory exists, if you have that configured. -# - - AllowOverride None - Options None - Require all granted - - - - # - # Avoid passing HTTP_PROXY environment to CGI's on this or any proxied - # backend servers which have lingering "httpoxy" defects. - # 'Proxy' request header is undefined by the IETF, not listed by IANA - # - RequestHeader unset Proxy early - - - - # - # TypesConfig points to the file containing the list of mappings from - # filename extension to MIME-type. - # - TypesConfig conf/mime.types - - # - # AddType allows you to add to or override the MIME configuration - # file specified in TypesConfig for specific file types. - # - #AddType application/x-gzip .tgz - # - # AddEncoding allows you to have certain browsers uncompress - # information on the fly. Note: Not all browsers support this. - # - #AddEncoding x-compress .Z - #AddEncoding x-gzip .gz .tgz - # - # If the AddEncoding directives above are commented-out, then you - # probably should define those extensions to indicate media types: - # - AddType application/x-compress .Z - AddType application/x-gzip .gz .tgz - - # - # AddHandler allows you to map certain file extensions to "handlers": - # actions unrelated to filetype. These can be either built into the server - # or added with the Action directive (see below) - # - # To use CGI scripts outside of ScriptAliased directories: - # (You will also need to add "ExecCGI" to the "Options" directive.) - # - #AddHandler cgi-script .cgi - - # For type maps (negotiated resources): - #AddHandler type-map var - - # - # Filters allow you to process content before it is sent to the client. - # - # To parse .shtml files for server-side includes (SSI): - # (You will also need to add "Includes" to the "Options" directive.) - # - #AddType text/html .shtml - #AddOutputFilter INCLUDES .shtml - - -# -# The mod_mime_magic module allows the server to use various hints from the -# contents of the file itself to determine its type. The MIMEMagicFile -# directive tells the module where the hint definitions are located. -# -#MIMEMagicFile conf/magic - -# -# Customizable error responses come in three flavors: -# 1) plain text 2) local redirects 3) external redirects -# -# Some examples: -#ErrorDocument 500 "The server made a boo boo." -#ErrorDocument 404 /missing.html -#ErrorDocument 404 "/cgi-bin/missing_handler.pl" -#ErrorDocument 402 http://www.example.com/subscription_info.html -# - -# -# MaxRanges: Maximum number of Ranges in a request before -# returning the entire resource, or one of the special -# values 'default', 'none' or 'unlimited'. -# Default setting is to accept 200 Ranges. -#MaxRanges unlimited - -# -# EnableMMAP and EnableSendfile: On systems that support it, -# memory-mapping or the sendfile syscall may be used to deliver -# files. This usually improves server performance, but must -# be turned off when serving from networked-mounted -# filesystems or if support for these functions is otherwise -# broken on your system. -# Defaults: EnableMMAP On, EnableSendfile Off -# -#EnableMMAP off -#EnableSendfile on - -# Supplemental configuration -# -# The configuration files in the conf/extra/ directory can be -# included to add extra features or to modify the default configuration of -# the server, or you may simply copy their contents here and change as -# necessary. - -# Server-pool management (MPM specific) -#Include conf/extra/httpd-mpm.conf - -# Multi-language error messages -#Include conf/extra/httpd-multilang-errordoc.conf - -# Fancy directory listings -#Include conf/extra/httpd-autoindex.conf - -# Language settings -#Include conf/extra/httpd-languages.conf - -# User home directories -#Include conf/extra/httpd-userdir.conf - -# Real-time info on requests and configuration -#Include conf/extra/httpd-info.conf - -# Virtual hosts -#Include conf/extra/httpd-vhosts.conf - -# Local access to the Apache HTTP Server Manual -#Include conf/extra/httpd-manual.conf - -# Distributed authoring and versioning (WebDAV) -#Include conf/extra/httpd-dav.conf - -# Various default settings -#Include conf/extra/httpd-default.conf - -# Configure mod_proxy_html to understand HTML4/XHTML1 - -Include conf/extra/proxy-html.conf - - -# Secure (SSL/TLS) connections -#Include conf/extra/httpd-ssl.conf -# -# Note: The following must must be present to support -# starting without SSL on platforms with no /dev/random equivalent -# but a statically compiled-in mod_ssl. -# - -SSLRandomSeed startup builtin -SSLRandomSeed connect builtin - - -HttpProtocolOptions Unsafe diff --git a/tools/gopher-kart/index.html b/tools/gopher-kart/index.html deleted file mode 100644 index 4f2e967..0000000 --- a/tools/gopher-kart/index.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - Gopher Kart - - - - - - -
-
-
- MOBILE UNDER CONSTRUCTION - DESKTOP REQUIRED TO PLAY - Under Construction -
-
-
- - -
- - - - - - - - - - - - diff --git a/tools/gopher-kart/js/app.js b/tools/gopher-kart/js/app.js deleted file mode 100644 index d42119f..0000000 --- a/tools/gopher-kart/js/app.js +++ /dev/null @@ -1,82 +0,0 @@ -// var mainState = { -// preload: function () { -// game.load.spritesheet('car', '../assets/gopher-drive-loop.png', 63, 59, 2); -// game.load.image('railBot', '../assets/bottom-rail.png'); -// game.load.image('road', '../assets/road-tile.png'); -// game.stage.smoothed = false; -// }, -// -// create: function () { -// game.stage.backgroundColor = '#72c5cf'; -// -// //1st num indicates the starting x tilePosition -// //2nd num indicates the starting y tilePosition -// //3rd num indicates the x (length) of repetition -// //4th num indicates the y (height) of repetition -// this.railBot = game.add.tileSprite(0, 385, 600, 0, 'railBot'); -// -// game.physics.startSystem(Phaser.Physics.ARCADE); -// -// this.car = game.add.sprite(30, 280, "car"); -// -// this.car.animations.add('drive', [0,1], 8, true); -// -// this.car.animations.play('drive'); -// -// // this.car = game.add.sprite(30, 280, 'car'); -// -// this.physics.arcade.enable(this.car); -// -// // this.car.anchor.setTo(-0.2, 0.5); -// -// this.car.body.collideWorldBounds = true; -// -// cursors = game.input.keyboard.createCursorKeys(); -// -// // this.timer = game.time.events.loop(100, this.addRowOfRoads, this); -// -// this.road = game.add.group(); -// }, -// -// update: function () { -// this.railBot.tilePosition.x = 0.5; -// -// this.car.body.velocity.x = 0; -// -// if(cursors.right.isDown){ -// this.car.body.velocity.x = 100; -// } -// -// else if (cursors.left.isDown){ -// this.car.body.velocity.x = -300; -// } -// -// else if (cursors.right.isDown && this.car.body.y < this.window) { -// this.car.body.velocity.x = 0; -// } -// }, -// -// addOneRoad: function(x, y){ -// var road = game.add.sprite(x, y, 'road'); -// -// this.road.add(road); -// -// game.physics.arcade.enable(road); -// -// road.body.velocity.x = -300; -// -// road.checkWorldBounds = true; -// road.outOfBoundsKill = true; -// }, -// -// addRowOfRoads: function(){ -// this.addOneRoad(600, 220); -// }, -// -// }; -// -// var game = new Phaser.Game(600, 432, Phaser.AUTO, 'ld29', null, false, false); -// -// game.state.add('main', mainState); -// -// game.state.start('main'); diff --git a/tools/gopher-kart/js/main.js b/tools/gopher-kart/js/main.js deleted file mode 100644 index 866abfa..0000000 --- a/tools/gopher-kart/js/main.js +++ /dev/null @@ -1,53 +0,0 @@ -var game; -var character; -var npcSpawnRate = 1.8; -var coinSpawnRate = 1; -var availLanes = [233, 289, 345]; -var availNpcGophers = - [ - [0, 1], - [2, 3], - [4, 5], - [6, 7], - [8, 9], - [10, 11], - [12, 13], - [14, 15], - [16, 17], - [18, 19], - ]; -var score = 0; -var cursors; -var scoreText; -var lives = 3; -var count = 0; -var timeElapsed = 0; - - -var sky; -var mtn; -var city; -var truck; -var road; -var bottomRail; -var posts; -var extras; -var topRail; - -window.onload = function(){ - if(screen.width>900){ - game = new Phaser.Game(600, 432, Phaser.CANVAS, "phaser-wrapper", null, false, false); - } - else{ - game = new - Phaser.Game(window.innerWidth, window.innerHeight, Phaser.CANVAS, "phaser-wrapper"); - } - game.state.add("StateTitle", StateTitle); - game.state.add("StateMain", StateMain); - game.state.add("StateChoice", StateChoice); - game.state.add("StateTutorial", StateTutorial); - game.state.add("StateOver", StateOver); - - - game.state.start("StateTitle"); -}; diff --git a/tools/gopher-kart/js/phaser.min.js b/tools/gopher-kart/js/phaser.min.js deleted file mode 100644 index 6eb048b..0000000 --- a/tools/gopher-kart/js/phaser.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/* Phaser v2.10.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ - -!function(t){if("object"==typeof exports)module.exports=t();else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.p2=t()}}(function(){return function t(e,i,s){function n(o,a){if(!i[o]){if(!e[o]){var h="function"==typeof require&&require;if(!a&&h)return h(o,!0);if(r)return r(o,!0);throw new Error("Cannot find module '"+o+"'")}var l=i[o]={exports:{}};e[o][0].call(l.exports,function(t){var i=e[o][1][t];return n(i||t)},l,l.exports,t,e,i,s)}return i[o].exports}for(var r="function"==typeof require&&require,o=0;o=0&&h<=1&&l>=0&&l<=1}},{"./Scalar":4}],2:[function(t,e,i){function s(){}e.exports=s,s.area=function(t,e,i){return(e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1])},s.left=function(t,e,i){return s.area(t,e,i)>0},s.leftOn=function(t,e,i){return s.area(t,e,i)>=0},s.right=function(t,e,i){return s.area(t,e,i)<0},s.rightOn=function(t,e,i){return s.area(t,e,i)<=0};var n=[],r=[];s.collinear=function(t,e,i,o){if(o){var a=n,h=r;a[0]=e[0]-t[0],a[1]=e[1]-t[1],h[0]=i[0]-e[0],h[1]=i[1]-e[1];var l=a[0]*h[0]+a[1]*h[1],c=Math.sqrt(a[0]*a[0]+a[1]*a[1]),u=Math.sqrt(h[0]*h[0]+h[1]*h[1]);return Math.acos(l/(c*u))t.vertices.length)throw new Error("lol2");if(e<0)throw new Error("lol3");for(var s=e;se[t][0])&&(t=i);o.left(this.at(t-1),this.at(t),this.at(t+1))||this.reverse()},s.prototype.reverse=function(){for(var t=[],e=0,i=this.vertices.length;e!==i;e++)t.push(this.vertices.pop());this.vertices=t},s.prototype.isReflex=function(t){return o.right(this.at(t-1),this.at(t),this.at(t+1))};var h=[],l=[];s.prototype.canSee=function(t,e){var i,s,n=h,a=l;if(o.leftOn(this.at(t+1),this.at(t),this.at(e))&&o.rightOn(this.at(t-1),this.at(t),this.at(e)))return!1;s=o.sqdist(this.at(t),this.at(e));for(var c=0;c!==this.vertices.length;++c)if((c+1)%this.vertices.length!==t&&c!==t&&o.leftOn(this.at(t),this.at(e),this.at(c+1))&&o.rightOn(this.at(t),this.at(e),this.at(c))&&(n[0]=this.at(t),n[1]=this.at(e),a[0]=this.at(c),a[1]=this.at(c+1),i=r.lineInt(n,a),o.sqdist(this.at(t),i)0?this.slice(t):[this]},s.prototype.slice=function(t){if(0==t.length)return[this];if(t instanceof Array&&t.length&&t[0]instanceof Array&&2==t[0].length&&t[0][0]instanceof Array){for(var e=[this],i=0;ia)return console.warn("quickDecomp: max level ("+a+") reached."),t;for(var T=0;Tm&&(m+=this.vertices.length),g=Number.MAX_VALUE,m3&&i>=0;--i)o.collinear(this.at(i-1),this.at(i),this.at(i+1),t)&&(this.vertices.splice(i%this.vertices.length,1),i--,e++);return e}},{"./Line":1,"./Point":2,"./Scalar":4}],4:[function(t,e,i){function s(){}e.exports=s,s.eq=function(t,e,i){return i=i||0,Math.abs(t-e) (http://steffe.se)",keywords:["p2.js","p2","physics","engine","2d"],main:"./src/p2.js",engines:{node:"*"},repository:{type:"git",url:"https://github.com/schteppe/p2.js.git"},bugs:{url:"https://github.com/schteppe/p2.js/issues"},licenses:[{type:"MIT"}],devDependencies:{grunt:"^0.4.5","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-uglify":"~0.4.0","grunt-contrib-watch":"~0.5.0","grunt-browserify":"~2.0.1","grunt-contrib-concat":"^0.4.0"},dependencies:{"poly-decomp":"0.1.1"}}},{}],7:[function(t,e,i){function s(t){this.lowerBound=n.create(),t&&t.lowerBound&&n.copy(this.lowerBound,t.lowerBound),this.upperBound=n.create(),t&&t.upperBound&&n.copy(this.upperBound,t.upperBound)}var n=t("../math/vec2");t("../utils/Utils");e.exports=s;var r=n.create();s.prototype.setFromPoints=function(t,e,i,s){var o=this.lowerBound,a=this.upperBound;"number"!=typeof i&&(i=0),0!==i?n.rotate(o,t[0],i):n.copy(o,t[0]),n.copy(a,o);for(var h=Math.cos(i),l=Math.sin(i),c=1;ca[f]&&(a[f]=u[f]),u[f]i&&(this.lowerBound[e]=i);var s=t.upperBound[e];this.upperBound[e]h?-1:a}},{"../math/vec2":30,"../utils/Utils":57}],8:[function(t,e,i){function s(t){this.type=t,this.result=[],this.world=null,this.boundingVolumeType=s.AABB}var n=t("../math/vec2"),r=t("../objects/Body");e.exports=s,s.AABB=1,s.BOUNDING_CIRCLE=2,s.prototype.setWorld=function(t){this.world=t},s.prototype.getCollisionPairs=function(t){};var o=n.create();s.boundingRadiusCheck=function(t,e){n.sub(o,t.position,e.position);var i=n.squaredLength(o),s=t.boundingRadius+e.boundingRadius;return i<=s*s},s.aabbCheck=function(t,e){return t.getAABB().overlaps(e.getAABB())},s.prototype.boundingVolumeCheck=function(t,e){var i;switch(this.boundingVolumeType){case s.BOUNDING_CIRCLE:i=s.boundingRadiusCheck(t,e);break;case s.AABB:i=s.aabbCheck(t,e);break;default:throw new Error("Bounding volume type not recognized: "+this.boundingVolumeType)}return i},s.canCollide=function(t,e){var i=r.KINEMATIC,s=r.STATIC;return(t.type!==s||e.type!==s)&&(!(t.type===i&&e.type===s||t.type===s&&e.type===i)&&((t.type!==i||e.type!==i)&&((t.sleepState!==r.SLEEPING||e.sleepState!==r.SLEEPING)&&!(t.sleepState===r.SLEEPING&&e.type===s||e.sleepState===r.SLEEPING&&t.type===s))))},s.NAIVE=1,s.SAP=2},{"../math/vec2":30,"../objects/Body":31}],9:[function(t,e,i){function s(){n.call(this,n.NAIVE)}t("../shapes/Circle"),t("../shapes/Plane"),t("../shapes/Shape"),t("../shapes/Particle");var n=t("../collision/Broadphase");t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.getCollisionPairs=function(t){var e=t.bodies,i=this.result;i.length=0;for(var s=0,r=e.length;s!==r;s++)for(var o=e[s],a=0;az&&Y0)for(G=0;GMath.pow(g,2))return 0;if(u)return!0;var m=this.createContactEquation(t,n,e,r);return a(m.normalA,l,i),o.normalize(m.normalA,m.normalA),o.scale(m.contactPointA,m.normalA,d),o.scale(m.contactPointB,m.normalA,-p),h(m.contactPointA,m.contactPointA,i),a(m.contactPointA,m.contactPointA,t.position),h(m.contactPointB,m.contactPointB,l),a(m.contactPointB,m.contactPointB,n.position),this.contactEquations.push(m),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(m)),1},s.prototype[m.PLANE|m.CONVEX]=s.prototype[m.PLANE|m.BOX]=s.prototype.planeConvex=function(t,e,i,s,n,r,c,u,d){var p=x,f=b,g=_,m=0;o.rotate(f,v,s);for(var y=0;y!==r.vertices.length;y++){var w=r.vertices[y];if(o.rotate(p,w,u),h(p,p,c),a(g,p,i),l(g,f)<=0){if(d)return!0;m++;var T=this.createContactEquation(t,n,e,r);a(g,p,i),o.copy(T.normalA,f);var P=l(g,T.normalA);o.scale(g,T.normalA,P),a(T.contactPointB,p,n.position),a(T.contactPointA,p,g),a(T.contactPointA,T.contactPointA,t.position),this.contactEquations.push(T),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(T))}}return this.enableFrictionReduction&&this.enableFriction&&m&&this.frictionEquations.push(this.createFrictionFromAverage(m)),m},s.prototype[m.PARTICLE|m.PLANE]=s.prototype.particlePlane=function(t,e,i,s,n,r,h,c,u){var d=x,p=b;c=c||0,a(d,i,h),o.rotate(p,v,c);var f=l(d,p);if(f>0)return 0;if(u)return!0;var g=this.createContactEquation(n,t,r,e);return o.copy(g.normalA,p),o.scale(d,g.normalA,f),a(g.contactPointA,i,d),a(g.contactPointA,g.contactPointA,n.position),a(g.contactPointB,i,t.position),this.contactEquations.push(g),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(g)),1},s.prototype[m.CIRCLE|m.PARTICLE]=s.prototype.circleParticle=function(t,e,i,s,n,r,l,c,u){var d=x;if(a(d,l,i),o.squaredLength(d)>Math.pow(e.radius,2))return 0;if(u)return!0;var p=this.createContactEquation(t,n,e,r);return o.copy(p.normalA,d),o.normalize(p.normalA,p.normalA),o.scale(p.contactPointA,p.normalA,e.radius),h(p.contactPointA,p.contactPointA,i),a(p.contactPointA,p.contactPointA,t.position),a(p.contactPointB,l,n.position),this.contactEquations.push(p),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(p)),1};var K=new f({radius:1}),J=o.create(),Q=o.create();o.create();s.prototype[m.PLANE|m.CAPSULE]=s.prototype.planeCapsule=function(t,e,i,s,n,r,a,l,c){var u=J,d=Q,p=K;o.set(u,-r.length/2,0),o.rotate(u,u,l),h(u,u,a),o.set(d,r.length/2,0),o.rotate(d,d,l),h(d,d,a),p.radius=r.radius;var f;this.enableFrictionReduction&&(f=this.enableFriction,this.enableFriction=!1);var g=this.circlePlane(n,p,u,0,t,e,i,s,c),m=this.circlePlane(n,p,d,0,t,e,i,s,c);if(this.enableFrictionReduction&&(this.enableFriction=f),c)return g||m;var y=g+m;return this.enableFrictionReduction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},s.prototype[m.CIRCLE|m.PLANE]=s.prototype.circlePlane=function(t,e,i,s,n,r,c,u,d){var p=t,f=e,g=i,m=n,y=c,w=u;w=w||0;var T=x,P=b,C=_;a(T,g,y),o.rotate(P,v,w);var S=l(P,T);if(S>f.radius)return 0;if(d)return!0;var A=this.createContactEquation(m,p,r,e);return o.copy(A.normalA,P),o.scale(A.contactPointB,A.normalA,-f.radius),h(A.contactPointB,A.contactPointB,g),a(A.contactPointB,A.contactPointB,p.position),o.scale(C,A.normalA,S),a(A.contactPointA,T,C),h(A.contactPointA,A.contactPointA,y),a(A.contactPointA,A.contactPointA,m.position),this.contactEquations.push(A),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(A)),1},s.prototype[m.CONVEX]=s.prototype[m.CONVEX|m.BOX]=s.prototype[m.BOX]=s.prototype.convexConvex=function(t,e,i,n,r,c,u,d,p,f){var g=x,m=b,y=_,v=w,P=T,E=C,M=S,R=A,L=0,f="number"==typeof f?f:0;if(!s.findSeparatingAxis(e,i,n,c,u,d,g))return 0;a(M,u,i),l(g,M)>0&&o.scale(g,g,-1);var B=s.getClosestEdge(e,n,g,!0),I=s.getClosestEdge(c,d,g);if(-1===B||-1===I)return 0;for(var O=0;O<2;O++){var k=B,F=I,D=e,U=c,G=i,N=u,X=n,W=d,j=t,V=r;if(0===O){var q;q=k,k=F,F=q,q=D,D=U,U=q,q=G,G=N,N=q,q=X,X=W,W=q,q=j,j=V,V=q}for(var H=F;H=3){if(p)return!0;var Z=this.createContactEquation(j,V,D,U);L++;var J=D.vertices[k%D.vertices.length],Q=D.vertices[(k+1)%D.vertices.length];o.rotate(y,J,X),o.rotate(v,Q,X),h(y,y,G),h(v,v,G),a(P,v,y),o.rotate90cw(Z.normalA,P),o.normalize(Z.normalA,Z.normalA),a(M,m,y);var $=l(Z.normalA,M);o.scale(E,Z.normalA,$),a(Z.contactPointA,m,G),a(Z.contactPointA,Z.contactPointA,E),h(Z.contactPointA,Z.contactPointA,G),a(Z.contactPointA,Z.contactPointA,j.position),a(Z.contactPointB,m,N),h(Z.contactPointB,Z.contactPointB,N),a(Z.contactPointB,Z.contactPointB,V.position),this.contactEquations.push(Z),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Z))}}}return this.enableFrictionReduction&&this.enableFriction&&L&&this.frictionEquations.push(this.createFrictionFromAverage(L)),L};var Z=o.fromValues(0,0);s.projectConvexOntoAxis=function(t,e,i,s,n){var r,a,h=null,c=null,u=Z;o.rotate(u,s,-i);for(var d=0;dh)&&(h=a),(null===c||ah){var p=c;c=h,h=p}var f=l(e,s);o.set(n,c+f,h+f)};var $=o.fromValues(0,0),tt=o.fromValues(0,0),et=o.fromValues(0,0),it=o.fromValues(0,0),st=o.fromValues(0,0),nt=o.fromValues(0,0);s.findSeparatingAxis=function(t,e,i,n,r,h,l){var c=null,u=!1,d=!1,p=$,f=tt,g=et,m=it,v=st,x=nt;if(t instanceof y&&n instanceof y)for(P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(C=0;2!==C;C++){0===C?o.set(m,0,1):1===C&&o.set(m,1,0),0!==_&&o.rotate(m,m,_),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0),u=(S=T[0]-w[1])<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}else for(var P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(var C=0;C!==b.vertices.length;C++){o.rotate(f,b.vertices[C],_),o.rotate(g,b.vertices[(C+1)%b.vertices.length],_),a(p,g,f),o.rotate90cw(m,p),o.normalize(m,m),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0);var S=T[0]-w[1];u=S<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}return d};var rt=o.fromValues(0,0),ot=o.fromValues(0,0),at=o.fromValues(0,0);s.getClosestEdge=function(t,e,i,s){var n=rt,r=ot,h=at;o.rotate(n,i,-e),s&&o.scale(n,n,-1);for(var c=-1,u=t.vertices.length,d=-1,p=0;p!==u;p++){a(r,t.vertices[(p+1)%u],t.vertices[p%u]),o.rotate90cw(h,r),o.normalize(h,h);var f=l(h,n);(-1===c||f>d)&&(c=p%u,d=f)}return c};var ht=o.create(),lt=o.create(),ct=o.create(),ut=o.create(),dt=o.create(),pt=o.create(),ft=o.create();s.prototype[m.CIRCLE|m.HEIGHTFIELD]=s.prototype.circleHeightfield=function(t,e,i,s,n,r,l,c,u,d){var p=r.heights,d=d||e.radius,f=r.elementWidth,g=lt,m=ht,y=dt,v=ft,x=pt,b=ct,_=ut,w=Math.floor((i[0]-d-l[0])/f),T=Math.ceil((i[0]+d-l[0])/f);w<0&&(w=0),T>=p.length&&(T=p.length-1);for(var P=p[w],C=p[T],S=w;SP&&(P=p[S]);if(i[1]-d>P)return!u&&0;for(var A=!1,S=w;S=b[0]&&m[0]<_[0]&&E<=0){if(u)return!0;A=!0,o.scale(g,x,-E),o.add(y,m,g),o.copy(v,x);M=this.createContactEquation(n,t,r,e);o.copy(M.normalA,v),o.scale(M.contactPointB,M.normalA,-d),h(M.contactPointB,M.contactPointB,i),a(M.contactPointB,M.contactPointB,t.position),o.copy(M.contactPointA,y),o.sub(M.contactPointA,M.contactPointA,n.position),this.contactEquations.push(M),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(M))}}if(A=!1,d>0)for(S=w;S<=T;S++)if(o.set(b,S*f,p[S]),o.add(b,b,l),o.sub(g,i,b),o.squaredLength(g)=c.length&&(y=c.length-1);for(var v=c[m],x=c[y],b=m;bv&&(v=c[b]);if(t.aabb.lowerBound[1]>v)return!l&&0;for(var _=0,b=m;b=0||r.containsPoint(this.from))&&this.intersectBody(t,n)}};var o=r.create();s.prototype.intersectBody=function(t,e){var i=this.checkCollisionResponse;if(!i||e.collisionResponse)for(var s=o,n=0,a=e.shapes.length;ne.boundingRadius*e.boundingRadius||(this._currentBody=r,this._currentShape=e,e.raycast(t,this,s,i),this._currentBody=this._currentShape=null)},s.prototype.getAABB=function(t){var e=this.to,i=this.from;r.set(t.lowerBound,Math.min(e[0],i[0]),Math.min(e[1],i[1])),r.set(t.upperBound,Math.max(e[0],i[0]),Math.max(e[1],i[1]))};r.create();s.prototype.reportIntersection=function(t,e,i,n){this.from,this.to;var o=this._currentShape,a=this._currentBody;if(!(this.skipBackfaces&&r.dot(i,this.direction)>0))switch(this.mode){case s.ALL:t.set(i,o,a,e,n),this.callback(t);break;case s.CLOSEST:(e=0&&!(t[r].aabb.lowerBound[e]<=n.aabb.lowerBound[e]);r--)t[r+1]=t[r];t[r+1]=n}return t},s.prototype.sortList=function(){var t=this.axisList,e=this.axisIndex;s.sortAxisList(t,e)},s.prototype.getCollisionPairs=function(t){var e=this.axisList,i=this.result,s=this.axisIndex;i.length=0;for(var n=e.length;n--;){var o=e[n];o.aabbNeedsUpdate&&o.updateAABB()}this.sortList();for(var a=0,h=0|e.length;a!==h;a++)for(var l=e[a],c=a+1;cthis.upperLimit&&(r.maxForce=0,r.minForce=-this.maxForce,this.distance=this.upperLimit,u=!0),this.lowerLimitEnabled&&this.positioni?(a.scale(n.normalA,l,-1),a.sub(n.contactPointA,c,o.position),a.sub(n.contactPointB,u,h.position),a.scale(f,l,i),a.add(n.contactPointA,n.contactPointA,f),-1===t.indexOf(n)&&t.push(n)):-1!==(b=t.indexOf(n))&&t.splice(b,1),this.lowerLimitEnabled&&va?(f.angle=a,-1===n.indexOf(f)&&n.push(f)):-1!==(y=n.indexOf(f))&&n.splice(y,1),this.lowerLimitEnabled&&m>1;if(e<3)return[];for(var i=[],n=[],r=0;r3;){var a=n[(r+0)%o],h=n[(r+1)%o],l=n[(r+2)%o],c=t[2*a],u=t[2*a+1],d=t[2*h],p=t[2*h+1],f=t[2*l],g=t[2*l+1],m=!1;if(s._convex(c,u,d,p,f,g)){m=!0;for(var y=0;y3*o)break}return i.push(n[0],n[1],n[2]),i},s._PointInTriangle=function(t,e,i,s,n,r,o,a){var h=o-i,l=a-s,c=n-i,u=r-s,d=t-i,p=e-s,f=h*h+l*l,g=h*c+l*u,m=h*d+l*p,y=c*c+u*u,v=c*d+u*p,x=1/(f*y-g*g),b=(y*m-g*v)*x,_=(f*v-g*m)*x;return b>=0&&_>=0&&b+_<1},s._convex=function(t,e,i,s,n,r){return(e-s)*(n-i)+(i-t)*(r-s)>=0},e.exports=s},{}],30:[function(t,e,i){var s=e.exports={},n=t("../utils/Utils");s.crossLength=function(t,e){return t[0]*e[1]-t[1]*e[0]},s.crossVZ=function(t,e,i){return s.rotate(t,e,-Math.PI/2),s.scale(t,t,i),t},s.crossZV=function(t,e,i){return s.rotate(t,i,Math.PI/2),s.scale(t,t,e),t},s.rotate=function(t,e,i){if(0!==i){var s=Math.cos(i),n=Math.sin(i),r=e[0],o=e[1];t[0]=s*r-n*o,t[1]=n*r+s*o}else t[0]=e[0],t[1]=e[1]},s.rotate90cw=function(t,e){var i=e[0],s=e[1];t[0]=s,t[1]=-i},s.toLocalFrame=function(t,e,i,n){s.copy(t,e),s.sub(t,t,i),s.rotate(t,t,-n)},s.toGlobalFrame=function(t,e,i,n){s.copy(t,e),s.rotate(t,t,n),s.add(t,t,i)},s.vectorToLocalFrame=function(t,e,i){s.rotate(t,e,-i)},s.vectorToGlobalFrame=function(t,e,i){s.rotate(t,e,i)},s.centroid=function(t,e,i,n){return s.add(t,e,i),s.add(t,t,n),s.scale(t,t,1/3),t},s.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},s.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},s.fromValues=function(t,e){var i=new n.ARRAY_TYPE(2);return i[0]=t,i[1]=e,i},s.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},s.set=function(t,e,i){return t[0]=e,t[1]=i,t},s.add=function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t},s.subtract=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t},s.sub=s.subtract,s.multiply=function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t},s.mul=s.multiply,s.divide=function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t},s.div=s.divide,s.scale=function(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t},s.distance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return Math.sqrt(i*i+s*s)},s.dist=s.distance,s.squaredDistance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return i*i+s*s},s.sqrDist=s.squaredDistance,s.length=function(t){var e=t[0],i=t[1];return Math.sqrt(e*e+i*i)},s.len=s.length,s.squaredLength=function(t){var e=t[0],i=t[1];return e*e+i*i},s.sqrLen=s.squaredLength,s.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},s.normalize=function(t,e){var i=e[0],s=e[1],n=i*i+s*s;return n>0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},s.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},s.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},s.lerp=function(t,e,i,s){var n=e[0],r=e[1];return t[0]=n+s*(i[0]-n),t[1]=r+s*(i[1]-r),t},s.reflect=function(t,e,i){var s=e[0]*i[0]+e[1]*i[1];t[0]=e[0]-2*i[0]*s,t[1]=e[1]-2*i[1]*s},s.getLineSegmentsIntersection=function(t,e,i,n,r){var o=s.getLineSegmentsIntersectionFraction(e,i,n,r);return!(o<0)&&(t[0]=e[0]+o*(i[0]-e[0]),t[1]=e[1]+o*(i[1]-e[1]),!0)},s.getLineSegmentsIntersectionFraction=function(t,e,i,s){var n,r,o=e[0]-t[0],a=e[1]-t[1],h=s[0]-i[0],l=s[1]-i[1];return n=(-a*(t[0]-i[0])+o*(t[1]-i[1]))/(-h*a+o*l),r=(h*(t[1]-i[1])-l*(t[0]-i[0]))/(-h*a+o*l),n>=0&&n<=1&&r>=0&&r<=1?r:-1}},{"../utils/Utils":57}],31:[function(t,e,i){function s(t){t=t||{},c.call(this),this.id=t.id||++s._idCounter,this.world=null,this.shapes=[],this.mass=t.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!t.fixedRotation,this.fixedX=!!t.fixedX,this.fixedY=!!t.fixedY,this.massMultiplier=n.create(),this.position=n.fromValues(0,0),t.position&&n.copy(this.position,t.position),this.interpolatedPosition=n.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=n.fromValues(0,0),this.previousAngle=0,this.velocity=n.fromValues(0,0),t.velocity&&n.copy(this.velocity,t.velocity),this.vlambda=n.fromValues(0,0),this.wlambda=0,this.angle=t.angle||0,this.angularVelocity=t.angularVelocity||0,this.force=n.create(),t.force&&n.copy(this.force,t.force),this.angularForce=t.angularForce||0,this.damping="number"==typeof t.damping?t.damping:.1,this.angularDamping="number"==typeof t.angularDamping?t.angularDamping:.1,this.type=s.STATIC,void 0!==t.type?this.type=t.type:t.mass?this.type=s.DYNAMIC:this.type=s.STATIC,this.boundingRadius=0,this.aabb=new l,this.aabbNeedsUpdate=!0,this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.wantsToSleep=!1,this.sleepState=s.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.gravityScale=void 0!==t.gravityScale?t.gravityScale:1,this.collisionResponse=void 0===t.collisionResponse||t.collisionResponse,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==t.ccdSpeedThreshold?t.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==t.ccdIterations?t.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var n=t("../math/vec2"),r=t("poly-decomp"),o=t("../shapes/Convex"),a=t("../collision/RaycastResult"),h=t("../collision/Ray"),l=t("../collision/AABB"),c=t("../events/EventEmitter");e.exports=s,s.prototype=new c,s.prototype.constructor=s,s._idCounter=0,s.prototype.updateSolveMassProperties=function(){this.sleepState===s.SLEEPING||this.type===s.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},s.prototype.setDensity=function(t){var e=this.getArea();this.mass=e*t,this.updateMassProperties()},s.prototype.getArea=function(){for(var t=0,e=0;ei&&(i=o+a)}this.boundingRadius=i},s.prototype.addShape=function(t,e,i){if(t.body)throw new Error("A shape can only be added to one body.");t.body=this,e?n.copy(t.position,e):n.set(t.position,0,0),t.angle=i||0,this.shapes.push(t),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0},s.prototype.removeShape=function(t){var e=this.shapes.indexOf(t);return-1!==e&&(this.shapes.splice(e,1),this.aabbNeedsUpdate=!0,t.body=null,!0)},s.prototype.updateMassProperties=function(){if(this.type===s.STATIC||this.type===s.KINEMATIC)this.mass=Number.MAX_VALUE,this.invMass=0,this.inertia=Number.MAX_VALUE,this.invInertia=0;else{var t=this.shapes,e=t.length,i=this.mass/e,r=0;if(this.fixedRotation)this.inertia=Number.MAX_VALUE,this.invInertia=0;else{for(var o=0;o0?1/r:0}this.invMass=1/this.mass,n.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};n.create();s.prototype.applyForce=function(t,e){if(n.add(this.force,this.force,t),e){var i=n.crossLength(e,t);this.angularForce+=i}};var p=n.create(),f=n.create(),g=n.create();s.prototype.applyForceLocal=function(t,e){e=e||g;var i=p,s=f;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyForce(i,s)};var m=n.create();s.prototype.applyImpulse=function(t,e){if(this.type===s.DYNAMIC){var i=m;if(n.scale(i,t,this.invMass),n.multiply(i,this.massMultiplier,i),n.add(this.velocity,i,this.velocity),e){var r=n.crossLength(e,t);r*=this.invInertia,this.angularVelocity+=r}}};var y=n.create(),v=n.create(),x=n.create();s.prototype.applyImpulseLocal=function(t,e){e=e||x;var i=y,s=v;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyImpulse(i,s)},s.prototype.toLocalFrame=function(t,e){n.toLocalFrame(t,e,this.position,this.angle)},s.prototype.toWorldFrame=function(t,e){n.toGlobalFrame(t,e,this.position,this.angle)},s.prototype.vectorToLocalFrame=function(t,e){n.vectorToLocalFrame(t,e,this.angle)},s.prototype.vectorToWorldFrame=function(t,e){n.vectorToGlobalFrame(t,e,this.angle)},s.prototype.fromPolygon=function(t,e){e=e||{};for(h=this.shapes.length;h>=0;--h)this.removeShape(this.shapes[h]);var i=new r.Polygon;if(i.vertices=t,i.makeCCW(),"number"==typeof e.removeCollinearPoints&&i.removeCollinearPoints(e.removeCollinearPoints),void 0===e.skipSimpleCheck&&!i.isSimple())return!1;this.concavePath=i.vertices.slice(0);for(h=0;h=Math.pow(this.sleepSpeedLimit,2)?(this.idleTime=0,this.sleepState=s.AWAKE):(this.idleTime+=i,this.sleepState=s.SLEEPY),this.idleTime>this.sleepTimeLimit&&(e?this.wantsToSleep=!0:this.sleep())}},s.prototype.overlaps=function(t){return this.world.overlapKeeper.bodiesAreOverlapping(this,t)};var T=n.create(),P=n.create();s.prototype.integrate=function(t){var e=this.invMass,i=this.force,s=this.position,r=this.velocity;n.copy(this.previousPosition,this.position),this.previousAngle=this.angle,this.fixedRotation||(this.angularVelocity+=this.angularForce*this.invInertia*t),n.scale(T,i,t*e),n.multiply(T,this.massMultiplier,T),n.add(r,T,r),this.integrateToTimeOfImpact(t)||(n.scale(P,r,t),n.add(s,s,P),this.fixedRotation||(this.angle+=this.angularVelocity*t)),this.aabbNeedsUpdate=!0};var C=new a,S=new h({mode:h.ALL}),A=n.create(),E=n.create(),M=n.create(),R=n.create();s.prototype.integrateToTimeOfImpact=function(t){if(this.ccdSpeedThreshold<0||n.squaredLength(this.velocity)=l&&h=0&&(r.rotate(p,u,s),r.scale(p,p,2*y-1),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}for(var x=Math.pow(this.radius,2)+Math.pow(m,2),y=0;y<2;y++){r.set(f,m*(2*y-1),0),r.toGlobalFrame(f,f,i,s);var b=Math.pow(o[0]-n[0],2)+Math.pow(o[1]-n[1],2),_=2*((o[0]-n[0])*(n[0]-f[0])+(o[1]-n[1])*(n[1]-f[1])),w=Math.pow(n[0]-f[0],2)+Math.pow(n[1]-f[1],2)-Math.pow(this.radius,2),T=Math.pow(_,2)-4*b*w;if(!(T<0))if(0===T){if(r.lerp(d,n,o,T),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}else{var P=Math.sqrt(T),C=1/(2*b),S=(-_-P)*C,A=(-_+P)*C;if(S>=0&&S<=1&&(r.lerp(d,n,o,S),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,S,p,-1),t.shouldStop(e))))return;if(A>=0&&A<=1&&(r.lerp(d,n,o,A),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,A,p,-1),t.shouldStop(e))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),t=t||{},this.radius=t.radius||1,t.type=n.CIRCLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){var e=this.radius;return t*e*e/2},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},s.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},s.prototype.computeAABB=function(t,e,i){var s=this.radius;r.set(t.upperBound,s,s),r.set(t.lowerBound,-s,-s),e&&(r.add(t.lowerBound,t.lowerBound,e),r.add(t.upperBound,t.upperBound,e))};var o=r.create(),a=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,h=e.to,l=this.radius,c=Math.pow(h[0]-n[0],2)+Math.pow(h[1]-n[1],2),u=2*((h[0]-n[0])*(n[0]-i[0])+(h[1]-n[1])*(n[1]-i[1])),d=Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2)-Math.pow(l,2),p=Math.pow(u,2)-4*c*d,f=o,g=a;if(!(p<0))if(0===p)r.lerp(f,n,h,p),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,p,g,-1);else{var m=Math.sqrt(p),y=1/(2*c),v=(-u-m)*y,x=(-u+m)*y;if(v>=0&&v<=1&&(r.lerp(f,n,h,v),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,v,g,-1),t.shouldStop(e)))return;x>=0&&x<=1&&(r.lerp(f,n,h,x),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,x,g,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(t,e,i){function s(t){Array.isArray(arguments[0])&&(t={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),t=t||{},this.vertices=[];for(var e=void 0!==t.vertices?t.vertices:[],i=0;in)&&(n=s),(null===o||sn){var l=o;o=n,n=l}r.set(e,o,n)},s.prototype.projectOntoWorldAxis=function(t,e,i,s){var n=h;this.projectOntoLocalAxis(t,s),0!==i?r.rotate(n,t,i):n=t;var o=r.dot(e,n);r.set(s,s[0]+o,s[1]+o)},s.prototype.updateTriangles=function(){this.triangles.length=0;for(var t=[],e=0;ee&&(e=s)}this.boundingRadius=Math.sqrt(e)},s.triangleArea=function(t,e,i){return.5*((e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1]))},s.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var t=this.triangles,e=this.vertices,i=0;i!==t.length;i++){var n=t[i],r=e[n[0]],o=e[n[1]],a=e[n[2]],h=s.triangleArea(r,o,a);this.area+=h}},s.prototype.computeAABB=function(t,e,i){t.setFromPoints(this.vertices,e,i,0)};var f=r.create(),g=r.create(),m=r.create();s.prototype.raycast=function(t,e,i,s){var n=f,o=g,a=m,h=this.vertices;r.toLocalFrame(n,e.from,i,s),r.toLocalFrame(o,e.to,i,s);for(var l=h.length,c=0;c=0&&(r.sub(a,d,u),r.rotate(a,a,-Math.PI/2+s),r.normalize(a,a),e.reportIntersection(t,p,a,c))}}},{"../math/polyk":29,"../math/vec2":30,"./Shape":45,"poly-decomp":5}],41:[function(t,e,i){function s(t){if(Array.isArray(arguments[0])){if(t={heights:arguments[0]},"object"==typeof arguments[1])for(var e in arguments[1])t[e]=arguments[1][e];console.warn("The Heightfield constructor signature has changed. Please use the following format: new Heightfield({ heights: [...], ... })")}t=t||{},this.heights=t.heights?t.heights.slice(0):[],this.maxValue=t.maxValue||null,this.minValue=t.minValue||null,this.elementWidth=t.elementWidth||.1,void 0!==t.maxValue&&void 0!==t.minValue||this.updateMaxMinValues(),t.type=n.HEIGHTFIELD,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.updateMaxMinValues=function(){for(var t=this.heights,e=t[0],i=t[0],s=0;s!==t.length;s++){var n=t[s];n>e&&(e=n),nv){var x=y;y=v,v=x}for(var b=0;b=0&&(r.sub(d,f,p),r.rotate(d,d,s+Math.PI/2),r.normalize(d,d),e.reportIntersection(t,_,d,-1),t.shouldStop(e)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),t=t||{},this.length=t.length||1,t.type=n.LINE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return t*Math.pow(this.length,2)/12},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var o=[r.create(),r.create()];s.prototype.computeAABB=function(t,e,i){var s=this.length/2;r.set(o[0],-s,0),r.set(o[1],s,0),t.setFromPoints(o,e,i,0)};r.create();var a=r.create(),h=r.create(),l=r.create(),c=r.fromValues(0,1);s.prototype.raycast=function(t,e,i,s){var n=e.from,o=e.to,u=h,d=l,p=this.length/2;r.set(u,-p,0),r.set(d,p,0),r.toGlobalFrame(u,u,i,s),r.toGlobalFrame(d,d,i,s);var f=r.getLineSegmentsIntersectionFraction(u,d,n,o);if(f>=0){var g=a;r.rotate(g,c,s),e.reportIntersection(t,f,g,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(t,e,i){function s(t){(t=t||{}).type=n.PARTICLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=0},s.prototype.computeAABB=function(t,e,i){r.copy(t.lowerBound,e),r.copy(t.upperBound,e)}},{"../math/vec2":30,"./Shape":45}],44:[function(t,e,i){function s(t){(t=t||{}).type=n.PLANE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},s.prototype.computeAABB=function(t,e,i){var s=i%(2*Math.PI),n=r.set,o=t.lowerBound,a=t.upperBound;n(o,-1e7,-1e7),n(a,1e7,1e7),0===s?a[1]=0:s===Math.PI/2?o[0]=0:s===Math.PI?o[1]=0:s===3*Math.PI/2&&(a[0]=0)},s.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var o=r.create(),a=(r.create(),r.create(),r.create()),h=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,l=e.to,c=e.direction,u=o,d=a,p=h;r.set(d,0,1),r.rotate(d,d,s),r.sub(p,n,i);var f=r.dot(p,d);if(r.sub(p,l,i),!(f*r.dot(p,d)>0||r.squaredDistance(n,l)p*a&&(g=p*a-u),r[t]+=g,e.addToWlambda(g),g}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(t,e,i){function s(t,e){t=t||{},n.call(this),this.type=e,this.equations=[],this.equationSortFunction=t.equationSortFunction||!1}t("../utils/Utils");var n=t("../events/EventEmitter");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.solve=function(t,e){throw new Error("Solver.solve should be implemented by subclasses!")};var r={bodies:[]};s.prototype.solveIsland=function(t,e){this.removeAllEquations(),e.equations.length&&(this.addEquations(e.equations),r.bodies.length=0,e.getBodies(r.bodies),r.bodies.length&&this.solve(t,r))},s.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},s.prototype.addEquation=function(t){t.enabled&&this.equations.push(t)},s.prototype.addEquations=function(t){for(var e=0,i=t.length;e!==i;e++){var s=t[e];s.enabled&&this.equations.push(s)}},s.prototype.removeEquation=function(t){var e=this.equations.indexOf(t);-1!==e&&this.equations.splice(e,1)},s.prototype.removeAllEquations=function(){this.equations.length=0},s.GS=1,s.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/ContactEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/FrictionEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/IslandNode"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/Island"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(t,e,i){function s(){this.overlappingShapesLastState=new n,this.overlappingShapesCurrentState=new n,this.recordPool=new r({size:16}),this.tmpDict=new n,this.tmpArray1=[]}var n=t("./TupleDictionary"),r=(t("./OverlapKeeperRecord"),t("./OverlapKeeperRecordPool"));t("./Utils");e.exports=s,s.prototype.tick=function(){for(var t=this.overlappingShapesLastState,e=this.overlappingShapesCurrentState,i=t.keys.length;i--;){var s=t.keys[i],n=t.getByKey(s);e.getByKey(s);n&&this.recordPool.release(n)}t.reset(),t.copy(e),e.reset()},s.prototype.setOverlapping=function(t,e,i,s){this.overlappingShapesLastState;var n=this.overlappingShapesCurrentState;if(!n.get(e.id,s.id)){var r=this.recordPool.get();r.set(t,e,i,s),n.set(e.id,s.id,r)}},s.prototype.getNewOverlaps=function(t){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,t)},s.prototype.getEndOverlaps=function(t){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,t)},s.prototype.bodiesAreOverlapping=function(t,e){for(var i=this.overlappingShapesCurrentState,s=i.keys.length;s--;){var n=i.keys[s],r=i.data[n];if(r.bodyA===t&&r.bodyB===e||r.bodyA===e&&r.bodyB===t)return!0}return!1},s.prototype.getDiff=function(t,e,i){var s=t,n=e;(i=i||[]).length=0;for(var r=n.keys.length;r--;){var o=n.keys[r],a=n.data[o];if(!a)throw new Error("Key "+o+" had no data!");s.data[o]||i.push(a)}return i},s.prototype.isNewOverlap=function(t,e){var i=0|t.id,s=0|e.id,n=this.overlappingShapesLastState,r=this.overlappingShapesCurrentState;return!n.get(i,s)&&!!r.get(i,s)},s.prototype.getNewBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getEndBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getBodyDiff=function(t,e){e=e||[];for(var i=this.tmpDict,s=t.length;s--;){var n=t[s];i.set(0|n.bodyA.id,0|n.bodyB.id,n)}for(s=i.keys.length;s--;)(n=i.getByKey(i.keys[s]))&&e.push(n.bodyA,n.bodyB);return i.reset(),e}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(t,e,i){function s(t,e,i,s){this.shapeA=e,this.shapeB=s,this.bodyA=t,this.bodyB=i}e.exports=s,s.prototype.set=function(t,e,i,n){s.call(this,t,e,i,n)}},{}],54:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("./OverlapKeeperRecord"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=t.shapeA=t.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(t,e,i){function s(t){t=t||{},this.objects=[],void 0!==t.size&&this.resize(t.size)}e.exports=s,s.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.length(0|e)?t<<16|65535&e:e<<16|65535&t)},s.prototype.getByKey=function(t){return t|=0,this.data[t]},s.prototype.get=function(t,e){return this.data[this.getKey(t,e)]},s.prototype.set=function(t,e,i){if(!i)throw new Error("No data!");var s=this.getKey(t,e);return this.data[s]||this.keys.push(s),this.data[s]=i,s},s.prototype.reset=function(){for(var t=this.data,e=this.keys,i=e.length;i--;)delete t[e[i]];e.length=0},s.prototype.copy=function(t){this.reset(),n.appendArray(this.keys,t.keys);for(var e=t.keys.length;e--;){var i=t.keys[e];this.data[i]=t.data[i]}}},{"./Utils":57}],57:[function(t,e,i){function s(){}e.exports=s,s.appendArray=function(t,e){if(e.length<15e4)t.push.apply(t,e);else for(var i=0,s=e.length;i!==s;++i)t.push(e[i])},s.splice=function(t,e,i){i=i||1;for(var s=e,n=t.length-i;s=t&&s=0;T-=2)for(S=b.length-2;S>=0;S-=2)(w[T]===b[S]&&w[T+1]===b[S+1]||w[T+1]===b[S]&&w[T]===b[S+1])&&b.splice(S,2);q=u.length;for(T=0;T!==q;T++){var C=u[T];if(!C.collideConnected)for(var S=b.length-2;S>=0;S-=2)(C.bodyA===b[S]&&C.bodyB===b[S+1]||C.bodyB===b[S]&&C.bodyA===b[S+1])&&b.splice(S,2)}this.postBroadphaseEvent.pairs=b,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,c.reset(this);for(var T=0,A=b.length;T!==A;T+=2)for(var E=b[T],M=b[T+1],R=0,L=E.shapes.length;R!==L;R++)for(var B=E.shapes[R],I=B.position,O=B.angle,k=0,F=M.shapes.length;k!==F;k++){var D=M.shapes[k],U=D.position,G=D.angle,N=this.defaultContactMaterial;if(B.material&&D.material){var X=this.getContactMaterial(B.material,D.material);X&&(N=X)}this.runNarrowphase(c,E,B,I,O,M,D,U,G,N,this.frictionGravity)}for(T=0;T!==h;T++)(H=n[T])._wakeUpAfterNarrowphase&&(H.wakeUp(),H._wakeUpAfterNarrowphase=!1);if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(P);for(var W=this.endContactEvent,k=P.length;k--;){var j=P[k];W.shapeA=j.shapeA,W.shapeB=j.shapeB,W.bodyA=j.bodyA,W.bodyB=j.bodyB,this.emit(W)}P.length=0}var V=this.preSolveEvent;V.contactEquations=c.contactEquations,V.frictionEquations=c.frictionEquations,this.emit(V),V.contactEquations=V.frictionEquations=null;var q=u.length;for(T=0;T!==q;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||q)if(this.islandSplit){for(g.equations.length=0,v.appendArray(g.equations,c.contactEquations),v.appendArray(g.equations,c.frictionEquations),T=0;T!==q;T++)v.appendArray(g.equations,u[T].equations);g.split(this);for(T=0;T!==g.islands.length;T++)(K=g.islands[T]).equations.length&&a.solveIsland(t,K)}else{for(a.addEquations(c.contactEquations),a.addEquations(c.frictionEquations),T=0;T!==q;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var H=n[T];H.integrate(t)}for(T=0;T!==h;T++)n[T].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var Y=this.impactEvent,T=0;T!==c.contactEquations.length;T++){var z=c.contactEquations[T];z.firstImpact&&(Y.bodyA=z.bodyA,Y.bodyB=z.bodyB,Y.shapeA=z.shapeA,Y.shapeB=z.shapeB,Y.contactEquation=z,this.emit(Y))}if(this.sleepMode===s.BODY_SLEEPING)for(T=0;T!==h;T++)n[T].sleepTick(this.time,!1,t);else if(this.sleepMode===s.ISLAND_SLEEPING&&this.islandSplit){for(T=0;T!==h;T++)n[T].sleepTick(this.time,!0,t);for(T=0;T0,t.frictionCoefficient=c.friction;var g;g=e.type===d.STATIC||e.type===d.KINEMATIC?o.mass:o.type===d.STATIC||o.type===d.KINEMATIC?e.mass:e.mass*o.mass/(e.mass+o.mass),t.slipForce=c.friction*u*g,t.restitution=c.restitution,t.surfaceVelocity=c.surfaceVelocity,t.frictionStiffness=c.frictionStiffness,t.frictionRelaxation=c.frictionRelaxation,t.stiffness=c.stiffness,t.relaxation=c.relaxation,t.contactSkinSize=c.contactSkinSize,t.enabledEquations=e.collisionResponse&&o.collisionResponse&&i.collisionResponse&&a.collisionResponse;var m=t[i.type|a.type],y=0;if(m){var v=i.sensor||a.sensor,x=t.frictionEquations.length;y=i.type=2*Math.pow(o.sleepSpeedLimit,2)&&(e._wakeUpAfterNarrowphase=!0),o.allowSleep&&o.type===d.DYNAMIC&&o.sleepState===d.SLEEPING&&e.sleepState===d.AWAKE&&e.type!==d.STATIC&&r.squaredLength(e.velocity)+Math.pow(e.angularVelocity,2)>=2*Math.pow(e.sleepSpeedLimit,2)&&(o._wakeUpAfterNarrowphase=!0),this.overlapKeeper.setOverlapping(e,i,o,a),this.has("beginContact")&&this.overlapKeeper.isNewOverlap(i,a)){var _=this.beginContactEvent;if(_.shapeA=i,_.shapeB=a,_.bodyA=e,_.bodyB=o,_.contactEquations.length=0,"number"==typeof y)for(P=t.contactEquations.length-y;P1)for(var P=t.frictionEquations.length-b;P=0;e--)this.removeConstraint(t[e]);for(var i=this.bodies,e=i.length-1;e>=0;e--)this.removeBody(i[e]);for(var n=this.springs,e=n.length-1;e>=0;e--)this.removeSpring(n[e]);for(var r=this.contactMaterials,e=r.length-1;e>=0;e--)this.removeContactMaterial(r[e]);s.apply(this)};var C=r.create(),S=(r.fromValues(0,0),r.fromValues(0,0));s.prototype.hitTest=function(t,e,i){i=i||0;var s=new d({position:t}),n=new c,u=t,p=C,f=S;s.addShape(n);for(var g=this.narrowphase,m=[],y=0,v=e.length;y!==v;y++)for(var x=e[y],b=0,_=x.shapes.length;b!==_;b++){var w=x.shapes[b];r.rotate(p,w.position,x.angle),r.add(p,p,x.position);var T=w.angle+x.angle;(w instanceof o&&g.circleParticle(x,w,p,T,s,n,u,0,!0)||w instanceof a&&g.particleConvex(s,n,u,0,x,w,p,T,!0)||w instanceof h&&g.particlePlane(s,n,u,0,x,w,p,T,!0)||w instanceof l&&g.particleCapsule(s,n,u,0,x,w,p,T,!0)||w instanceof c&&r.squaredLength(r.sub(f,p,t))0?Math.acos(i/u):-Math.acos(i/u),this.worldScale.x=u,this.worldScale.y=c/u}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=c/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?u:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,w=x.c,T=x.d,P=x.tx,C=x.ty,S=b*m+w*v+P,A=T*v+_*m+C,E=b*g+w*v+P,M=T*v+_*g+C,R=b*g+w*y+P,L=T*y+_*g+C,B=b*m+w*y+P,I=T*y+_*m+C;u=S,d=A,c=A,l=B<(l=R<(l=E<(l=S)?E:l)?R:l)?B:l,c=I<(c=L<(c=M(u=R>(u=E>u?E:u)?R:u)?B:u,d=I>(d=L>(d=M>d?M:d)?L:d)?I:d}if(f.x=l,f.y=c,f.width=u-l,f.height=d-c,e)for(t.worldTransform=r,n=0;n(f=T>(f=_>(f=x>f?x:f)?_:f)?T:f)?C:f,g=S>(g=P>(g=w>(g=b>g?b:g)?w:g)?P:g)?S:g}var A=this._bounds;return A.x=m,A.width=f-m,A.y=y,A.height=g-y,this._currentBounds=A,A},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,l,c,u,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(l=f.x-d*f.width)+i.crop.width,c=(u=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),l=i.frame.width*-d,c=i.frame.height*(1-p),u=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=(this.currentBatchSize,i.baseTexture.resolution),y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,b=o.c/m,_=o.d/m,w=o.tx,T=o.ty,P=(i.crop.width,i.crop.height);if(i.rotated){var C=o.a,S=o.b,A=o.c,E=o.d,M=l,R=h;w=o.c*P+w,T=o.d*P+T,v=6.123233995736766e-17*C-A,x=6.123233995736766e-17*S-E,b=C+6.123233995736766e-17*A,_=S+6.123233995736766e-17*E,i._updateUvsInverted(),h=c,l=u,c=R,u=M}var L=this.colors,B=this.positions,I=t.tint,O=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(B[g++]=v*l+b*u+w|0,B[g++]=_*u+x*l+T|0,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w|0,B[g++]=_*u+x*h+T|0,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w|0,B[g++]=_*c+x*h+T|0,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w|0,B[g++]=_*c+x*l+T|0,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y):(B[g++]=v*l+b*u+w,B[g++]=_*u+x*l+T,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w,B[g++]=_*u+x*h+T,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w,B[g++]=_*c+x*h+T,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w,B[g++]=_*c+x*l+T,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var l=t.tilePosition.x/(a*t.tileScaleOffset.x),c=t.tilePosition.y/(h*t.tileScaleOffset.y),u=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-l,o.y0=0-c,o.x1=1*u-l,o.y1=0-c,o.x2=1*u-l,o.y2=1*d-c,o.x3=0-l,o.y3=1*d-c;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,b=t.anchor.y,_=y*(1-x),w=y*-x,T=v*(1-b),P=v*-b,C=this.currentBatchSize*this.vertexSize,S=e.baseTexture.resolution,A=t.worldTransform,E=A.a/S,M=A.b/S,R=A.c/S,L=A.d/S,B=A.tx,I=A.ty;g[C++]=E*w+R*P+B,g[C++]=L*P+M*w+I,g[C++]=o.x0,g[C++]=o.y0,m[C++]=f,g[C++]=r,g[C++]=E*_+R*P+B,g[C++]=L*P+M*_+I,g[C++]=o.x1,g[C++]=o.y1,m[C++]=f,g[C++]=r,g[C++]=E*_+R*T+B,g[C++]=L*T+M*_+I,g[C++]=o.x2,g[C++]=o.y2,m[C++]=f,g[C++]=r,g[C++]=E*w+R*T+B,g[C++]=L*T+M*w+I,g[C++]=o.x3,g[C++]=o.y3,m[C++]=f,g[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,c=0,u=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(u,l,c),c=m,l=0,u=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(u,l,c),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}.call(this),function(){function t(t,e){this._scaleFactor=t,this._deltaMode=e,this.originalEvent=null}var e=this,i=i||{VERSION:"2.10.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if(Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,e,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=i.CIRCLE},i.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new i.Point);var e=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(e),o=n*Math.sin(e);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new i.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,e){var s=i.Math.distance(this.x,this.y,t.x,t.y);return e?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new i.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,e){return i.Circle.contains(this,t,e)},circumferencePoint:function(t,e,s){return i.Circle.circumferencePoint(this,t,e,s)},sample:function(t,e,s,n,r){t||(t=60),null==e&&(e=0),null==s&&(s=i.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(i.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(i.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(i.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(i.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(i.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),i.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},i.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},i.Circle.intersects=function(t,e){return i.Math.distance(t.x,t.y,e.x,e.y)<=t.radius+e.radius},i.Circle.circumferencePoint=function(t,e,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new i.Point),!0===s&&(e=i.Math.degToRad(e)),n.x=t.x+t.radius*Math.cos(e),n.y=t.y+t.radius*Math.sin(e),n},i.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},i.Circle.intersectsLine=function(t,e,s){var n=t.x,r=t.y,o=(e.end.y-e.start.y)/(e.end.x-e.start.x),a=e.end.y-o*e.end.x,h=t.radius,l=t.radius,c=a+o*n,u=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),p=o*u+a,f=o*d+a,g=new i.Point(u,p),m=new i.Point(d,f),y=e.pointOnSegment(g.x,g.y,.01),v=e.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=i.Circle,i.Ellipse=function(t,e,s,n){t=t||0,e=e||0,s=s||0,n=n||0,this.x=t,this.y=e,this.width=s,this.height=n,this.type=i.ELLIPSE},i.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new i.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new i.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,e){return i.Ellipse.contains(this,t,e)},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random()*Math.PI*2,s=Math.random();return t.x=Math.sqrt(s)*Math.cos(e),t.y=Math.sqrt(s)*Math.sin(e),t.x=this.x+t.x*this.width/2,t.y=this.y+t.y*this.height/2,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},i.Ellipse.prototype.constructor=i.Ellipse,Object.defineProperty(i.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(i.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new i.Point);var e=Math.random();return t.x=this.start.x+e*(this.end.x-this.start.x),t.y=this.start.y+e*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(c-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},i.Line.intersects=function(t,e,s,n){return i.Line.intersectsPoints(t.start,t.end,e.start,e.end,s,n)},i.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((c=s+(r-s)*(o-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(r-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(r-s))>=o&&c<=h)return!0}else if(s>l&&r<=l&&(c=i+(n-i)*(l-s)/(r-s))>=o&&c<=h)return!0;return!1},i.Line.intersectionWithRectangle=function(t,e,s){var n=i.Line.intersectionWithRectangle;s||(s=new i.Point),n.edges||(n.edges=[new i.Line,new i.Line,new i.Line,new i.Line]),n.edgeIntersection||(n.edgeIntersection=new i.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=e.x,h=e.y,l=e.right,c=e.bottom,u=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,c,l,c),r[2].setTo(a,h,a,c),r[3].setTo(l,h,l,c);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new i.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,e){return i.Point.distance(this,t,e)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,e){return i.Point.fuzzyEquals(this,t,e)},fuzzyEqualsXY:function(t,e,s){return i.Point.fuzzyEqualsXY(this,t,e,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,e,s){var n=Math.atan2(e-this.y,t-this.x);return s?i.Math.radToDeg(n):n},atan:function(t){var e=Math.atan2(this.y,this.x);return t?i.Math.radToDeg(e):e},rotate:function(t,e,s,n,r){return i.Point.rotate(this,t,e,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=i.Point,i.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=i.POLYGON},i.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(i.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(i.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(i.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(i.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(i.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(i.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(i.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(i.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(i.Rectangle.prototype,"topLeft",{get:function(){return new i.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"topRight",{get:function(){return new i.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(i.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),i.Rectangle.prototype.constructor=i.Rectangle,i.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},i.Rectangle.inflatePoint=function(t,e){return i.Rectangle.inflate(t,e.x,e.y)},i.Rectangle.size=function(t,e){return void 0===e||null===e?e=new i.Point(t.width,t.height):e.setTo(t.width,t.height),e},i.Rectangle.clone=function(t,e){return void 0===e||null===e?e=new i.Rectangle(t.x,t.y,t.width,t.height):e.setTo(t.x,t.y,t.width,t.height),e},i.Rectangle.createFromBounds=function(t,e){return void 0!==e&&null!==e||(e=new i.Rectangle(t.x,t.y,t.width,t.height)),e.copyFromBounds(t)},i.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},i.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},i.RoundedRectangle.prototype.constructor=i.RoundedRectangle,PIXI.RoundedRectangle=i.RoundedRectangle,i.Camera=function(t,e,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new i.Rectangle(s,n,r,o),this.bounds=new i.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new i.Point(1,1),this.onShakeComplete=new i.Signal,this.onFlashComplete=new i.Signal,this.onFadeComplete=new i.Signal,this.fx=null,this._targetPosition=new i.Point,this._edge=0,this._position=new i.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new i.Rectangle},i.Camera.FOLLOW_LOCKON=0,i.Camera.FOLLOW_PLATFORMER=1,i.Camera.FOLLOW_TOPDOWN=2,i.Camera.FOLLOW_TOPDOWN_TIGHT=3,i.Camera.SHAKE_BOTH=4,i.Camera.SHAKE_HORIZONTAL=5,i.Camera.SHAKE_VERTICAL=6,i.Camera.ENABLE_FX=!0,i.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,i.Graphics&&i.Camera.ENABLE_FX&&(this.fx=new i.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,e,s,n){void 0===e&&(e=i.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(e){case i.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new i.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case i.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new i.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case i.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,e,s,n,r){return void 0===t&&(t=.05),void 0===e&&(e=500),void 0===s&&(s=!0),void 0===n&&(n=i.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=e,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===i.Camera.SHAKE_BOTH||n===i.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},i.Camera.prototype.constructor=i.Camera,Object.defineProperty(i.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(i.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(i.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(i.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(i.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),i.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},i.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},i.State.prototype.constructor=i.State,i.StateManager=function(t,e){this.game=t,this.states={},this._pendingState=null,void 0!==e&&null!==e&&(this._pendingState=e),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new i.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},i.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,e,s){void 0===s&&(s=!1);var n;return e instanceof i.State?n=e:"object"==typeof e?(n=e).game=this.game:"function"==typeof e&&(n=new e(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===i.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},i.StateManager.prototype.constructor=i.StateManager,Object.defineProperty(i.StateManager.prototype,"created",{get:function(){return this._created}}),i.Signal=function(){},i.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,e,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==e)throw new Error("You cannot add"+(e?"":"Once")+"() then add"+(e?"Once":"")+"() the same listener without removing the relationship first.")}else o=new i.SignalBinding(this,t,e,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},i.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},i.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===e)return!1;for(var a=new i.Rectangle(0,0,s,n),h=t*s,l=e*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},i.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},i.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},i.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},i.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},i.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},i.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},i.Group.prototype.getByName=function(t){for(var e=0;e0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},i.Group.prototype.checkProperty=function(t,e,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=i.Utils.getProperty(t,e);return!(void 0===r&&n||r!==s)},i.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},i.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=0;o2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},i.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},i.Group.prototype.iterate=function(t,e,s,n,r,o){if(0===this.children.length){if(s===i.Group.RETURN_TOTAL)return 0;if(s===i.Group.RETURN_ALL)return[]}var a=0;if(s===i.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},i.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},i.Group.prototype.getClosestTo=function(t,e,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!e||e.call(s,h,r))&&(n=r,o=h)}return o},i.Group.prototype.count=function(t,e){return this.iterate(t,e,i.Group.RETURN_TOTAL)},i.Group.prototype.countLiving=function(){return this.count("alive",!0)},i.Group.prototype.countDead=function(){return this.count("alive",!1)},i.Group.prototype.getRandom=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this.children.length),0===e?null:i.ArrayUtils.getRandomItem(this.children,t,e)},i.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},i.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof i.Group){do{t.add(this.children[0],e)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},i.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},i.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},i.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},i.Group.prototype.shuffle=function(){i.ArrayUtils.shuffle(this.children),this.updateZ()},i.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(i.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,i.Group.RETURN_TOTAL)}}),Object.defineProperty(i.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(i.Group.prototype,"angle",{get:function(){return i.Math.radToDeg(this.rotation)},set:function(t){this.rotation=i.Math.degToRad(t)}}),Object.defineProperty(i.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(i.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(i.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(i.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(i.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(i.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),i.World=function(t){i.Group.call(this,t,null,"__world",!1),this.bounds=new i.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},i.World.prototype=Object.create(i.Group.prototype),i.World.prototype.constructor=i.World,i.World.prototype.boot=function(){this.camera=new i.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},i.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},i.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},i.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},i.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(i.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var e=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*e,this.time.elapsed),0);var i=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/e),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=e&&(this._deltaTime-=e,this.currentUpdateID=i,this.updateLogic(this.time.desiredFpsMult),i++,!this.forceSingleUpdate||1!==i);)this.time.refresh();i>this._lastCount?this._spiraling++:i0&&this.updateRender(this._deltaTime/e)}}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||(this.time.countRender(),this.state.preRender(t),this.renderType!==i.HEADLESS&&(this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t)),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy&&this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),i.Canvas.removeFromDOM(this.canvas),PIXI.defaultRenderer=null,i.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)}},i.Game.prototype.constructor=i.Game,Object.defineProperty(i.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),i.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=i.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new i.ArraySet,this._localPoint=new i.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},i.Input.MOUSE_OVERRIDES_TOUCH=0,i.Input.TOUCH_OVERRIDES_MOUSE=1,i.Input.MOUSE_TOUCH_COMBINE=2,i.Input.MAX_POINTERS=10,i.Input.prototype={boot:function(){this.mousePointer=new i.Pointer(this.game,0,i.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new i.Mouse(this.game),this.touch=new i.Touch(this.game),this.mspointer=new i.MSPointer(this.game),i.Keyboard&&(this.keyboard=new i.Keyboard(this.game)),i.Gamepad&&(this.gamepad=new i.Gamepad(this.game)),this.onDown=new i.Signal,this.onUp=new i.Signal,this.onTap=new i.Signal,this.onHold=new i.Signal,this.scale=new i.Point(1,1),this.speed=new i.Point,this.position=new i.Point,this._oldPosition=new i.Point,this.circle=new i.Circle(0,0,44),this.activePointer=this.mousePointer,this.hitCanvas=i.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.mouse.start(),this.game.device.mspointer||this.touch.start(),this.mspointer.start(),this.mousePointer.active=!0,this.keyboard&&this.keyboard.start();var t=this;this._onClickTrampoline=function(e){t.onClickTrampoline(e)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.touch.stop(),this.mspointer.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],i.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=i.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+i.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,e=new i.Pointer(this.game,t,i.PointerMode.CONTACT);return this.pointers.push(e),this["pointer"+t]=e,e},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+e.x=a&&this.game.camera.y+e.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},i.DeviceButton.prototype.constructor=i.DeviceButton,Object.defineProperty(i.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),i.Pointer=function(t,e,s){this.game=t,this.id=e,this.type=i.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||i.PointerMode.CURSOR|i.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new i.DeviceButton(this,i.Pointer.LEFT_BUTTON),this.middleButton=new i.DeviceButton(this,i.Pointer.MIDDLE_BUTTON),this.rightButton=new i.DeviceButton(this,i.Pointer.RIGHT_BUTTON),this.backButton=new i.DeviceButton(this,i.Pointer.BACK_BUTTON),this.forwardButton=new i.DeviceButton(this,i.Pointer.FORWARD_BUTTON),this.eraserButton=new i.DeviceButton(this,i.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===e,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new i.Point,this.positionDown=new i.Point,this.positionUp=new i.Point,this.circle=new i.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},i.Pointer.NO_BUTTON=0,i.Pointer.LEFT_BUTTON=1,i.Pointer.RIGHT_BUTTON=2,i.Pointer.MIDDLE_BUTTON=4,i.Pointer.BACK_BUTTON=8,i.Pointer.FORWARD_BUTTON=16,i.Pointer.ERASER_BUTTON=32,i.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.start(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.start(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.start(e),t===i.Mouse.BACK_BUTTON&&this.backButton.start(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.start(e)},processButtonsUp:function(t,e){t===i.Mouse.LEFT_BUTTON&&this.leftButton.stop(e),t===i.Mouse.RIGHT_BUTTON&&this.rightButton.stop(e),t===i.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(e),t===i.Mouse.BACK_BUTTON&&this.backButton.stop(e),t===i.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(e)},processButtonsUpDown:function(t,e){var s="down"===e.type.toLowerCase().substr(-4),n="move"===e.type.toLowerCase().substr(-4);void 0!==t?(s&&1===t&&e.ctrlKey&&(t=2),this.leftButton.startStop(i.Pointer.LEFT_BUTTON&t,e),this.rightButton.startStop(i.Pointer.RIGHT_BUTTON&t,e),this.middleButton.startStop(i.Pointer.MIDDLE_BUTTON&t,e),this.backButton.startStop(i.Pointer.BACK_BUTTON&t,e),this.forwardButton.startStop(i.Pointer.FORWARD_BUTTON&t,e),this.eraserButton.startStop(i.Pointer.ERASER_BUTTON&t,e)):void 0!==e.button?s&&e.ctrlKey&&0===e.button?this.rightButton.start(e):s?this.processButtonsDown(e.button,e):n||this.processButtonsUp(e.button,e):s?e.ctrlKey?this.rightButton.start(e):this.leftButton.start(e):(this.leftButton.stop(e),this.rightButton.stop(e))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var e=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.x=this.x,e.y=this.y,e.position.setTo(this.x,this.y),e.onDown.dispatch(this,t),e.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,e){var s=this.game.input;if(!s.pollLocked){void 0===e&&(e=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.mouse.locked&&!e&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,e);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(e):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var e=this.game.input;{if(!this._stateReset||!this.withinGame)return this.timeUp=this.game.time.time,(e.multiInputOverride===i.Input.MOUSE_OVERRIDES_TOUCH||e.multiInputOverride===i.Input.MOUSE_TOUCH_COMBINE||e.multiInputOverride===i.Input.TOUCH_OVERRIDES_MOUSE&&0===e.totalActivePointers)&&(e.onUp.dispatch(this,t),this.duration>=0&&this.duration<=e.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&e.currentPointers--,e.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this;t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=i.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var i=this.globalToLocal(t);if(this.sprite.fixedToCamera)var s=this.game.camera.scale.x*i.x+this._dragPoint.x+this.dragOffset.x,n=this.game.camera.scale.y*i.y+this._dragPoint.y+this.dragOffset.y;else var s=i.x+this._dragPoint.x+this.dragOffset.x,n=i.y+this._dragPoint.y+this.dragOffset.y;if(this.sprite.fixedToCamera)this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=s-this.game.camera.x),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=n-this.game.camera.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y));else{var r=this.game.camera.x-this._pointerData[t.id].camX,o=this.game.camera.y-this._pointerData[t.id].camY;this.allowHorizontalDrag&&(this.sprite.x=s+r),this.allowVerticalDrag&&(this.sprite.y=n+o),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))}return this.sprite.events.onDragUpdate.dispatch(this.sprite,t,s,n,this.snapPoint,e),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},i.InputHandler.prototype.constructor=i.InputHandler,i.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this),new i.SinglePad(t,this)]},i.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var e=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},i.Component.InCamera=function(){},i.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},i.Component.InputEnabled=function(){},i.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new i.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},i.Component.InWorld=function(){},i.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},i.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},i.Component.LifeSpan=function(){},i.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},i.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},i.Component.LoadTexture=function(){},i.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,e,s){t===i.PENDING_ATLAS?(t=e,e=0):e=e||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=!this.texture.baseTexture.scaleMode;if(i.RenderTexture&&t instanceof i.RenderTexture)this.key=t.key,this.setTexture(t);else if(i.BitmapData&&t instanceof i.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,i.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,i.Cache.BITMAPDATA),e):!this.animations.loadFrameData(t.frameData,0);else if(i.Video&&t instanceof i.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(i.Tilemap&&t instanceof i.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,e)}r&&(this._frame=i.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},i.Component.Overlap=function(){},i.Component.Overlap.prototype={overlap:function(t){return i.Rectangle.intersects(this.getBounds(),t.getBounds())}},i.Component.PhysicsBody=function(){},i.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},i.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},i.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},i.Component.Reset=function(){},i.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},i.Component.ScaleMinMax=function(){},i.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,e,s,n){void 0===e?e=s=n=t:void 0===s&&(s=n=e,e=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,e):this.scaleMin=new i.Point(t,e),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new i.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},i.Component.Smoothed=function(){},i.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},i.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},i.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,e,s,n,r){var o=this.game.plugins.add(i.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,e,s,n),o},image:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Image(this.game,t,e,s,n))},sprite:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Sprite(this.game,t,e,s,n))},creature:function(t,e,s,n,r){void 0===r&&(r=this.world);var o=new i.Creature(this.game,t,e,s,n);return r.add(o),o},tween:function(t){return this.game.tweens.create(t)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},physicsGroup:function(t,e,s,n){return new i.Group(this.game,e,s,n,!0,t)},spriteBatch:function(t,e,s){return void 0===t&&(t=null),void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,e,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new i.TileSprite(this.game,t,e,s,n,r,o))},rope:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.Rope(this.game,t,e,s,n,r))},text:function(t,e,s,n,r){return void 0===r&&(r=this.world),r.add(new i.Text(this.game,t,e,s,n))},button:function(t,e,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new i.Button(this.game,t,e,s,n,r,o,a,h,l))},graphics:function(t,e,s){return void 0===s&&(s=this.world),s.add(new i.Graphics(this.game,t,e))},emitter:function(t,e,s){return this.game.particles.add(new i.Particles.Arcade.Emitter(this.game,t,e,s))},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return void 0===o&&(o=this.world),o.add(new i.BitmapText(this.game,t,e,s,n,r))},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,e){return new i.Video(this.game,t,e)},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t},plugin:function(t){return this.game.plugins.add(t)}},i.GameObjectFactory.prototype.constructor=i.GameObjectFactory,i.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},i.GameObjectCreator.prototype={image:function(t,e,s,n){return new i.Image(this.game,t,e,s,n)},sprite:function(t,e,s,n){return new i.Sprite(this.game,t,e,s,n)},tween:function(t){return new i.Tween(t,this.game,this.game.tweens)},group:function(t,e,s,n,r){return new i.Group(this.game,t,e,s,n,r)},spriteBatch:function(t,e,s){return void 0===e&&(e="group"),void 0===s&&(s=!1),new i.SpriteBatch(this.game,t,e,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,e,s,n,r,o){return new i.TileSprite(this.game,t,e,s,n,r,o)},rope:function(t,e,s,n,r){return new i.Rope(this.game,t,e,s,n,r)},text:function(t,e,s,n){return new i.Text(this.game,t,e,s,n)},button:function(t,e,s,n,r,o,a,h,l){return new i.Button(this.game,t,e,s,n,r,o,a,h,l)},graphics:function(t,e){return new i.Graphics(this.game,t,e)},emitter:function(t,e,s){return new i.Particles.Arcade.Emitter(this.game,t,e,s)},retroFont:function(t,e,s,n,r,o,a,h,l){return new i.RetroFont(this.game,t,e,s,n,r,o,a,h,l)},bitmapText:function(t,e,s,n,r,o){return new i.BitmapText(this.game,t,e,s,n,r,o)},tilemap:function(t,e,s,n,r){return new i.Tilemap(this.game,t,e,s,n,r)},renderTexture:function(t,e,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new i.RenderTexture(this.game,t,e,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,e,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new i.BitmapData(this.game,s,t,e);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var e=Array.prototype.slice.call(arguments,1);return(t=new i.Filter[t](this.game)).init.apply(t,e),t}},i.GameObjectCreator.prototype.constructor=i.GameObjectCreator,i.Sprite=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.SPRITE,this.physicsType=i.SPRITE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Sprite.prototype=Object.create(PIXI.Sprite.prototype),i.Sprite.prototype.constructor=i.Sprite,i.Component.Core.install.call(i.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Sprite.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Sprite.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Sprite.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Sprite.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Image=function(t,e,s,n,r){e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.IMAGE,PIXI.Sprite.call(this,i.Cache.DEFAULT),i.Component.Core.init.call(this,t,e,s,n,r)},i.Image.prototype=Object.create(PIXI.Sprite.prototype),i.Image.prototype.constructor=i.Image,i.Component.Core.install.call(i.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),i.Image.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Image.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Image.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},i.Button=function(t,e,s,n,r,o,a,h,l,c){e=e||0,s=s||0,n=n||null,r=r||null,o=o||this,i.Image.call(this,t,e,s,n,h),this.type=i.BUTTON,this.physicsType=i.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new i.Signal,this.onInputOut=new i.Signal,this.onInputDown=new i.Signal,this.onInputUp=new i.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=i.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},i.Button.prototype=Object.create(i.Image.prototype),i.Button.prototype.constructor=i.Button;return i.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},i.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},i.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},i.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},i.Button.prototype.setStateSound=function(t,e,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";e instanceof i.Sound||e instanceof i.AudioSprite?(this[n]=e,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},i.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},i.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},i.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},i.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},i.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},i.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},i.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},i.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},i.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},i.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},i.SpriteBatch=function(t,e,s,n){void 0!==e&&null!==e||(e=t.world),i.Group.call(this,t,e,s,n),this.type=i.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},i.SpriteBatch.prototype=Object.create(i.Group.prototype),i.SpriteBatch.prototype.constructor=i.SpriteBatch,i.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},i.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&e>=0&&e<=this.height&&(i.Device.LITTLE_ENDIAN?this.pixels[e*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[e*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,e,s){s||(s=i.Color.createColor());var n=~~(t+e*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,e,s,n,r){return i.Color.unpackPixel(this.getPixel32(t,e),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var e=i.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{i.Color.unpackPixel(this.getPixel32(s,n),e),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===e.a&&!o);return e.x=s,e.y=n,e},getBounds:function(t){return void 0===t&&(t=new i.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,e,s,n,r,o,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof i.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof i.Sprite||t instanceof i.Image||t instanceof i.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof i.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==e&&null!==e||(e=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=e),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+e,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyTransform:function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof i.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,e&&(this.op=e),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,e,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,e,s),t.type===i.GROUP&&t.exists)this.drawGroup(t,e,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ne.width&&(n=e.width);var r=this.context;return r.fillStyle=r.createPattern(e,s),this._circle=new i.Circle(t.start.x,t.start.y,e.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,e.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),i.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var g=s;gc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return i.EarCut.earcutLinked(o,a,s,h,l,f),a},i.EarCut.linkedList=function(t,e,s,n,r){var o,a,h,l=0;for(o=e,a=s-n;o0)for(o=e;o=e;o-=n)h=i.EarCut.insertNode(o,t[o],t[o+1],h);return h},i.EarCut.filterPoints=function(t,e){if(!t)return t;e||(e=t);var s,n=t;do{if(s=!1,n.steiner||!i.EarCut.equals(n,n.next)&&0!==i.EarCut.area(n.prev,n,n.next))n=n.next;else{if(i.EarCut.removeNode(n),(n=e=n.prev)===n.next)return null;s=!0}}while(s||n!==e);return e},i.EarCut.earcutLinked=function(t,e,s,n,r,o,a){if(t){!a&&o&&i.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?i.EarCut.isEarHashed(t,n,r,o):i.EarCut.isEar(t))e.push(h.i/s),e.push(t.i/s),e.push(l.i/s),i.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=i.EarCut.cureLocalIntersections(t,e,s),i.EarCut.earcutLinked(t,e,s,n,r,o,2)):2===a&&i.EarCut.splitEarcut(t,e,s,n,r,o):i.EarCut.earcutLinked(i.EarCut.filterPoints(t),e,s,n,r,o,1);break}}},i.EarCut.isEar=function(t){var e=t.prev,s=t,n=t.next;if(i.EarCut.area(e,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(i.EarCut.pointInTriangle(e.x,e.y,s.x,s.y,n.x,n.y,r.x,r.y)&&i.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},i.EarCut.isEarHashed=function(t,e,s,n){var r=t.prev,o=t,a=t.next;if(i.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,u=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=i.EarCut.zOrder(h,l,e,s,n),p=i.EarCut.zOrder(c,u,e,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&i.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&i.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},i.EarCut.cureLocalIntersections=function(t,e,s){var n=t;do{var r=n.prev,o=n.next.next;i.EarCut.intersects(r,n,n.next,o)&&i.EarCut.locallyInside(r,o)&&i.EarCut.locallyInside(o,r)&&(e.push(r.i/s),e.push(n.i/s),e.push(o.i/s),i.EarCut.removeNode(n),i.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},i.EarCut.splitEarcut=function(t,e,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&i.EarCut.isValidDiagonal(a,h)){var l=i.EarCut.splitPolygon(a,h);return a=i.EarCut.filterPoints(a,a.next),l=i.EarCut.filterPoints(l,l.next),i.EarCut.earcutLinked(a,e,s,n,r,o),void i.EarCut.earcutLinked(l,e,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},i.EarCut.eliminateHoles=function(t,e,s,n){var r,o,a,h,l,c=[];for(r=0,o=e.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&i.EarCut.pointInTriangle(os.x)&&i.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},i.EarCut.indexCurve=function(t,e,s,n){var r=t;do{null===r.z&&(r.z=i.EarCut.zOrder(r.x,r.y,e,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,i.EarCut.sortLinked(r)},i.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},i.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},i.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},i.EarCut.isValidDiagonal=function(t,e){return i.EarCut.equals(t,e)||t.next.i!==e.i&&t.prev.i!==e.i&&!i.EarCut.intersectsPolygon(t,e)&&i.EarCut.locallyInside(t,e)&&i.EarCut.locallyInside(e,t)&&i.EarCut.middleInside(t,e)},i.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},i.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},i.EarCut.intersects=function(t,e,s,n){return i.EarCut.area(t,e,s)>0!=i.EarCut.area(t,e,n)>0&&i.EarCut.area(s,n,t)>0!=i.EarCut.area(s,n,e)>0},i.EarCut.intersectsPolygon=function(t,e){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==e.i&&s.next.i!==e.i&&i.EarCut.intersects(s,s.next,t,e))return!0;s=s.next}while(s!==t);return!1},i.EarCut.locallyInside=function(t,e){return i.EarCut.area(t.prev,t,t.next)<0?i.EarCut.area(t,e,t.next)>=0&&i.EarCut.area(t,t.prev,e)>=0:i.EarCut.area(t,e,t.prev)<0||i.EarCut.area(t,t.next,e)<0},i.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},i.EarCut.splitPolygon=function(t,e){var s=new i.EarCut.Node(t.i,t.x,t.y),n=new i.EarCut.Node(e.i,e.x,e.y),r=t.next,o=e.prev;return t.next=e,e.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},i.EarCut.insertNode=function(t,e,s,n){var r=new i.EarCut.Node(t,e,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},i.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},i.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,e){var s,n=e.gl,r=e.projection,o=e.offset,a=e.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===i.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===i.CIRCLE||a.type===i.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===i.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=R=Math.sqrt(_*_+w*w),w/=R,_*=F,w*=F,L.push(p-_,f-w),L.push(G,N,X,U),L.push(p+_,f+w),L.push(G,N,X,U),L.push(p-_,f-w),L.push(G,N,X,U),O++):(L.push(l,c),L.push(G,N,X,U),L.push(p-(l-p),f-(c-f)),L.push(G,N,X,U));for(u=n[2*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=u-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),B.push(k),s=0;sh?r:h,l=oc?o:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,e.beginPath(),e.moveTo(_,w+C),e.lineTo(_,w+P-C),e.quadraticCurveTo(_,w+P,_+C,w+P),e.lineTo(_+T-C,w+P),e.quadraticCurveTo(_+T,w+P,_+T,w+P-C),e.lineTo(_+T,w+C),e.quadraticCurveTo(_+T,w,_+T-C,w),e.lineTo(_+C,w),e.quadraticCurveTo(_,w,_,w+C),e.closePath(),(r.fillColor||0===r.fillColor)&&(e.globalAlpha=r.fillAlpha*s,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),r.lineWidth&&(e.globalAlpha=r.lineAlpha*s,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,e){var s=t.graphicsData.length;if(0!==s){e.beginPath();for(var n=0;nP?P:T,e.moveTo(x,b+T),e.lineTo(x,b+w-T),e.quadraticCurveTo(x,b+w,x+T,b+w),e.lineTo(x+_-T,b+w),e.quadraticCurveTo(x+_,b+w,x+_,b+w-T),e.lineTo(x+_,b+T),e.quadraticCurveTo(x+_,b,x+_-T,b),e.lineTo(x+T,b),e.quadraticCurveTo(x,b,x,b+T),e.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},i.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},i.GraphicsData.prototype.constructor=i.GraphicsData,i.GraphicsData.prototype.clone=function(){return new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},i.Graphics=function(t,e,s){void 0===e&&(e=0),void 0===s&&(s=0),this.type=i.GRAPHICS,this.physicsType=i.SPRITE,this.anchor=new i.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new i.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,i.Component.Core.init.call(this,t,e,s,"",null)},i.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Graphics.prototype.constructor=i.Graphics,i.Component.Core.install.call(i.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),i.Graphics.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Graphics.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Graphics.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Graphics.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Graphics.prototype.postUpdate=function(){i.Component.PhysicsBody.postUpdate.call(this),i.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},i.Graphics.prototype.drawTriangles=function(t,e,s){void 0===s&&(s=!1);var n,r=new i.Point,o=new i.Point,a=new i.Point,h=[];if(e)if(t[0]instanceof i.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},i.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.Graphics.prototype.drawRect=function(t,e,s,n){return this.drawShape(new i.Rectangle(t,e,s,n)),this},i.Graphics.prototype.drawRoundedRect=function(t,e,s,n,r){return this.drawShape(new i.RoundedRectangle(t,e,s,n,r)),this},i.Graphics.prototype.drawCircle=function(t,e,s){return this.drawShape(new i.Circle(t,e,s)),this},i.Graphics.prototype.drawEllipse=function(t,e,s,n){return this.drawShape(new i.Ellipse(t,e,s,n)),this},i.Graphics.prototype.drawPolygon=function(t){t instanceof i.Polygon&&(t=t.points);var e=t;if(!Array.isArray(e)){e=new Array(arguments.length);for(var s=0;sw?m:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},i.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=i.identityMatrix;for(var e=0;ee?a+l:e,s=hn?h+c:n;else if(p===i.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else if(p===i.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-le?a+l:e,s=h-cn?h+c:n;else{o=r.points;for(var g=0;ge?a+f:e,s=h-fn?h+f:n}}else t=0,e=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},i.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof i.Polygon&&(t=t.clone()).flatten();var e=new i.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===i.POLYGON&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,this._boundsDirty=!0,e},Object.defineProperty(i.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),i.RenderTexture=function(t,e,s,n,r,o,a,h){if(void 0===e&&(e=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=i.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=i.RENDERTEXTURE,this._tempMatrix=new i.Matrix,this.width=e,this.height=s,this.resolution=o,this.frame=new i.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===i.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new i.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new i.Matrix,this._updateUvs()},i.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),i.RenderTexture.prototype.constructor=i.RenderTexture,i.RenderTexture.prototype.renderXY=function(t,e,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=e,this._tempMatrix.ty=s,this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.renderRawXY=function(t,e,s,n){this._tempMatrix.identity().translate(e,s),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},i.RenderTexture.prototype.render=function(t,e,s){void 0===e||null===e?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(e),this.renderer.type===i.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},i.RenderTexture.prototype.resize=function(t,e,s){t===this.width&&e===this.height||(this.valid=t>0&&e>0,this.width=t,this.height=e,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=e*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===i.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},i.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===i.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},i.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},i.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},i.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},i.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},i.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},i.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},i.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},i.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},i.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},i.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},i.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===u){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);c[u]=m,h+=g}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},i.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},i.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},i.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.Text.prototype.determineFontProperties=function(t){var e=i.Text.fontPropertiesCache[t];if(!e){e={};var s=i.Text.fontPropertiesCanvas,n=i.Text.fontPropertiesContext;n.font=t;var r=Math.ceil(n.measureText("|MÉq").width),o=Math.ceil(n.measureText("|MÉq").width),a=2*o;if(o=1.4*o|0,s.width=r,s.height=a,n.fillStyle="#f00",n.fillRect(0,0,r,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o),!n.getImageData(0,0,r,a))return e.ascent=o,e.descent=o+6,e.fontSize=e.ascent+e.descent,i.Text.fontPropertiesCache[t]=e,e;var h,l,c=n.getImageData(0,0,r,a).data,u=c.length,d=4*r,p=0,f=!1;for(h=0;ho;h--){for(l=0;l0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:!1,chars:l};n+=(p.xAdvance+g)*e,l.push(s+(p.xOffset+g)*e),s+=(p.xAdvance+g)*e,a=d}return{width:n,text:i,end:u,chars:l}},i.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(i.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),i.RetroFont=function(t,e,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(e))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(e).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(e),this._text="",this.grabData=[],this.frameData=new i.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",i.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",i.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",i.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",i.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",i.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",i.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",i.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",i.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",i.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},i.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},i.RetroFont.prototype.buildRetroFontText=function(){var t=0,e=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===i.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===i.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},i.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},i.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},i.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},i.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(i.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(i.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),i.Rope=function(t,e,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,e=e||0,s=s||0,n=n||null,r=r||null,this.type=i.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=i.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=i.Rope.TRIANGLE_STRIP,i.Component.Core.init.call(this,t,e,s,n,r),this.refresh()},i.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),i.Rope.prototype.constructor=i.Rope,i.Component.Core.install.call(i.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),i.Rope.prototype.preUpdatePhysics=i.Component.PhysicsBody.preUpdate,i.Rope.prototype.preUpdateLifeSpan=i.Component.LifeSpan.preUpdate,i.Rope.prototype.preUpdateInWorld=i.Component.InWorld.preUpdate,i.Rope.prototype.preUpdateCore=i.Component.Core.preUpdate,i.Rope.TRIANGLE_STRIP=0,i.Rope.TRIANGLES=1,i.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},i.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},i.Rope.prototype.reset=function(t,e){return i.Component.Reset.prototype.reset.call(this,t,e),this},i.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2,e[0]=0,e[1]=0,e[2]=0,e[3]=1,s[0]=1,s[1]=1,i[0]=0,i[1]=1;for(var n,r,o=t.length,a=1;a1&&1,o=Math.sqrt(s.x*s.x+s.y*s.y),a=this.texture.height/2,s.x/=o,s.y/=o,s.x*=a,s.y*=a,h[r]=n.x+s.x,h[r+1]=n.y+s.y,h[r+2]=n.x-s.x,h[r+3]=n.y-s.y,i=n;PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},i.Rope.prototype.setTexture=function(t){this.texture=t},i.Rope.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.Rope.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.Rope.prototype._renderStrip=function(t){var e=t.gl,s=t.projection,n=t.offset,r=t.shaderManager.stripShader,o=this.drawMode===i.Rope.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(r.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(r.projectionVector,s.x,-s.y),e.uniform2f(r.offsetVector,-n.x,-n.y),e.uniform1f(r.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(r.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(r.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.renderer.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.Rope.prototype._renderCanvas=function(t){var e=t.context,s=this.worldTransform,n=s.tx*t.resolution+t.shakeX,r=s.ty*t.resolution+t.shakeY;t.roundPixels?e.setTransform(s.a,s.b,s.c,s.d,0|n,0|r):e.setTransform(s.a,s.b,s.c,s.d,n,r),this.drawMode===i.Rope.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.Rope.prototype._renderCanvasTriangleStrip=function(t){var e=this.vertices,i=this.uvs,s=e.length/2;this.count++;for(var n=0;n0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var E=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*u+c*b-x*u-v*c-l*b,R=g*c+l*y+m*u-c*y-l*m-g*u,L=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,B=d*x+v*f+p*b-x*f-v*p-d*b,I=g*p+d*y+m*f-p*y-d*m-g*f,O=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/E,B/E,R/E,I/E,L/E,O/E),t.drawImage(o,0,0),t.restore()},i.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nh?m:h,l=y>l?y:l}if(c===-1/0||l===1/0)return PIXI.EmptyRectangle;var v=this._bounds;return v.x=c,v.width=h-c,v.y=u,v.height=l-u,this._currentBounds=v,v},Object.defineProperty(i.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(i.Rope.prototype,"segments",{get:function(){for(var t,e,s,n,r,o,a,h,l=[],c=0;c(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,w=b>(w=v>(w=m>(w=f>w?f:w)?m:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(i.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(i.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),i.CanvasPool={create:function(t,e,s){var n,r=i.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};i.CanvasPool.pool.push(o),n=o.canvas}else i.CanvasPool.pool[r].parent=t,n=i.CanvasPool.pool[r].canvas;return void 0!==e&&(n.width=e,n.height=s),n},getFirst:function(){for(var t=i.CanvasPool.pool,e=0;e=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{!!t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&e(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=i.CanvasPool.create(this,6,1),e=t.getContext("2d");e.fillStyle="rgba(10, 20, 30, 0.5)",e.fillRect(0,0,1,1);var n=e.getImageData(0,0,1,1);if(n){e.putImageData(n,1,0);var r=e.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}e.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===e.globalCompositeOperation,i.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},i.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},i.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},i.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},i.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},i.Canvas={create:function(t,e,s,n,r){e=e||256,s=s||256;var o=r?document.createElement("canvas"):i.CanvasPool.create(t,e,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=e,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,e){var s=i.Canvas.getSmoothingPrefix(t);return s&&(t[s]=e),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var e=i.Canvas.getSmoothingPrefix(t);if(e)return t[e]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=i.Math.PI2-s?t=e:(Math.abs(e-t)>Math.PI&&(et?t+=s:e=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},i.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},i.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},i.RandomDataGenerator.prototype.constructor=i.RandomDataGenerator,i.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},i.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new i.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new i.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new i.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new i.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof i.Rectangle)var e=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var e=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(e=-1!==s?e.concat(this.nodes[s].retrieve(t)):(e=(e=(e=e.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),e},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},i.QuadTree.prototype.constructor=i.QuadTree,i.Net=function(t){this.game=t},i.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},i.Net.prototype.constructor=i.Net,i.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:i.Easing.Power0,Power1:i.Easing.Power1,Power2:i.Easing.Power2,Power3:i.Easing.Power3,Power4:i.Easing.Power4,Linear:i.Easing.Linear.None,Quad:i.Easing.Quadratic.Out,Cubic:i.Easing.Cubic.Out,Quart:i.Easing.Quartic.Out,Quint:i.Easing.Quintic.Out,Sine:i.Easing.Sinusoidal.Out,Expo:i.Easing.Exponential.Out,Circ:i.Easing.Circular.Out,Elastic:i.Easing.Elastic.Out,Back:i.Easing.Back.Out,Bounce:i.Easing.Bounce.Out,"Quad.easeIn":i.Easing.Quadratic.In,"Cubic.easeIn":i.Easing.Cubic.In,"Quart.easeIn":i.Easing.Quartic.In,"Quint.easeIn":i.Easing.Quintic.In,"Sine.easeIn":i.Easing.Sinusoidal.In,"Expo.easeIn":i.Easing.Exponential.In,"Circ.easeIn":i.Easing.Circular.In,"Elastic.easeIn":i.Easing.Elastic.In,"Back.easeIn":i.Easing.Back.In,"Bounce.easeIn":i.Easing.Bounce.In,"Quad.easeOut":i.Easing.Quadratic.Out,"Cubic.easeOut":i.Easing.Cubic.Out,"Quart.easeOut":i.Easing.Quartic.Out,"Quint.easeOut":i.Easing.Quintic.Out,"Sine.easeOut":i.Easing.Sinusoidal.Out,"Expo.easeOut":i.Easing.Exponential.Out,"Circ.easeOut":i.Easing.Circular.Out,"Elastic.easeOut":i.Easing.Elastic.Out,"Back.easeOut":i.Easing.Back.Out,"Bounce.easeOut":i.Easing.Bounce.Out,"Quad.easeInOut":i.Easing.Quadratic.InOut,"Cubic.easeInOut":i.Easing.Cubic.InOut,"Quart.easeInOut":i.Easing.Quartic.InOut,"Quint.easeInOut":i.Easing.Quintic.InOut,"Sine.easeInOut":i.Easing.Sinusoidal.InOut,"Expo.easeInOut":i.Easing.Exponential.InOut,"Circ.easeInOut":i.Easing.Circular.InOut,"Elastic.easeInOut":i.Easing.Elastic.InOut,"Back.easeInOut":i.Easing.Back.InOut,"Bounce.easeInOut":i.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},i.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)}},i.TweenManager.prototype.constructor=i.TweenManager,i.Tween=function(t,e,s){this.game=e,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new i.Signal,this.onLoop=new i.Signal,this.onRepeat=new i.Signal,this.onChildComplete=new i.Signal,this.onComplete=new i.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},i.Tween.updateColor=function(t){i.Color.updateColor(t.target)},i.Tween.prototype={to:function(t,e,s,n,r,o,a){return(void 0===e||e<=0)&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).to(t,e,s,r,o,a)),n&&this.start(),this)},from:function(t,e,s,n,r,o,a){return void 0===e&&(e=1e3),void 0!==s&&null!==s||(s=i.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new i.TweenData(this).from(t,e,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t],10)),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return i.TweenData.PENDING;this.isRunning=!0}var e=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=e*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=e*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():i.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,i.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return i.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,i.TweenData.LOOPED}},i.TweenData.prototype.constructor=i.TweenData,i.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},Out:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},InOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-i.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*i.Easing.Bounce.In(2*t):.5*i.Easing.Bounce.Out(2*t-1)+.5}}},i.Easing.Default=i.Easing.Linear.None,i.Easing.Power0=i.Easing.Linear.None,i.Easing.Power1=i.Easing.Quadratic.Out,i.Easing.Power2=i.Easing.Cubic.Out,i.Easing.Power3=i.Easing.Quartic.Out,i.Easing.Power4=i.Easing.Quintic.Out,i.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new i.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},i.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var e=new i.Timer(this.game,t);return this._timers.push(e),e},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(i.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),i.Time.prototype.constructor=i.Time,i.Timer=function(t,e){void 0===e&&(e=!0),this.game=t,this.running=!1,this.autoDestroy=e,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new i.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},i.Timer.MINUTE=6e4,i.Timer.SECOND=1e3,i.Timer.HALF=500,i.Timer.QUARTER=250,i.Timer.prototype={create:function(t,e,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new i.TimerEvent(this,t,a,s,e,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(i.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(i.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(i.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),i.Timer.prototype.constructor=i.Timer,i.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},i.TimerEvent.prototype.constructor=i.TimerEvent,i.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},i.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,e,s,n,r){return e=e||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!e||"number"!=typeof e[0])),this._outputFrames=[],this._frameData.getFrameIndexes(e,r,this._outputFrames),this._anims[t]=new i.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},i.AnimationManager.prototype.constructor=i.AnimationManager,Object.defineProperty(i.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(i.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(i.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(i.AnimationManager.prototype,"name",{get:function(){if(this.currentAnim)return this.currentAnim.name}}),Object.defineProperty(i.AnimationManager.prototype,"frame",{get:function(){if(this.currentFrame)return this.currentFrame.index},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(i.AnimationManager.prototype,"frameName",{get:function(){if(this.currentFrame)return this.currentFrame.name},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),i.Animation=function(t,e,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=e,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new i.Signal,this.onUpdate=null,this.onComplete=new i.Signal,this.onLoop=new i.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},i.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=this._timeNextFrame)&&(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay?(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay):this._frameDiff=0,this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0)))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||!e&&i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},i.Animation.prototype.constructor=i.Animation,Object.defineProperty(i.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(i.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(i.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(i.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(i.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(i.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new i.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),i.Animation.generateFrameNames=function(t,e,s,n,r){void 0===n&&(n="");var o=[],a="";if(e=s;h--)a=t+(a="number"==typeof r?i.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},i.Frame=function(t,e,s,n,r,o){this.index=t,this.x=e,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=i.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},i.Frame.prototype={resize:function(t,e){this.width=t,this.height=e,this.centerX=Math.floor(t/2),this.centerY=Math.floor(e/2),this.distance=i.Math.distance(0,0,t,e),this.sourceSizeW=t,this.sourceSizeH=e,this.right=this.x+t,this.bottom=this.y+e},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new i.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var e in this)this.hasOwnProperty(e)&&(t[e]=this[e]);return t},getRect:function(t){return void 0===t?t=new i.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},i.Frame.prototype.constructor=i.Frame,i.FrameData=function(){this._frames=[],this._frameNames=[]},i.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new i.FrameData,e=0;ed||h<-d)return console.warn("Phaser.AnimationParser.spriteSheet: skipFrames = "+h.toString()+" is larger than total sprite number "+d.toString()),null;if(h<0&&(h=d+h),-1!==r&&(d=h+r),0===c||0===u||cc&&(f=o,g+=n+a);return p},JSONData:function(t,e){if(!e.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(e);for(var s,n=new i.FrameData,r=e.frames,o=0;o tag")}},i.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new i.Signal,this._cacheMap=[],this._cacheMap[i.Cache.CANVAS]=this._cache.canvas,this._cacheMap[i.Cache.IMAGE]=this._cache.image,this._cacheMap[i.Cache.TEXTURE]=this._cache.texture,this._cacheMap[i.Cache.SOUND]=this._cache.sound,this._cacheMap[i.Cache.TEXT]=this._cache.text,this._cacheMap[i.Cache.PHYSICS]=this._cache.physics,this._cacheMap[i.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[i.Cache.BINARY]=this._cache.binary,this._cacheMap[i.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[i.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[i.Cache.JSON]=this._cache.json,this._cacheMap[i.Cache.XML]=this._cache.xml,this._cacheMap[i.Cache.VIDEO]=this._cache.video,this._cacheMap[i.Cache.SHADER]=this._cache.shader,this._cacheMap[i.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new i.Signal,this._addImages()},i.Cache.CANVAS=1,i.Cache.IMAGE=2,i.Cache.TEXTURE=3,i.Cache.SOUND=4,i.Cache.TEXT=5,i.Cache.PHYSICS=6,i.Cache.TILEMAP=7,i.Cache.BINARY=8,i.Cache.BITMAPDATA=9,i.Cache.BITMAPFONT=10,i.Cache.JSON=11,i.Cache.XML=12,i.Cache.VIDEO=13,i.Cache.SHADER=14,i.Cache.RENDER_TEXTURE=15,i.Cache.DEFAULT=null,i.Cache.DEFAULT_KEY="__default",i.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",i.Cache.MISSING=null,i.Cache.MISSING_KEY="__missing",i.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",i.Cache.READY_TIMEOUT=1e3,i.Cache.prototype={addCompressedTextureMetaData:function(t,e,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in i.LoaderParser?i.LoaderParser[s](n):n,o={key:t,url:e,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new i.Frame(0,0,0,r.width,r.height,t),frameData:new i.FrameData,fileFormat:s};return o.frameData.addFrame(new i.Frame(0,0,0,r.width,r.height,e)),this._cache.image[t]=o,this._resolveURL(e,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,e,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "'+t+"\" hasn't been retrieved yet");var n={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new i.Frame(0,0,0,s.width,s.height,t),frameData:new i.FrameData};return n.frameData.addFrame(new i.Frame(0,0,0,s.width,s.height,e)),this._cache.image[t]=n,this._resolveURL(e,n),"__default"===t?i.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(i.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(i.Cache.DEFAULT_KEY,i.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,i.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(i.Cache.MISSING_KEY,i.Cache.MISSING_SRC,function(t){i.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,e,s){return e.key=t,void 0===s&&(s=new i.FrameData).addFrame(e.textureFrame),this._cache.bitmapData[t]={data:e,frameData:s},e},addBitmapFont:function(t,e,s,n,r,o,a){var h={url:e,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?i.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):i.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(e,h)},addBitmapFontFromAtlas:function(t,e,s,n,r,o,a){var h=this.getFrameByName(e,s);if(h){var l={font:null,base:this.getBaseTexture(e),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=i.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=i.LoaderParser.xmlBitmapFont(c,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,e){this._cache.renderTexture[t]={texture:e,frame:new i.Frame(0,0,0,e.width,e.height,"","")}},addSpriteSheet:function(t,e,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:e,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:i.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(e,c)},addTextureAtlas:function(t,e,s,n,r){var o={key:t,url:e,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===i.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=i.AnimationParser.XMLData(this.game,n,t):r===i.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=i.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=i.AnimationParser.JSONData(this.game,n,t):o.frameData=i.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(e,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded},isSoundReady:function(t){var e=this.getItem(t,i.Cache.SOUND,"isSoundDecoded");if(e)return e.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(i.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(i.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(i.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(i.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(i.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(i.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(i.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(i.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(i.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(i.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(i.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(i.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(i.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(i.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(i.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,i.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,e){void 0!==t&&null!==t||(t="__default"),void 0===e&&(e=!1);var s=this.getItem(t,i.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",i.Cache.IMAGE,"getImage")),e?s:s.data},getTextureFrame:function(t){return this.getItem(t,i.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,i.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,i.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,i.Cache.TEXT,"getText","data")},getPhysicsData:function(t,e,s){var n=this.getItem(t,i.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===e||null===e)return n;if(n[e]){var r=n[e];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+e+'"');return null},getTilemapData:function(t){return this.getItem(t,i.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,i.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,i.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,i.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,e){var s=this.getItem(t,i.Cache.JSON,"getJSON","data");return s?e?i.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,i.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,i.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,i.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,i.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getBaseTexture","base")},getFrame:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),this.getItem(t,e,"getFrameData","frameData")},hasFrameData:function(t,e){return void 0===e&&(e=i.Cache.IMAGE),null!==this.getItem(t,e,"","frameData")},updateFrameData:function(t,e,s){void 0===s&&(s=i.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=e)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=i.Cache.IMAGE);var e=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&e.push(s);return e},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",e),t._ready())},i.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},i.Cache.prototype.constructor=i.Cache,Object.defineProperty(i.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),i.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new i.Signal,this.onLoadComplete=new i.Signal,this.onPackComplete=new i.Signal,this.onFileStart=new i.Signal,this.onFileComplete=new i.Signal,this.onFileError=new i.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},i.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,i.Loader.TEXTURE_ATLAS_JSON_HASH=1,i.Loader.TEXTURE_ATLAS_XML_STARLING=2,i.Loader.PHYSICS_LIME_CORONA_JSON=3,i.Loader.PHYSICS_PHASER_JSON=4,i.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,i.Loader.prototype={setPreloadSprite:function(t,e){e=e||0,this.preloadSprite={sprite:t,direction:e,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===e?new i.Rectangle(0,0,1,t.height):new i.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var e=t.data[t.key];if(e)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,e){var s=!0;switch(t.type){case"packfile":r=JSON.parse(e.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,e.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===i.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===i.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===i.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==i.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=e.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=e.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=e.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=e.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(e.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=e.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,e.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,e.response):t.data=e.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(i.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return i.Math.clamp(t||0,0,100)}}),Object.defineProperty(i.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),i.Loader.prototype.constructor=i.Loader,i.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;d=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&"DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC&&(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},i.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},i.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},i.AudioSprite.prototype.constructor=i.AudioSprite,i.Sound=function(t,e,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=e,this.key=e,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._removeFromSoundManager=!1,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(e)&&this.game.cache.isSoundReady(e)?(this._sound=this.game.cache.getSoundData(e),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new i.Signal,this.onPlay=new i.Signal,this.onPause=new i.Signal,this.onResume=new i.Signal,this.onLoop=new i.Signal,this.onStop=new i.Signal,this.onMute=new i.Signal,this.onMarkerComplete=new i.Signal,this.onFadeComplete=new i.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},i.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._sound.onended=null,this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this._markedToDelete&&(this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){this.game.cache.checkSoundKey(this.key)?(this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop)),this.isPlaying&&(this.currentTime=this.game.time.time-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=this.game.time.time),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop()))):this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)){if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.isPlaying=!1}if(""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===t?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var e=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,t,e):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,t):this._sound.start(0,t,e)}else this._sound.currentTime=this._tempPause,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(t){}this.externalNode?this._sound.disconnect(this.externalNode):this.gainNode&&this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,e){this.isPlaying&&!this.paused&&e!==this.volume&&(void 0===t&&(t=1e3),void 0!==e?(this.fadeTween=this.game.add.tween(this).to({volume:e},t,i.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},i.Sound.prototype.constructor=i.Sound,Object.defineProperty(i.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(i.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(i.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(i.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),i.SoundManager=function(t){this.game=t,this.onSoundDecode=new i.Signal,this.onVolumeChange=new i.Signal,this.onMute=new i.Signal,this.onUnMute=new i.Signal,this.onTouchUnlock=new i.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new i.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},i.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),"suspended"===this._unlockSource.context.state&&this._unlockSource.context.resume()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var e=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==e||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},i.ScaleManager.prototype.constructor=i.ScaleManager,Object.defineProperty(i.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(i.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(i.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(i.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(i.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(i.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),i.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},i.Utils.Debug.prototype={boot:function(){this.game.renderType===i.CANVAS?this.context=this.game.context:(this.bmd=new i.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=i.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new i.Line,this._rect=new i.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new i.Rectangle,layoutBounds:new i.Rectangle,documentBounds:new i.Rectangle},i.Device.whenReady(function(t){var e=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(i.DOM,"scrollX",{get:e}),Object.defineProperty(i.DOM,"scrollY",{get:s}),Object.defineProperty(i.DOM.visualBounds,"x",{get:e}),Object.defineProperty(i.DOM.visualBounds,"y",{get:s}),Object.defineProperty(i.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(i.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(i.DOM.visualBounds,"width",{get:n}),Object.defineProperty(i.DOM.visualBounds,"height",{get:r}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(i.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(i.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(i.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(i.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(i.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(i.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(i.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,e){if("string"!=typeof e&&(e=(e%360+360)%360),90===e||-270===e||"rotateLeft"===e)t=(t=i.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===e||270===e||"rotateRight"===e)t=t.reverse(),t=i.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(e)||"rotate180"===e){for(var s=0;s>>0:(t<<24|e<<16|s<<8|n)>>>0},unpackPixel:function(t,e,s,n){return void 0!==e&&null!==e||(e=i.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),i.Device.LITTLE_ENDIAN?(e.a=(4278190080&t)>>>24,e.b=(16711680&t)>>>16,e.g=(65280&t)>>>8,e.r=255&t):(e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t),e.color=t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a/255+")",s&&i.Color.RGBtoHSL(e.r,e.g,e.b,e),n&&i.Color.RGBtoHSV(e.r,e.g,e.b,e),e},fromRGBA:function(t,e){return e||(e=i.Color.createColor()),e.r=(4278190080&t)>>>24,e.g=(16711680&t)>>>16,e.b=(65280&t)>>>8,e.a=255&t,e.rgba="rgba("+e.r+","+e.g+","+e.b+","+e.a+")",e},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,e,s,n){n||(n=i.Color.createColor(t,e,s,1)),t/=255,e/=255,s/=255;var r=Math.min(t,e,s),o=Math.max(t,e,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(e-s)/a+(e1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,e,s,n,r,o,a,h){var l={r:t||0,g:e||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return i.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=i.Color.getColor(t.r,t.g,t.b),t.color32=i.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,e,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(e<<8)+s).toString(16).slice(1):"0x"+i.Color.componentToHex(n)+i.Color.componentToHex(t)+i.Color.componentToHex(e)+i.Color.componentToHex(s)},hexToRGB:function(t){var e=i.Color.hexToColor(t);if(e)return i.Color.getColor32(e.a,e.r,e.g,e.b)},hexToColor:function(t,e){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);e?(e.r=n,e.g=r,e.b=o):e=i.Color.createColor(n,r,o)}return e},webToColor:function(t,e){e||(e=i.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(e.r=~~Number(s[1]),e.g=~~Number(s[2]),e.b=~~Number(s[3]),e.a=void 0!==s[4]?Number(s[4]):1,i.Color.updateColor(e)),e},valueToColor:function(t,e){if(e||(e=i.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?i.Color.webToColor(t,e):(e.a=1,i.Color.hexToColor(t,e));if("number"==typeof t){var s=i.Color.getRGB(t);return e.r=s.r,e.g=s.g,e.b=s.b,e.a=s.a/255,e}return e},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,e){void 0===t&&(t=1),void 0===e&&(e=1);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSVtoRGB(n/359,t,e));return s},HSLColorWheel:function(t,e){void 0===t&&(t=.5),void 0===e&&(e=.5);for(var s=[],n=0;n<=359;n++)s.push(i.Color.HSLtoRGB(n/359,t,e));return s},interpolateColor:function(t,e,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=i.Color.getRGB(t),h=i.Color.getRGB(e);if(0===o)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=i.Color.RGBtoHSV(a.r,a.g,a.b),f=i.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=i.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return i.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,e,s,n,r,o){var a=i.Color.getRGB(t),h=(e-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return i.Color.getColor(h,l,c)},interpolateRGB:function(t,e,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-e)*h/a+e,u=(o-s)*h/a+s;return i.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,e){var s=i.Math.linear(0,t.length-1,e),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,e,s){if(void 0===t&&(t=0),void 0===e&&(e=255),void 0===s&&(s=255),e>255||t>e)return i.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(e-t)),r=t+Math.round(Math.random()*(e-t)),o=t+Math.round(Math.random()*(e-t));return i.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var e=i.Color.getRGB(t);return"rgba("+e.r.toString()+","+e.g.toString()+","+e.b.toString()+","+(e.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,e){return i.Color.blendOverlay(e,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,e){return i.Color.blendAdd(t,e)},blendLinearBurn:function(t,e){return i.Color.blendSubtract(t,e)},blendLinearLight:function(t,e){return e<128?i.Color.blendLinearBurn(t,2*e):i.Color.blendLinearDodge(t,2*(e-128))},blendVividLight:function(t,e){return e<128?i.Color.blendColorBurn(t,2*e):i.Color.blendColorDodge(t,2*(e-128))},blendPinLight:function(t,e){return e<128?i.Color.blendDarken(t,2*e):i.Color.blendLighten(t,2*(e-128))},blendHardMix:function(t,e){return i.Color.blendVividLight(t,e)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,e){return i.Color.blendReflect(e,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},i.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},i.Physics.ARCADE=0,i.Physics.P2JS=1,i.Physics.NINJA=2,i.Physics.BOX2D=3,i.Physics.CHIPMUNK=4,i.Physics.MATTERJS=5,i.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!i.Physics.hasOwnProperty("Arcade")||(this.arcade=new i.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&i.Physics.hasOwnProperty("Ninja")&&(this.ninja=new i.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&i.Physics.hasOwnProperty("P2")&&(this.p2=new i.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&i.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new i.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&i.Physics.hasOwnProperty("Matter")&&(this.matter=new i.Physics.Matter(this.game,this.config))},startSystem:function(t){t===i.Physics.ARCADE?this.arcade=new i.Physics.Arcade(this.game):t===i.Physics.P2JS?null===this.p2?this.p2=new i.Physics.P2(this.game,this.config):this.p2.reset():t===i.Physics.NINJA?this.ninja=new i.Physics.Ninja(this.game):t===i.Physics.BOX2D?null===this.box2d?this.box2d=new i.Physics.Box2D(this.game,this.config):this.box2d.reset():t===i.Physics.MATTERJS&&(null===this.matter?this.matter=new i.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,e,s){void 0===e&&(e=i.Physics.ARCADE),void 0===s&&(s=!1),e===i.Physics.ARCADE?this.arcade.enable(t):e===i.Physics.P2JS&&this.p2?this.p2.enable(t,s):e===i.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):e===i.Physics.BOX2D&&this.box2d?this.box2d.enable(t):e===i.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},i.Physics.prototype.constructor=i.Physics,i.Physics.Arcade=function(t){this.game=t,this.gravity=new i.Point,this.bounds=new i.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=i.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new i.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},i.Physics.Arcade.prototype.constructor=i.Physics.Arcade,i.Physics.Arcade.SORT_NONE=0,i.Physics.Arcade.LEFT_RIGHT=1,i.Physics.Arcade.RIGHT_LEFT=2,i.Physics.Arcade.TOP_BOTTOM=3,i.Physics.Arcade.BOTTOM_TOP=4,i.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,e){void 0===e&&(e=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof i.Group?this.enable(t[s].children,e):(this.enableBody(t[s]),e&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof i.Group?this.enable(t.children,e):(this.enableBody(t),e&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.Arcade.Body(t),t.parent&&t.parent instanceof i.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,e){null!==t.physicsSortDirection?e=t.physicsSortDirection:void 0===e&&(e=this.sortDirection),e===i.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):e===i.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):e===i.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):e===i.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(e);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===i.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,e,s,n,r)}}}}},collideGroupVsGroup:function(t,e,s,n,r,o){if(0!==t.length&&0!==e.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=e.right)&&!(t.position.y>=e.bottom))))},circleBodyIntersects:function(t,e){var s=i.Math.clamp(t.center.x,e.left,e.right),n=i.Math.clamp(t.center.y,e.top,e.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,e,s){this.getOverlapX(t,e),this.getOverlapY(t,e);var n=e.center.x-t.center.x,r=e.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==e.isCircle){var h={x:e.isCircle?t.position.x:e.position.x,y:e.isCircle?t.position.y:e.position.y,right:e.isCircle?t.right:e.right,bottom:e.isCircle?t.bottom:e.bottom},l={x:t.isCircle?t.center.x:e.center.x,y:t.isCircle?t.center.y:e.center.y,radius:t.isCircle?t.halfWidth:e.halfWidth};l.yh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=i.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+e.halfWidth-i.Math.distance(t.center.x,t.center.y,e.center.x,e.center.y);if(s||0===a||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,e.sprite),e.onOverlap&&e.onOverlap.dispatch(e.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:t.velocity.x*Math.sin(o)-t.velocity.y*Math.cos(o)},u={x:e.velocity.x*Math.cos(o)+e.velocity.y*Math.sin(o),y:e.velocity.x*Math.sin(o)-e.velocity.y*Math.cos(o)},d=((t.mass-e.mass)*c.x+2*e.mass*u.x)/(t.mass+e.mass),p=(2*t.mass*c.x+(e.mass-t.mass)*u.x)/(t.mass+e.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-c.y*Math.sin(o))*t.bounce.x,t.velocity.y=(c.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),e.immovable||(e.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*e.bounce.x,e.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*e.bounce.y),Math.abs(o)0&&!t.immovable&&e.velocity.x>t.velocity.x?t.velocity.x*=-1:e.velocity.x<0&&!e.immovable&&t.velocity.x0&&!t.immovable&&e.velocity.y>t.velocity.y?t.velocity.y*=-1:e.velocity.y<0&&!e.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&e.velocity.x0&&!e.immovable&&t.velocity.x>e.velocity.x?e.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&e.velocity.y0&&!e.immovable&&t.velocity.x>e.velocity.y&&(e.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),e.immovable||(e.x+=e.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),e.y+=e.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,e.sprite),e.onCollide&&e.onCollide.dispatch(e.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,e,s,n,r,o){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new i.Rectangle(t,e,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,e)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e,!0)},velocityFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerationFromRotation:function(t,e,s){return void 0===e&&(e=60),(s=s||new i.Point).setToPolar(t,e)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,e,s){return void 0===s&&(s=!1),s?i.Point.angle(e.world,t.world):i.Point.angle(e,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},i.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=i.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new i.Point,this.position=new i.Point(t.x,t.y),this.prev=new i.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new i.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new i.Point,this.newVelocity=new i.Point,this.deltaMax=new i.Point,this.acceleration=new i.Point,this.allowDrag=!0,this.drag=new i.Point,this.allowGravity=!0,this.gravity=new i.Point,this.bounce=new i.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new i.Point(1e4,1e4),this.friction=new i.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=i.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new i.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new i.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},i.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=i.LEFT:this.deltaX()>0&&(this.facing=i.RIGHT),this.deltaY()<0?this.facing=i.UP:this.deltaY()>0&&(this.facing=i.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,e,s){var n=e/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),e=Math.abs(e),this.moveDuration=0,this.moveDistance=e,null===this.moveTarget&&(this.moveTarget=new i.Line,this.moveEnd=new i.Point),this.moveTarget.fromAngle(this.x,this.y,r,e),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,e){return this.isCircle?i.Circle.contains(this,t,e):i.Rectangle.contains(this,t,e)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof i.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(i.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(i.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),i.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},i.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},i.Physics.Arcade.Body.prototype.constructor=i.Physics.Arcade.Body,i.Physics.Arcade.TilemapCollision=function(){},i.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},i.Utils.mixinPrototype(i.Physics.Arcade.prototype,i.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,i.Physics.P2=function(t,e){this.game=t,void 0===e?e={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(e.hasOwnProperty("gravity")||(e.gravity=[0,0]),e.hasOwnProperty("broadphase")||(e.broadphase=new p2.SAPBroadphase)),this.config=e,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new i.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new i.Signal,this.onBodyRemoved=new i.Signal,this.onSpringAdded=new i.Signal,this.onSpringRemoved=new i.Signal,this.onConstraintAdded=new i.Signal,this.onConstraintRemoved=new i.Signal,this.onContactMaterialAdded=new i.Signal,this.onContactMaterialRemoved=new i.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,e.hasOwnProperty("mpx")&&e.hasOwnProperty("pxm")&&e.hasOwnProperty("mpxi")&&e.hasOwnProperty("pxmi")&&(this.mpx=e.mpx,this.mpxi=e.mpxi,this.pxm=e.pxm,this.pxmi=e.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},i.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,e,s){void 0===e&&(e=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof i.Group?this.enable(t[n].children,e,s):(this.enableBody(t[n],e),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],e,!0));else t instanceof i.Group?this.enable(t.children,e,s):(this.enableBody(t,e),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,e,!0))},enableBody:function(t,e){t.hasOwnProperty("body")&&null===t.body&&(t.body=new i.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=e,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,r,o,a,h){void 0===n&&(n=this._boundsLeft),void 0===r&&(r=this._boundsRight),void 0===o&&(o=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(r,"right",t+i,e,-1.5707963267948966,h),this.setupWall(o,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=r,this._boundsTop=o,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,r){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),r&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new i.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new i.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new i.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof i.Physics.P2.Spring||t instanceof i.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.DistanceConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,e,s,n){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.GearConstraint(this,t,e,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,e,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new i.Physics.P2.RevoluteConstraint(this,t,e,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,e,s,n,r){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.LockConstraint(this,t,e,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,e,s,n,r,o,a){if(t=this.getBody(t),e=this.getBody(e),t&&e)return this.addConstraint(new i.Physics.P2.PrismaticConstraint(this,t,e,s,n,r,o,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,e){t=t||"";var s=new i.Physics.P2.Material(t);return this.materials.push(s),void 0!==e&&e.setMaterial(s),s},createContactMaterial:function(t,e,s){void 0===t&&(t=this.createMaterial()),void 0===e&&(e=this.createMaterial());var n=new i.Physics.P2.ContactMaterial(t,e,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof i.Physics.P2.Body?t.data:t.body&&t.body.type===i.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,e,s,n){void 0===e&&(e=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var r=[this.pxmi(t.x),this.pxmi(t.y)],o=[],a=e.length;a--;)e[a]instanceof i.Physics.P2.Body&&(!n||e[a].data.type!==p2.Body.STATIC)?o.push(e[a].data):e[a]instanceof p2.Body&&e[a].parent&&(!n||e[a].type!==p2.Body.STATIC)?o.push(e[a]):e[a]instanceof i.Sprite&&e[a].hasOwnProperty("body")&&(!n||e[a].body.data.type!==p2.Body.STATIC)&&o.push(e[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var e=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|e),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|e),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|e),this._collisionGroupID++;var s=new i.Physics.P2.CollisionGroup(e);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,e){if(t instanceof i.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(r=u.x*u.width,o=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(r,o,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(i.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(i.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(i.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(i.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(i.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(i.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(i.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(i.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(i.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(i.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),i.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},i.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},i.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.PointProxy.prototype.constructor=i.Physics.P2.PointProxy,Object.defineProperty(i.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(i.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),i.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},i.Physics.P2.InversePointProxy.prototype.constructor=i.Physics.P2.InversePointProxy,Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(i.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),i.Physics.P2.Body=function(t,e,s,n,r){e=e||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=e,this.type=i.Physics.P2JS,this.offset=new i.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new i.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new i.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new i.Point,this.onBeginContact=new i.Signal,this.onEndContact=new i.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,e&&(this.setRectangleFromSprite(e),e.exists&&this.game.physics.p2.addBody(this))},i.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(r=0;r-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var r=this.data.shapes.length-1;r>=0;r--)this.data.shapes[r].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(r=0;r=0;r--)this.data.shapes[r].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;np;n=0<=p?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,r,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1),t.beginFill(a),t.drawRect(e-n/2,i-r/2,n,r)},drawCircle:function(t,e,i,s,n,r,o){void 0===o&&(o=1),void 0===r&&(r=16777215),t.lineStyle(o,0,1),t.beginFill(r,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,r,o,a){var h,l,c,u,d,p,f,g,m,y,v;if(void 0===r&&(r=1),void 0===s&&(s=0),o){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],g=d[0],v=d[1],t.lineStyle(r,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-v),t.drawCircle(f,-y,2*r),l++;return t.lineStyle(r,0,1),t.drawCircle(a[0],a[1],2*r)}for(t.lineStyle(r,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],m=c[1],0===l?t.moveTo(p,-m):t.lineTo(p,-m),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var r,o,a,h,l,c,u,d,p,f,g;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),o=null,a=null,r=0;r2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,r,o,a,h,l){var c,u;void 0===r&&(r=1),void 0===s&&(s=16777215),t.lineStyle(r,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-r),t.drawCircle(n/2*l+e,n/2*c+i,2*-r),t.endFill(),t.lineStyle(h,o,0),t.beginFill(a,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i),t.lineTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.endFill(),t.lineStyle(h,o,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.moveTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),i.Physics.P2.Spring=function(t,e,i,s,n,r,o,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===r&&(r=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:r};void 0!==o&&null!==o&&(c.worldAnchorA=[t.pxm(o[0]),t.pxm(o[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.RotationalSpring=function(t,e,i,s,n,r){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===r&&(r=1),s&&(s=t.pxm(s));var o={restAngle:s,stiffness:n,damping:r};this.data=new p2.RotationalSpring(e,i,o),this.data.parent=this},i.Physics.P2.Spring.prototype.constructor=i.Physics.P2.Spring,i.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},i.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),i.Physics.P2.Material.prototype.constructor=i.Physics.P2.Material,i.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},i.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),i.Physics.P2.ContactMaterial.prototype.constructor=i.Physics.P2.ContactMaterial,i.Physics.P2.CollisionGroup=function(t){this.mask=t},i.Physics.P2.DistanceConstraint=function(t,e,i,s,n,r,o){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],maxForce:o};p2.DistanceConstraint.call(this,e,i,a)},i.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),i.Physics.P2.DistanceConstraint.prototype.constructor=i.Physics.P2.DistanceConstraint,i.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var r={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,r)},i.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),i.Physics.P2.GearConstraint.prototype.constructor=i.Physics.P2.GearConstraint,i.Physics.P2.LockConstraint=function(t,e,i,s,n,r){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var o={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:r};p2.LockConstraint.call(this,e,i,o)},i.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),i.Physics.P2.LockConstraint.prototype.constructor=i.Physics.P2.LockConstraint,i.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,r,o,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],localAxisA:o,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},i.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),i.Physics.P2.PrismaticConstraint.prototype.constructor=i.Physics.P2.PrismaticConstraint,i.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,r,o){void 0===r&&(r=Number.MAX_VALUE),void 0===o&&(o=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],o&&(o=[t.pxmi(o[0]),t.pxmi(o[1])]);var a={worldPivot:o,localPivotA:i,localPivotB:n,maxForce:r};p2.RevoluteConstraint.call(this,e,s,a)},i.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),i.Physics.P2.RevoluteConstraint.prototype.constructor=i.Physics.P2.RevoluteConstraint,i.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},i.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},i.Tile.prototype.constructor=i.Tile,Object.defineProperty(i.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(i.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(i.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(i.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(i.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(i.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),i.Tilemap=function(t,e,s,n,r,o){this.game=t,this.key=e;var a=i.TilemapParser.parse(this.game,e,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},i.Tilemap.CSV=0,i.Tilemap.TILED_JSON=1,i.Tilemap.NORTH=0,i.Tilemap.EAST=1,i.Tilemap.SOUTH=2,i.Tilemap.WEST=3,i.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,e,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==e&&null!==e||(e=t),e instanceof i.BitmapData)h=e.canvas;else{if(!this.game.cache.checkImageKey(e))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+e+'"'),null;h=this.game.cache.getImage(e)}var l=this.getTilesetIndex(t);if(null===l&&this.format===i.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new i.Tileset(t,a,s,n,r,o,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=r,p=r,f=0,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===e||e<=0?e=Math.min(this.game.width,this.layers[r].widthInPixels):e>this.game.width&&(e=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",e,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new i.TilemapLayer(this.game,this,r,e,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,e,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:e,height:s,widthInPixels:e*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new i.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,e,s){if(s=this.getLayer(s),t>=0&&t=0&&e=0&&e=0&&s-1?this.layers[n].data[s][e].setCollision(!0,!0,!0,!0):this.layers[n].data[s][e].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][e]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},i.Tilemap.prototype.constructor=i.Tilemap,Object.defineProperty(i.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),i.TilemapLayer=function(t,e,s,n,r){n|=0,r|=0,i.Sprite.call(this,t,0,0),this.map=e,this.index=s,this.layer=e.layers[s],this.canvas=i.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=i.TILEMAPLAYER,this.physicsType=i.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:e.tileWidth,tileHeight:e.tileHeight,cw:e.tileWidth,ch:e.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new i.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=i.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},i.TilemapLayer.prototype=Object.create(i.Sprite.prototype),i.TilemapLayer.prototype.constructor=i.TilemapLayer,i.TilemapLayer.prototype.preUpdateCore=i.Component.Core.preUpdate,i.TilemapLayer.sharedCopyCanvas=null,i.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=i.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},i.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},i.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},i.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},i.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},i.TilemapLayer.prototype.destroy=function(){i.CanvasPool.remove(this),i.Component.Destroy.prototype.destroy.call(this)},i.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},i.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},i.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},i.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},i.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},i.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},i.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},i.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},i.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},i.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},i.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},i.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;m++,v--,f+=c){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var w=_[g];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(o.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(o.save(),o.translate(p+w.centerX,f+w.centerY),o.rotate(w.rotation),w.flipped&&o.scale(-1,1),P.draw(o,-w.centerX,-w.centerY,T),o.restore()):P.draw(o,p,f,T):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,c))}}}},i.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=r+e,u=r-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/o),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,c,g,u)}},i.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},i.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(i.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(i.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(i.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),i.TilemapParser={INSERT_NULL:!1,parse:function(t,e,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===e)return this.getEmptyData();if(null===e)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(e);if(a){if(a.format===i.Tilemap.CSV)return this.parseCSV(e,a.data,s,n);if(!a.format||a.format===i.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+e)},parseCSV:function(t,e,s,n){for(var r=this.getEmptyData(),o=[],a=(e=e.trim()).split("\n"),h=a.length,l=0,c=0;c>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn("TilemapParser.parseTiledJSON - Layer compression is unsupported, skipping layer '"+r.name+"'");continue}k={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(k.properties=r.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((F=new i.Tile(k,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,F.flipped=u,0!==d&&(F.flippedVal=d),f.push(F)):i.TilemapParser.INSERT_NULL?f.push(null):f.push(new i.Tile(k,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}k.data=g,s.push(k)}e.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},i.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},i.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},i.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},i.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},i.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),i.Group.prototype.destroy.call(this,!0,!1)},i.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},i.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},i.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},i.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},i.Particles.Arcade.Emitter.prototype.setAlpha=function(t,e,s,n,r){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=0),void 0===n&&(n=i.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=e,this.autoAlpha=!1,s>0&&t!==e){var o={v:t},a=this.game.make.tween(o).to({v:e},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},i.Particles.Arcade.Emitter.prototype.setScale=function(t,e,s,n,r,o,a){if(void 0===t&&(t=1),void 0===e&&(e=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=i.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(e,n),this.autoScale=!1,r>0&&(t!==e||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:e,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},i.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},i.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(i.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),i.Weapon=function(t,e){i.Plugin.call(this,t,e),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new i.Rectangle(0,0,1,1),this.fireAngle=i.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new i.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=i.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=i.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new i.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new i.Signal,this.onKill=new i.Signal,this.onFireLimit=new i.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new i.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new i.Point},i.Weapon.prototype=Object.create(i.Plugin.prototype),i.Weapon.prototype.constructor=i.Weapon,i.Weapon.KILL_NEVER=0,i.Weapon.KILL_LIFESPAN=1,i.Weapon.KILL_DISTANCE=2,i.Weapon.KILL_WEAPON_BOUNDS=3,i.Weapon.KILL_CAMERA_BOUNDS=4,i.Weapon.KILL_WORLD_BOUNDS=5,i.Weapon.KILL_STATIC_BOUNDS=6,i.Weapon.prototype.createBullets=function(t,e,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(i.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,e,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=e,this.bulletFrame=s),this},i.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},i.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},i.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},i.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},i.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},i.Weapon.prototype.update=function(){this._bulletKillType===i.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},i.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},i.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},i.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},i.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},i.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},i.Weapon.prototype.fire=function(t,e,s,n,r){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=i.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==e&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,e-a))),0!==this.bulletAngleVariance&&(l+=i.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*o:(c=Math.cos(this.game.math.degToRad(l))*o,u=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===i.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=i.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},i.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},i.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},i.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},i.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},i.Weapon.prototype.setBulletFrames=function(t,e,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=i.ArrayUtils.numberArray(t,e),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},i.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},i.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(i.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(i.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case i.Weapon.KILL_STATIC_BOUNDS:case i.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case i.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case i.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(i.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(i.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(i.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),i.Bullet=function(t,e,s,n,r){i.Sprite.call(this,t,e,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},i.Bullet.prototype=Object.create(i.Sprite.prototype),i.Bullet.prototype.constructor=i.Bullet,i.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},i.Bullet.prototype.update=function(){this.exists&&(this.data.killType>i.Weapon.KILL_LIFESPAN&&(this.data.killType===i.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},i.Video=function(t,e,s){if(void 0===e&&(e=null),void 0===s&&(s=null),this.game=t,this.key=e,this.width=0,this.height=0,this.type=i.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new i.Signal,this.onChangeSource=new i.Signal,this.onComplete=new i.Signal,this.onAccess=new i.Signal,this.onError=new i.Signal,this.onTimeout=new i.Signal,this.onTouchUnlock=new i.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,e&&this.game.cache.checkVideoKey(e)){var n=this.game.cache.getVideo(e);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(i.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new i.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==e&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,i.BitmapData&&(this.snapshot=new i.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},i.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(i.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(i.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(i.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(i.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(i.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(i.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(i.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(i.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),i.Video.prototype.constructor=i.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=i.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=i.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new i.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return i.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.Phaser=i):"undefined"!=typeof define&&define.amd?define("Phaser",e.Phaser=i):e.Phaser=i,i}.call(this); -//# sourceMappingURL=phaser.map \ No newline at end of file diff --git a/tools/gopher-kart/js/stateChoice.js b/tools/gopher-kart/js/stateChoice.js deleted file mode 100644 index 0577f34..0000000 --- a/tools/gopher-kart/js/stateChoice.js +++ /dev/null @@ -1,150 +0,0 @@ -var StateChoice = { - preload: function () { - //Music and Sounds - game.load.audio("select", "assets/music/BeepBox-Song3-compressed.m4a"); - - //Spritesheets for the 3 colored Gophers - //Later put into 1 spritesheet - game.load.spritesheet("racer", "assets/character-select-loops.png", 76, 72, 7); - - game.load.image("background", "assets/bg-color.png"); - game.load.image("city", "assets/city-re-colored.png"); - game.load.image("sky", "assets/clouds-re-colored.png"); - game.load.image("mtn", "assets/mountains-recolored.png"); - game.load.image("select", "assets/character-select-bg.png"); - - //sample test button - game.load.spritesheet("confirmButton", "assets/buttons-sprite.png", 111, 24, 4); - game.load.spritesheet("neon", "assets/neon-sign.png", 120, 30, 13); - - game.load.spritesheet("buttons", "assets/on-off-buttons.png", 59, 41, 2); - game.load.spritesheet("blueMarquee", "assets/blue-crawl.png", 50, 12, 45); - game.load.spritesheet("pinkMarquee", "assets/pink-crawl.png", 50, 12, 45); - game.load.spritesheet("purpleMarquee", "assets/purple-crawl.png", 50, 12, 45); - // game.load.spritesheet("neonCnfrm", "assets/neon-sign.png", ) - - }, - - create: function () { - this.camera.reset(); - - //MUSIC - this.selectSong = game.add.audio("select"); - //Watched youtube video, need to check docs for .play params - this.selectSong.play('', 0, 1, true); - - //BACKGROUND - this.background = game.add.tileSprite(0, 0, 600, 432, "background"); - - this.sky = game.add.tileSprite(0, 10, 600, 78, "sky"); - this.mtn = game.add.tileSprite(0, 250, 600, 131, "mtn"); - this.city = game.add.tileSprite(0, 290, 600, 90, "city"); - this.select = game.add.tileSprite(0, 0, 600, 432, "select"); - - //MARQUEE - //Blue - this.blueMarquee = game.add.sprite(game.world.bounds.height - 282, game.world.centerY-16, "blueMarquee"); - this.blueMarquee.anchor.set(0.5, 0.5); - this.blueMarquee.animations.add("blueCrawl", [],15, true); - this.blueMarquee.animations.play("blueCrawl"); - //Pink - this.pinkMarquee = game.add.sprite(game.world.bounds.height - 132, game.world.centerY-16, "pinkMarquee"); - this.pinkMarquee.anchor.set(0.5, 0.5); - this.pinkMarquee.animations.add("pinkCrawl", [],13, true); - this.pinkMarquee.animations.play("pinkCrawl"); - //Purple - this.purpleMarquee = game.add.sprite(game.world.bounds.height + 18, game.world.centerY-16, "purpleMarquee"); - this.purpleMarquee.anchor.set(0.5, 0.5); - this.purpleMarquee.animations.add("purpleCrawl", [],10, true); - this.purpleMarquee.animations.play("purpleCrawl"); - - //Choose Racer1 - this.pickRacer1 = game.add.button(game.world.bounds.height - 282, game.world.centerY+105, - "buttons", this.racerStart.bind(this, "blue"), this); - this.pickRacer1.anchor.set(0.5, 0.5); - - //Choose Racer2 - this.pickRacer2 = game.add.button(game.world.bounds.height - 132, game.world.centerY+105, - "buttons", this.racerStart.bind(this, "pink"), this); - this.pickRacer2.anchor.set(0.5, 0.5); - - //Choose Racer3 - this.pickRacer3 = game.add.button(game.world.bounds.height + 18, game.world.centerY+105, - "buttons", this.racerStart.bind(this, "purple"), this); - this.pickRacer3.anchor.set(0.5, 0.5); - - this.buttons = { - "blue": this.pickRacer1, - "pink": this.pickRacer2, - "purple": this.pickRacer3 - }; - - //BLACK AND WHITE GOPHERS - //Blue - this.blue = game.add.sprite(game.world.bounds.height - 282, game.world.centerY+40, "racer"); - this.blue.frame = 1; - this.blue.animations.add("blue", [1, 2],9, true); - this.blue.anchor.set(0.5, 0.5); - this.blue.animations.play("blue"); - - //Pink - this.PinkGopher = game.add.sprite(game.world.bounds.height - 132, game.world.centerY+40, "racer"); - this.PinkGopher.frame = 3; - this.PinkGopher.animations.add("pink", [3, 4],9, true); - this.PinkGopher.anchor.set(0.5, 0.5); - this.PinkGopher.animations.play("pink"); - - //Purple - this.PurpleGopher = game.add.sprite(game.world.bounds.height + 18, game.world.centerY+40, "racer"); - this.PurpleGopher.frame = 5; - this.PurpleGopher.animations.add("purple", [5, 6],9, true); - this.PurpleGopher.anchor.set(0.5, 0.5); - this.PurpleGopher.animations.play("purple"); - - - //CONFIRMATION BUTTON - this.startConfirm = game.add.button(game.world.bounds.height - 132, game.world.height-46, - "neon", this.startGame, this, 12, 12, 12); - this.startConfirm.frame = 12; - this.startConfirm.anchor.set(0.5, 0.5); - this.startConfirm.animations.add("neon", [],5, true); - this.startConfirm.anchor.set(0.5, 0.5); - // this.startConfirm.animations.play("neon"); - }, - - startGame: function () { - if(character === undefined){ - this.sampleText = game.add.text(game.world.centerX, 30, "You must choose a gopher!"); - this.sampleText.fill = "ffffff"; - this.sampleText.fontSize = 32; - this.sampleText.anchor.set(0.5, 0.5); - // console.log("You must choose a gopher!"); - } else { - this.selectSong.stop(); - game.state.start("StateMain"); - } - }, - - racerStart: function (racer){ - console.log(racer); - for (var key in this.buttons) { - this.buttons[key].frame = 0; - } - - this.buttons[racer].frame = 1; - character = racer; - - - this.startConfirm.animations.play("neon"); - // character.animations.play("blue"); - // console.log(character); - }, - - - update: function () { - this.sky.tilePosition.x -= 0.1; - - }, - - -}; diff --git a/tools/gopher-kart/js/stateMain.js b/tools/gopher-kart/js/stateMain.js deleted file mode 100644 index c737f81..0000000 --- a/tools/gopher-kart/js/stateMain.js +++ /dev/null @@ -1,452 +0,0 @@ -var StateMain = { - - preload: function () { - //Music - game.load.audio("title", "assets/music/racingMain-compressed.m4a"); - //Sound FX - game.load.audio("coinBeep", "assets/music/sfx/coin.wav"); - game.load.audio("npc_explosion", "assets/music/sfx/npc_explosion.wav"); - game.load.audio("drive", "assets/music/sfx/drive.wav"); - game.load.audio("accelerate", "assets/music/sfx/accelerate.wav"); - game.load.audio("countdownBeep", "assets/music/sfx/countdown.wav"); - - game.stage.backgroundColor = 0xe9fffe; - - //Gopher sprites - game.load.spritesheet("blue", "assets/gopher-blue-updated.png", 64, 60, 15); - game.load.spritesheet("pink", "assets/gopher-pink.png", 64, 60, 15); - game.load.spritesheet("purple", "assets/gopher-purple.png", 64, 60, 15); - //Road - game.load.image("road", "assets/road-tile.png"); - //Top rail - game.load.image("topRail", "assets/top-rail-long.png"); - //Scene Extras - game.load.image("extras", "assets/signs.png"); - //Light Posts - game.load.image("posts", "assets/light-posts.png"); - //Truck - game.load.image("truck", "assets/truck.png"); - //Bottom rail - game.load.image("bottomRail", "assets/bottom-rail-long.png"); - //Add background - game.load.image("sky", "assets/clouds-re-colored.png"); - game.load.image("city", "assets/city-re-colored.png"); - game.load.image("mtn", "assets/mountains-recolored.png"); - //Add coins - game.load.spritesheet("coin", "assets/coin-shadow.png", 16, 19, 6); - //NPCs - game.load.spritesheet("npc", "assets/other-gophers.png", 64, 60, 20); - //Explosion - game.load.spritesheet("explosion", "assets/explosion.png", 64, 60, 4); - //Add hearts - game.load.spritesheet("heart", "assets/heart-17x16.png", 17, 16, 6); - //Countdown Sprites - game.load.image("countDown3", "assets/three.png"); - game.load.image("countDown2", "assets/two.png"); - game.load.image("countDown1", "assets/one.png"); - game.load.image("countDownGo", "assets/go.png"); - game.load.image("background", "assets/bg-color.png"); - - //Font - game.load.bitmapFont('pixelFont', 'assets/fonts/bitmapFonts/pixelFont.png', 'assets/fonts/bitmapFonts/pixelFont.xml'); - var timeText; - }, - - create: function () { - - game.world.setBounds(0, 0, 35000, this.game.height); - - //MUSIC - this.titleSong = game.add.audio("title"); - this.titleSong.volume = 0.4; - this.titleSong.play('', 0, 1, true); - - //SFX - this.drivingSound = game.add.audio("drive"); - this.accelerateSound = game.add.audio("accelerate"); - this.countdownSound = game.add.audio("countdownBeep"); - this.countdownSound.play('', 0, 1, false); - this.drivingSound.loopFull(1.3); - - var background = game.add.tileSprite(0, 0, this.world.width, 432, "background"); - - //Prevents pausing of game when use clicks out of the game - game.stage.disableVisibilityChange = true; - - //Start Physics Engine - game.physics.startSystem(Phaser.Physics.ARCADE); - - //TIMER - setInterval(function(){ - count += 1; - count.toString(); - if(count < 10){ - timeElapsed = "0" + count; - } else { - timeElapsed = count; - } - }, 1000); - - //Increase score every second - setInterval(function(){ - score += 3; - },1000); - - - this.timer = this.game.time.create(this.game); - this.timer.add(this.delay, this.readyForAction, this); - this.timer.start(); - - //Set top and bottom boundaries for Gopher - //To prevent going past rails - this.top = game.height - 200; - this.bottom = game.height - 80; - - - //Random lane logic for NPC spawn - this.lane = function () { - return availLanes[Math.floor(Math.random()*availLanes.length)]; - }; - //Random NPC logic - this.pickNPC = function(){ - return availNpcGophers[Math.floor(Math.random()*availNpcGophers.length)]; - }; - // this.npc = game.add.sprite(game.width, this.lane, this.pickNPC); - // console.log("NEW NPC ADDED: " + this.lane() + " , " + this.pickNPC()); - - // BACKGROUND IMAGE TILES - sky = game.add.tileSprite(0, 6, this.world.width, 78, "sky"); - mtn = game.add.tileSprite(0, 62, this.world.width, 133, "mtn"); - city = game.add.tileSprite(0, 107, this.world.width, 90, "city"); - truck = game.add.tileSprite(0, 84, this.world.width, 142, "truck"); - road = game.add.tileSprite(0, 226, this.world.width, 159, "road"); - posts = game.add.tileSprite(0, 15, this.world.width, 182, "posts"); - extras = game.add.tileSprite(0, 120, this.world.width, 84, "extras"); - topRail = game.add.tileSprite(0, 197, this.world.width, 29, "topRail"); - bottomRail = game.add.tileSprite(0, 385, this.world.width, 47, "bottomRail"); - - sky.fixedToCamera = true; - mtn.fixedToCamera = true; - city.fixedToCamera = true; - truck.fixedToCamera = true; - road.fixedToCamera = true; - posts.fixedToCamera = true; - extras.fixedToCamera = true; - topRail.fixedToCamera = true; - bottomRail.fixedToCamera = true; - - - //EMPTY LIVES - this.emptyHeart1 = game.add.sprite(10, game.world.centerY-205, "heart"); - this.emptyHeart1.fixedToCamera = true; - this.emptyHeart1.frame = 5; - this.emptyHeart2 = game.add.sprite(30, game.world.centerY-205, "heart"); - this.emptyHeart2.fixedToCamera = true; - this.emptyHeart2.frame = 5; - this.emptyHeart3 = game.add.sprite(50, game.world.centerY-205, "heart"); - this.emptyHeart3.fixedToCamera = true; - this.emptyHeart3.frame = 5; - - - //LIVES - this.heart1 = game.add.sprite(10, game.world.centerY-205, "heart"); - this.heart1.fixedToCamera = true; - this.heart2 = game.add.sprite(30, game.world.centerY-205, "heart"); - this.heart2.fixedToCamera = true; - this.heart3 = game.add.sprite(50, game.world.centerY-205, "heart"); - this.heart3.fixedToCamera = true; - - this.heartGroup = game.add.group(); - this.heartGroup.add(this.heart1); - this.heartGroup.add(this.heart2); - this.heartGroup.add(this.heart3); - - //COINS - this.coins=game.add.group(); - this.coins.createMultiple(40, 'coin'); - this.coins.setAll('checkWorldBounds', true); - this.coins.setAll('outOfBoundsKill', true); - - // OTHER RACERS - this.npcRacers = game.add.group(); - this.npcRacers.createMultiple(40, 'npc'); - this.npcRacers.setAll('checkWorldBounds', true); - this.npcRacers.setAll('outOfBoundsKill', true); - - //Main racer - this.sprite = game.add.sprite(50, 289, character); - this.sprite.anchor.set(0.5, 0.5); - this.sprite.animations.add("crash", [2,3,4,5,6], 9, false); - this.sprite.animations.add("idle", [0, 1], 9, true); - this.sprite.animations.play("idle"); - game.physics.arcade.enable([this.sprite, this.coins, this.npcRacers]); - game.camera.follow(this.sprite); - this.sprite.body.collideWorldBounds = true; - this.sprite.body.immovable = true; - this.sprite.body.width = 60; - this.sprite.body.height = 30; - this.sprite.body.offset.setTo(3, 30); - - //Add chosen racer to npcRacer group - //to allow for sorting and proper "z-index" effect - this.npcRacers.add(this.sprite); - - // console.log("You chose the " + character + " racer!"); - - //Background image scroll speed - road.autoScroll(-390, 0); - topRail.autoScroll(-370, 0); - bottomRail.autoScroll(-380, 0); - sky.autoScroll(-5,0); - city.autoScroll(-30,0); - mtn.autoScroll(-15,0); - truck.autoScroll(-550, 0); - posts.autoScroll(-330, 0); - extras.autoScroll(-330, 0); - - //COUNTDOWN SPRITES - this.countDown1 = game.add.sprite(game.world.bounds.height - 135, game.world.centerY, 'countDown1'); - this.countDown1.anchor.setTo(0.5, 0.5); - this.countDown1.alpha = 0; - - this.countDown2 = game.add.sprite(game.world.bounds.height - 135, game.world.centerY, 'countDown2'); - this.countDown2.anchor.setTo(0.5, 0.5); - this.countDown2.alpha = 0; - - - this.countDown3 = game.add.sprite(game.world.bounds.height - 135, game.world.centerY, 'countDown3'); - this.countDown3.anchor.setTo(0.5, 0.5); - this.countDown3.alpha = 0; - - - this.countDownGo = game.add.sprite(game.world.bounds.height - 80, game.world.centerY, 'countDownGo'); - this.countDownGo.anchor.setTo(0.5, 0.5); - this.countDownGo.alpha = 0; - this.countDownGo.fixedToCamera = true; - - //COUNTDOWN GROUP - this.countGroup = game.add.group(); - this.countGroup.add(this.countDown1); - this.countGroup.add(this.countDown2); - this.countGroup.add(this.countDown3); - this.countGroup.add(this.countDownGo); - - //TWEENS for 3..2..1..GO! - var tween1 = game.add.tween(this.countDown1).to({alpha: 1}, 500, Phaser.Easing.Linear.None, false, - 0).to({alpha: 0}, 500, Phaser.Easing.Linear.None, false, 0); - var tween2 = game.add.tween(this.countDown2).to({alpha: 1}, 500, Phaser.Easing.Linear.None, false, - 0).to({alpha: 0}, 500, Phaser.Easing.Linear.None, false, 0); - var tween3 = game.add.tween(this.countDown3).to({alpha: 1}, 500, Phaser.Easing.Linear.None, false, - 0).to({alpha: 0}, 500, Phaser.Easing.Linear.None, false, 0); - var tweenGo = game.add.tween(this.countDownGo).to({alpha: 1}, 500, Phaser.Easing.Linear.None, false, - 0).to({alpha: 0}, 500, Phaser.Easing.Linear.None, false, 0); - tween3.chain(tween2); - tween2.chain(tween1); - tween1.chain(tweenGo); - tween3.start(); - - //Set cursors to accept input from the keyboard - cursors = game.input.keyboard.createCursorKeys(); - - //Prevent user from moving until after "GO!" - game.input.enabled = false; - - setTimeout(function(){ - //Turn input back on - game.input.enabled = true; - },3000); - - //TEXT - var scoreLabel = game.add.bitmapText(585, 7, 'pixelFont', 'SCORE', 21); - scoreLabel.anchor.set(1.0 , 0); - scoreText = game.add.bitmapText(570, 27, 'pixelFont', '0', 21); - scoreText.anchor.set(1.0 , 0); - var timeLabel; - timeLabel = game.add.bitmapText(275, 7, 'pixelFont', 'TIME', 21); - timeText = game.add.bitmapText(290, 27, 'pixelFont', timeElapsed, 21); - - //Fix game status elements (w/e you want to call these :D) to the camera - this.timer.fixedToCamera = scoreText.fixedToCamera = timeLabel.fixedToCamera = - timeText.fixedToCamera = scoreLabel.fixedToCamera = true; - - // game.debug.bodyInfo(this.npcRacers); - - this.setListeners(); - }, - - setListeners: function(){ - //Spawn coins and NPCs - game.time.events.loop(Phaser.Timer.SECOND * coinSpawnRate, this.loadCoin, this); - game.time.events.loop(Phaser.Timer.SECOND * npcSpawnRate, this.loadNPC, this); - - }, - - - //NPC SPAWN - loadNPC: function (){ - var newNpc = this.npcRacers.getFirstDead(); - //maintains that npc spawns just to right of screen - var xx = this.camera.view.right + 20; - var yy = this.lane(); - // newNpc.key = this.pickNPC(); - newNpc.anchor.set(0.5 , 0.5); - newNpc.reset(xx, yy); - newNpc.enabled = true; - newNpc.body.velocity.x = -200; - newNpc.animations.add("idle", this.pickNPC(), 12, true); - newNpc.animations.play("idle"); - newNpc.body.immovable = false; - newNpc.body.checkCollision.up = false; - newNpc.body.checkCollision.down = false; - newNpc.body.width = 60; - newNpc.body.height = 30; - newNpc.body.offset.setTo(3, 30); - }, - - //COIN SPAWN - loadCoin: function (){ - var coin = this.coins.getFirstDead(); - //y position - var yy = game.rnd.integerInRange(240, game.height-70); - //x position - maintains that coin spawns just to right of screen - var xx = this.camera.view.right + 20; - - - coin.reset(xx, yy); - coin.enabled = true; - coin.body.velocity.x = -200; - coin.animations.add("spin", [0, 1, 2, 3, 4, 5], 12, true); - coin.animations.play("spin"); - }, - - //COIN PICK UP - onPickUp: function (sprite, coin){ - coin.kill(); - score += 10; - // console.log("Your score is --> " + score); - this.coinBeep = game.add.audio("coinBeep"); - this.coinBeep.play('', 0, 1, false); - this.coinBeep.volume = 0.3; - }, - - - //COLLISION HANDLER - onCrash: function (sprite, npc){ - sprite.animations.play("crash"); - this.npc_explosion = game.add.audio("npc_explosion"); - this.npc_explosion.play('', 0, 1, false); - this.npc_explosion.volume = 0.3; - sprite.events.onAnimationComplete.add(function(){ - // console.log("Crash animation complete"); - sprite.animations.play("idle"); - }, this); - lives -= 1; - var heart = this.heartGroup.getFirstAlive(); - - heart.animations.add("drain", [0,1,2,3,4,5],12, false); - heart.animations.play("drain"); - - - //DECREASE SPEED OF GOPHER UPON COLLISON ... not working ?? - sprite.body.velocity.x = -500; - setTimeout(function(){ - heart.kill(); - }, 1000); - - //EXPLOSION - explosion = this.game.add.sprite(npc.body.x,npc.body.y,"explosion"); - explosion.anchor.setTo(0.1,0.5); - explosion.animations.add("explosion", [0, 1, 2, 3], 12, false); - explosion.animations.play("explosion", 12, false, true); - npc.kill(); - console.log("You have " + lives + "lives left!"); - - if(lives === 0){ - this.titleSong.stop(); - this.drivingSound.stop(); - game.state.start("StateOver"); - } - }, - - update: function (){ - this.sprite.body.maxVelocity.x= 500; - this.sprite.body.maxVelocity.y= 500; - //Allows for correct "z-index" of gopher - this.npcRacers.sort('y', Phaser.Group.SORT_ASCENDING); - - - //Collision checks - game.physics.arcade.collide(this.sprite, this.coins, null, this.onPickUp, this); - game.physics.arcade.collide(this.npcRacers, this.coins, null, this.NpcPickUp, this); - game.physics.arcade.collide(this.sprite, this.npcRacers, null, this.onCrash, this); - // timeText.text = '' + Math.round(game.time.now); - timeText.text = timeElapsed; - scoreText.text = score; - - //Cursors - Keyboard key check ⌨️ - if (game.input.keyboard.downDuration(Phaser.Keyboard.RIGHT)) { - this.accelerateSound.play('', 0, 1.4, false, true); - this.drivingSound.volume = 1.6; - - if(this.drivingSound._sound) { - this.drivingSound._sound.playbackRate.value = 1.4; - } - } - - if(cursors.right.isDown) { - this.sprite.body.velocity.x = 80; - - sky.tilePosition.x -=0.5; - mtn.tilePosition.x -=0.7; - city.tilePosition.x -=0.9; - truck.tilePosition.x -=2; - road.tilePosition.x -=2; - bottomRail.tilePosition.x -= 2; - posts.tilePosition.x -=5; - extras.tilePosition.x -=5; - topRail.tilePosition.x -=2; - - } - - if(cursors.right.isUp) { - this.sprite.body.velocity.x = -150; - this.drivingSound.volume = 1.3; - - if(this.drivingSound._sound) { - this.drivingSound._sound.playbackRate.value = 1.0; - } - } - - if(cursors.up.isDown) { - this.sprite.body.velocity.y = -90; - } - - if(cursors.up.isUp) { - this.sprite.body.velocity.y = 0; - } - - if(cursors.down.isDown) { - this.sprite.body.velocity.y = 90; - } - - if(cursors.left.isDown) { - this.sprite.body.velocity.x = -250; - } - - if(this.sprite.ythis.bottom) { - this.sprite.y = this.bottom; - } - - }, - - render: function () { - // game.debug.body(this.sprite); - // game.debug.text('Sprite z-depth: ' + this.sprite.z, 10, 20); - // console.log('NPCs z-depth: ' + this.npcRacers.z); - }, - -};//END StateMain diff --git a/tools/gopher-kart/js/stateOver.js b/tools/gopher-kart/js/stateOver.js deleted file mode 100644 index 5f35b27..0000000 --- a/tools/gopher-kart/js/stateOver.js +++ /dev/null @@ -1,86 +0,0 @@ -var StateOver = { - preload : function(){ - game.load.spritesheet("blue", "assets/gopher-blue-updated.png", 64, 60, 14); - - game.load.image("gameOver", "assets/game-over.png"); - //Road - game.load.image("road", "assets/road-tile.png"); - //Top rail - game.load.image("topRail", "assets/top-rail-long.png"); - //Scene Extras - game.load.image("extras", "assets/signs.png"); - //Light Posts - game.load.image("posts", "assets/light-posts.png"); - //Truck - game.load.image("truck", "assets/truck.png"); - //Bottom rail - game.load.image("bottomRail", "assets/bottom-rail-long.png"); - //Add background - game.load.image("sky", "assets/clouds-re-colored.png"); - game.load.image("city", "assets/city-re-colored.png"); - game.load.image("mtn", "assets/mountains-recolored.png"); - game.load.image("background", "assets/bg-color.png"); - game.load.image("try-again", "assets/try-again.png"); - game.load.image("post-score", "assets/post-score.png"); - //Font - game.load.bitmapFont('pixelFont', 'assets/fonts/bitmapFonts/pixelFont.png', 'assets/fonts/bitmapFonts/pixelFont.xml'); - game.load.audio("gameOver", "assets/music/goverrr-compressed.m4a"); - - }, - - create : function(){ - // console.log("your final score is : " + score); - - this.gameOverSong = game.add.audio("gameOver"); - this.gameOverSong.play('', 0, 1, true); - this.gameOverSong.volume = 0.5; - - background = game.add.tileSprite(0, 0, 600, 432, "background"); - var sky = game.add.tileSprite(0, 6, 600, 78, "sky"); - var mtn = game.add.tileSprite(0, 62, 600, 133, "mtn"); - var city = game.add.tileSprite(0, 107, 600, 90, "city"); - var truck = game.add.tileSprite(0, 84, 3000, 142, "truck"); - var road = game.add.tileSprite(0, 226, 600, 159, "road"); - var bottomRail = game.add.tileSprite(0, 385, 600, 47, "bottomRail"); - var posts = game.add.tileSprite(0, 15, 3000, 182, "posts"); - var extras = game.add.tileSprite(0, 120, 3000, 84, "extras"); - var topRail = game.add.tileSprite(0, 197, 600, 29, "topRail"); - var gameOver = game.add.tileSprite(200, 80, 187, 101, "gameOver"); - sky.autoScroll(-5,0); - - //TEXT - scoreText = game.add.bitmapText(game.world.bounds.height - 130, 240, 'pixelFont', '0', 21); - scoreText.anchor.set(0.5, 0.5); - scoreText.text = "Your score: " + score; - - //Define and add game buttons - this.tutorial = game.add.button(232, game.world.height-85, "try-again", this.startGame, this, 1, 0, 1); - // this.tutorial = game.add.button(335, game.world.height-85, "post-score", this.startGame, this, 1, 0, 1); - - this.sprite = game.add.sprite(300, 289, character); - this.sprite.anchor.set(0.5, 0.5); - this.sprite.animations.add("crashed", [7,8,9,10], 9, true); - this.sprite.animations.play("crashed"); - }, - - startGame: function (){ - - //Reset game values - score = 0; - lives = 3; - timeElapsed = 0; - // npcSpawnRate = 3; - // coinSpawnRate = 1; - character = undefined; - //Turn off previous song (stateMain) - this.gameOverSong.stop(); - this.camera.reset(); - game.state.start("StateChoice"); - }, - - update : function(){ - - }, - - -}; diff --git a/tools/gopher-kart/js/stateTitle.js b/tools/gopher-kart/js/stateTitle.js deleted file mode 100644 index ff3ff28..0000000 --- a/tools/gopher-kart/js/stateTitle.js +++ /dev/null @@ -1,80 +0,0 @@ -var StateTitle = { - preload: function(){ - game.load.bitmapFont('pixelFont', 'assets/fonts/bitmapFonts/pixelFont.png', 'assets/fonts/bitmapFonts/pixelFont.xml'); - game.load.audio("title", "assets/music/BeepBox-Song2-compressed.m4a"); - game.load.image("city", "assets/city-re-colored.png"); - game.load.audio("select_button", "assets/music/sfx/select.wav"); - game.stage.backgroundColor = 0xe9fffe; - game.load.spritesheet("logo", "assets/menu-animation.png", 576, 334, 28); - //Need to add buttons for: - //1. Start game - //2. Tutorial?? - game.load.spritesheet("buttons", "assets/main-menu-buttons.png", 217, 40, 2); - game.load.spritesheet("controls-buttons", "assets/controls-button.png", 108, 32, 2); - //Need: "best played in landscape-view image for mobile" - - //Temp button for tutorial button - game.load.image("tutorial", "assets/try-again.png"); - game.load.image("background", "assets/bg-color.png"); - game.load.image("sky", "assets/clouds-re-colored.png"); - game.load.image("mtn", "assets/mountains-recolored.png"); - }, - - create: function (){ - // game.scale.pageAlignHorizontally = true; - // game.scale.pageAlignVertically = true; - // game.scale.scaleMode = Phaser.ScaleManager.SHOW_ALL; - // game.stage.disableVisibilityChange = true; - - background = game.add.tileSprite(0, 0, 600, 432, "background"); - this.titleSong = game.add.audio("title"); - this.titleSong.play('', 0, 1, true); - - this.sky = game.add.tileSprite(0, 10, 600, 78, "sky"); - this.mtn = game.add.tileSprite(0, 295, 600, 131, "mtn"); - this.city = game.add.tileSprite(0, 342, 600, 90, "city"); - - this.logo = game.add.sprite(game.world.centerX, game.world.height-250, "logo"); - this.logo.anchor.set(0.5, 0.5); - this.logo.animations.add("menu", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28], 12, true); - this.logo.animations.play("menu"); - - //Define and add game buttons - this.startBtn = game.add.button(285, game.world.height-60, "buttons", this.startGame, this, 1, 0, 1); - this.startBtn.anchor.set(0.5, 0.5); - - //Define and add game buttons - this.tutorial = game.add.button(486, game.world.height-37, "controls-buttons", this.startTutorial, this, 1, 0, 1); - this.startBtn.anchor.set(0.5, 0.5); - - //Enable input - //Call setListeners(); - - var bmpText; - bmpText = game.add.bitmapText(155, 400, 'pixelFont', '©2018 Ardan Labs', 21); - }, - - startGame: function (){ - this.select_button = game.add.audio("select_button"); - this.select_button.play('', 0, 1, false); - this.select_button.volume = 0.3; - this.titleSong.stop(); - game.state.start("StateChoice"); - }, - - startTutorial: function(){ - this.titleSong.stop(); - game.state.start("StateTutorial"); - }, - - //Define setListeners function - //Add listeners for correct and incorrect screen orientation - - update: function (){ - this.mtn.tilePosition.x -= 1; - this.sky.tilePosition.x -= 0.5; - this.city.tilePosition.x -= 1.5; - }, - -}; //END StateTitle diff --git a/tools/gopher-kart/js/stateTutorial.js b/tools/gopher-kart/js/stateTutorial.js deleted file mode 100644 index 9662b44..0000000 --- a/tools/gopher-kart/js/stateTutorial.js +++ /dev/null @@ -1,51 +0,0 @@ -var StateTutorial = { - - preload: function(){ - game.load.image("background", "assets/bg-color.png"); - game.load.spritesheet("controls", "assets/controls-animation.png", 600, 432, 24); - game.load.spritesheet("back-button", "assets/back-button.png", 65, 32, 2); - game.load.spritesheet("play-button", "assets/play-button.png", 65, 32, 2); - game.load.audio("tutorial", "assets/music/tutorialScreenJam-compressed.m4a"); - - }, - - create: function(){ - //MUSIC - this.tutorialSong = game.add.audio("tutorial"); - this.tutorialSong.play('', 0, 1, true); - this.tutorialSong.volume = 0.5; - - background = game.add.tileSprite(0, 0, 600, 432, "background"); - - this.controls = game.add.sprite(game.world.centerX, game.world.height-215, "controls"); - this.controls.anchor.set(0.5, 0.5); - this.controls.animations.add("controls-animation", [], 6, true); - this.controls.animations.play("controls-animation"); - - //Back Button - this.startBtn = game.add.button(40, game.world.height-20, - "back-button", this.startMain, this, 1, 0, 1); - this.startBtn.anchor.set(0.5, 0.5); - - //Define and add game buttons - this.startBtn = game.add.button(563, game.world.height-20, - "play-button", this.startGame, this, 1, 0, 1); - this.startBtn.anchor.set(0.5, 0.5); - }, - - startGame: function (){ - this.tutorialSong.stop(); - game.state.start("StateChoice"); - - }, - - startMain: function (){ - this.tutorialSong.stop(); - game.state.start("StateTitle"); - - }, - - update: function(){ - }, - -}; diff --git a/tools/gopher-kart/leaderboard.html b/tools/gopher-kart/leaderboard.html deleted file mode 100644 index 61910df..0000000 --- a/tools/gopher-kart/leaderboard.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - Race - - - - - - - -
-

High Scores

-
-
-
-
RANK
-
SCORE
-
NAME
-
-
-
1ST
-
300000
-
BOB
-
-
-
2ND
-
200000
-
JOE
-
-
-
3RD
-
100000
-
MAC
-
- -
-
4TH
-
100000
-
SAL
-
-
-
5TH
-
100000
-
PAM
-
-
-
6TH
-
100000
-
JIM
-
-
-
7TH
-
100000
-
RAY
-
-
-
8TH
-
100000
-
EMI
-
-
-
9TH
-
100000
-
JON
-
-
-
10TH
-
100000
-
COL
-
-
-
-
- - diff --git a/tools/hexgl/.gitignore b/tools/hexgl/.gitignore deleted file mode 100644 index e43b0f9..0000000 --- a/tools/hexgl/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.DS_Store diff --git a/tools/hexgl/.htaccess b/tools/hexgl/.htaccess deleted file mode 100644 index 836bfce..0000000 --- a/tools/hexgl/.htaccess +++ /dev/null @@ -1,2 +0,0 @@ -AddType application/x-web-app-manifest+json .webapp -AddType text/cache-manifest .appcache diff --git a/tools/hexgl/LICENSE b/tools/hexgl/LICENSE deleted file mode 100644 index ccdfb1c..0000000 --- a/tools/hexgl/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2015 Thibaut Despoulain - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/tools/hexgl/README.md b/tools/hexgl/README.md deleted file mode 100644 index 8c5c63e..0000000 --- a/tools/hexgl/README.md +++ /dev/null @@ -1,26 +0,0 @@ -HexGL -========= - -Source code of [HexGL](http://hexgl.bkcore.com), the futuristic HTML5 racing game by [Thibaut Despoulain](http://bkcore.com) - -## Branches - * **[Master](https://github.com/BKcore/HexGL)** - Public release (stable). - -## License - -Unless specified in the file, HexGL's code and resources are now licensed under the *MIT License*. - -## Installation - - cd ~/ - git clone git://github.com/BKcore/HexGL.git - cd HexGL - python -m SimpleHTTPServer - chromium index.html - -To use full size textures, swap the two textures/ and textures.full/ directories. - -## Note - -The development of HexGL is in a hiatus for now until I find some time and interest to work on it again. -That said, feel free to post issues, patches, or anything to make the game better and I'll gladly review and merge them. diff --git a/tools/hexgl/audio/LICENSE b/tools/hexgl/audio/LICENSE deleted file mode 100644 index a4888a5..0000000 --- a/tools/hexgl/audio/LICENSE +++ /dev/null @@ -1,28 +0,0 @@ -Licenses for the sound files -============================= - -*boost.ogg* - -Created by IFartInUrGeneralDirection and distributed under -Creative Commons 3.0 Attribution 3.0 Unported license. - -*crash.ogg* -Created by qubodup and is published into Public Domain. - -*wind.ogg* -Created by kangaroovindaloo and distributed under -Creative Commons 3.0 Attribution 3.0 Unported license. - -This SFX is further cutted and adjusted by Licson. - -*bg.ogg* -Created by mu6k and is released into Public Domain. - -Further adjusted by Licson. - -*destroyed.ogg* -Created by beman87 and is distributed under Creative Commons Attribution 3.0 Unported license. - -This SFX is further adjusted by Licson. - -All sound files converted to OGG Vorbis by baleboy using VLC Media Player. \ No newline at end of file diff --git a/tools/hexgl/audio/bg.ogg b/tools/hexgl/audio/bg.ogg deleted file mode 100644 index bcb0d27..0000000 Binary files a/tools/hexgl/audio/bg.ogg and /dev/null differ diff --git a/tools/hexgl/audio/boost.ogg b/tools/hexgl/audio/boost.ogg deleted file mode 100644 index bcbf20c..0000000 Binary files a/tools/hexgl/audio/boost.ogg and /dev/null differ diff --git a/tools/hexgl/audio/crash.ogg b/tools/hexgl/audio/crash.ogg deleted file mode 100644 index 8ff0301..0000000 Binary files a/tools/hexgl/audio/crash.ogg and /dev/null differ diff --git a/tools/hexgl/audio/destroyed.ogg b/tools/hexgl/audio/destroyed.ogg deleted file mode 100644 index 4918b1a..0000000 Binary files a/tools/hexgl/audio/destroyed.ogg and /dev/null differ diff --git a/tools/hexgl/audio/wind.ogg b/tools/hexgl/audio/wind.ogg deleted file mode 100644 index 812077e..0000000 Binary files a/tools/hexgl/audio/wind.ogg and /dev/null differ diff --git a/tools/hexgl/bkcore.coffee/ImageData.coffee b/tools/hexgl/bkcore.coffee/ImageData.coffee deleted file mode 100644 index aedf606..0000000 --- a/tools/hexgl/bkcore.coffee/ImageData.coffee +++ /dev/null @@ -1,141 +0,0 @@ -### - Loads an image and gives access to pixel data. - - @class bkcore.ImageData - @author Thibaut 'BKcore' Despoulain -### -class ImageData - - ### - Creates a new ImageData object - - @param path string The path of the image - @param callback function A callback function to be called - once th eimage is loaded - ### - constructor: (path, callback)-> - - @image = new Image - @pixels = null - @canvas = null - @loaded = false - - @image.onload = ()=> - - @canvas = document.createElement('canvas') - @canvas.width = @image.width - @canvas.height = @image.height - - context = @canvas.getContext('2d') - context.drawImage(@image, 0, 0) - - @pixels = context.getImageData(0,0, @canvas.width, @canvas.height) - @loaded = true - - context = null - @canvas = null - @image = null - - callback?.call(@) - - @image.crossOrigin = "anonymous" - @image.src = path - - ### - Gets pixel RGBA data at given index - - @param x int In pixels - @param y int In pixels - @return Object{r,g,b,a} - ### - getPixel: (x, y)-> - - if !@pixels? or x < 0 or y < 0 or x >= @pixels.width or y >= @pixels.height - return {r: 0, g: 0, b:0, a:0} - - i = (y*@pixels.width + x) * 4 - - return { - r: @pixels.data[i] - g: @pixels.data[i+1] - b: @pixels.data[i+2] - a: @pixels.data[i+3] - } - - ### - Gets pixel RGBA data at given float index using bilinear interpolation - - @param x float In subpixels - @param y float In subpixels - @return Object{r,g,b,a} - ### - getPixelBilinear: (fx, fy)-> - - x = Math.floor(fx) - y = Math.floor(fy) - rx = fx - x - .5 - ry = fy - y - .5 - ax = Math.abs(rx) - ay = Math.abs(ry) - dx = if rx < 0 then -1 else 1 - dy = if ry < 0 then -1 else 1 - - c = @getPixel(x, y) - cx = @getPixel(x+dx, y) - cy = @getPixel(x, y+dy) - cxy = @getPixel(x+dx, y+dy) - - cf1 = [ - (1-ax) * c.r + ax * cx.r - (1-ax) * c.g + ax * cx.g - (1-ax) * c.b + ax * cx.b - (1-ax) * c.a + ax * cx.a - ] - - cf2 = [ - (1-ax) * cy.r + ax * cxy.r - (1-ax) * cy.g + ax * cxy.g - (1-ax) * cy.b + ax * cxy.b - (1-ax) * cy.a + ax * cxy.a - ] - - return { - r: (1-ay) * cf1[0] + ay * cf2[0] - g: (1-ay) * cf1[1] + ay * cf2[1] - b: (1-ay) * cf1[2] + ay * cf2[2] - a: (1-ay) * cf1[3] + ay * cf2[3] - } - - ### - Gets pixel data at given index - as 3-bytes integer (for floating-point textures erzats, from RGB values) - - @param x int In pixels - @param y int In pixels - @return int (R + G*255 + B*255*255) - ### - getPixelF: (x, y)-> - - c = @getPixel(x, y) - return c.r + c.g * 255 + c.b * 255 * 255 - - ### - Gets pixel data at given float index using bilinear interpolationas - as 3-bytes integer (for floating-point textures erzats, from RGB values) - - @param x float In subpixels - @param y float In subpixels - @return Object{r,g,b,a} - ### - getPixelFBilinear: (fx, fy)-> - - c = @getPixelBilinear(fx, fy) - return c.r + c.g * 255 + c.b * 255 * 255 - -### - Exports - @package bkcore -### -exports = exports ? @ -exports.bkcore ||= {} -exports.bkcore.ImageData = ImageData \ No newline at end of file diff --git a/tools/hexgl/bkcore.coffee/ImageData.js b/tools/hexgl/bkcore.coffee/ImageData.js deleted file mode 100644 index a24ee84..0000000 --- a/tools/hexgl/bkcore.coffee/ImageData.js +++ /dev/null @@ -1,156 +0,0 @@ -// Generated by CoffeeScript 1.4.0 - -/* - Loads an image and gives access to pixel data. - - @class bkcore.ImageData - @author Thibaut 'BKcore' Despoulain -*/ - - -(function() { - var ImageData, exports; - - ImageData = (function() { - /* - Creates a new ImageData object - - @param path string The path of the image - @param callback function A callback function to be called - once th eimage is loaded - */ - - function ImageData(path, callback) { - var _this = this; - this.image = new Image; - this.pixels = null; - this.canvas = null; - this.loaded = false; - this.image.onload = function() { - var context; - _this.canvas = document.createElement('canvas'); - _this.canvas.width = _this.image.width; - _this.canvas.height = _this.image.height; - context = _this.canvas.getContext('2d'); - context.drawImage(_this.image, 0, 0); - _this.pixels = context.getImageData(0, 0, _this.canvas.width, _this.canvas.height); - _this.loaded = true; - context = null; - _this.canvas = null; - _this.image = null; - return callback != null ? callback.call(_this) : void 0; - }; - this.image.crossOrigin = "anonymous"; - this.image.src = path; - } - - /* - Gets pixel RGBA data at given index - - @param x int In pixels - @param y int In pixels - @return Object{r,g,b,a} - */ - - - ImageData.prototype.getPixel = function(x, y) { - var i; - if (!(this.pixels != null) || x < 0 || y < 0 || x >= this.pixels.width || y >= this.pixels.height) { - return { - r: 0, - g: 0, - b: 0, - a: 0 - }; - } - i = (y * this.pixels.width + x) * 4; - return { - r: this.pixels.data[i], - g: this.pixels.data[i + 1], - b: this.pixels.data[i + 2], - a: this.pixels.data[i + 3] - }; - }; - - /* - Gets pixel RGBA data at given float index using bilinear interpolation - - @param x float In subpixels - @param y float In subpixels - @return Object{r,g,b,a} - */ - - - ImageData.prototype.getPixelBilinear = function(fx, fy) { - var ax, ay, c, cf1, cf2, cx, cxy, cy, dx, dy, rx, ry, x, y; - x = Math.floor(fx); - y = Math.floor(fy); - rx = fx - x - .5; - ry = fy - y - .5; - ax = Math.abs(rx); - ay = Math.abs(ry); - dx = rx < 0 ? -1 : 1; - dy = ry < 0 ? -1 : 1; - c = this.getPixel(x, y); - cx = this.getPixel(x + dx, y); - cy = this.getPixel(x, y + dy); - cxy = this.getPixel(x + dx, y + dy); - cf1 = [(1 - ax) * c.r + ax * cx.r, (1 - ax) * c.g + ax * cx.g, (1 - ax) * c.b + ax * cx.b, (1 - ax) * c.a + ax * cx.a]; - cf2 = [(1 - ax) * cy.r + ax * cxy.r, (1 - ax) * cy.g + ax * cxy.g, (1 - ax) * cy.b + ax * cxy.b, (1 - ax) * cy.a + ax * cxy.a]; - return { - r: (1 - ay) * cf1[0] + ay * cf2[0], - g: (1 - ay) * cf1[1] + ay * cf2[1], - b: (1 - ay) * cf1[2] + ay * cf2[2], - a: (1 - ay) * cf1[3] + ay * cf2[3] - }; - }; - - /* - Gets pixel data at given index - as 3-bytes integer (for floating-point textures erzats, from RGB values) - - @param x int In pixels - @param y int In pixels - @return int (R + G*255 + B*255*255) - */ - - - ImageData.prototype.getPixelF = function(x, y) { - var c; - c = this.getPixel(x, y); - return c.r + c.g * 255 + c.b * 255 * 255; - }; - - /* - Gets pixel data at given float index using bilinear interpolationas - as 3-bytes integer (for floating-point textures erzats, from RGB values) - - @param x float In subpixels - @param y float In subpixels - @return Object{r,g,b,a} - */ - - - ImageData.prototype.getPixelFBilinear = function(fx, fy) { - var c; - c = this.getPixelBilinear(fx, fy); - return c.r + c.g * 255 + c.b * 255 * 255; - }; - - return ImageData; - - })(); - - /* - Exports - @package bkcore - */ - - - exports = exports != null ? exports : this; - - exports.bkcore || (exports.bkcore = {}); - - exports.bkcore.ImageData = ImageData; - -}).call(this); diff --git a/tools/hexgl/bkcore.coffee/Timer.coffee b/tools/hexgl/bkcore.coffee/Timer.coffee deleted file mode 100644 index d978bae..0000000 --- a/tools/hexgl/bkcore.coffee/Timer.coffee +++ /dev/null @@ -1,118 +0,0 @@ -### - new Date().getTime() wrapper to use as timer. - - @class bkcore.Timer - @author Thibaut 'BKcore' Despoulain -### -class Timer - - ### - Creates a new timer, inactive by default. - Call Timer.start() to activate. - ### - constructor: ()-> - - @time = - start: 0 - current: 0 - previous: 0 - elapsed: 0 - delta: 0 - - @active = false - - ### - Starts/restarts the timer. - ### - start: ()-> - - now = (new Date).getTime() - - @time.start = now - @time.current = now - @time.previous = now - @time.elapsed = 0 - @time.delta = 0 - - @active = true - - ### - Pauses(true)/Unpauses(false) the timer. - - @param bool Do pause - ### - pause: (doPause)-> - - @active = not doPause - - ### - Update method to be called inside a RAF loop - ### - update: ()-> - - if not @active then return - - now = (new Date).getTime() - - @time.current = now - @time.elapsed = @time.current - @time.start - @time.delta = now - @time.previous - @time.previous = now - - ### - Returns a formatted version of the current elapsed time using msToTime(). - ### - getElapsedTime: ()-> - - return @constructor.msToTime(@time.elapsed) - - ### - Formats a millisecond integer into a h/m/s/ms object - - @param x int In milliseconds - @return Object{h,m,s,ms} - ### - @msToTime: (t)-> - - ms = t%1000 - s = Math.floor((t/1000)%60) - m = Math.floor((t/60000)%60) - h = Math.floor(t/3600000) - - return {h:h, m:m, s:s, ms,ms} - - ### - Formats a millisecond integer into a h/m/s/ms object with prefix zeros - - @param x int In milliseconds - @return Object{h,m,s,ms} - ### - @msToTimeString: (t)-> - - time = @msToTime(t) - - time.h = @zfill(time.h, 2) - time.m = @zfill(time.m, 2) - time.s = @zfill(time.s, 2) - time.ms = @zfill(time.ms, 4) - - return time - - ### - Convert given integer to string and fill with heading zeros - - @param num int Number to convert/fill - @param size int Desired string size - ### - @zfill: (num, size)-> - - len = size - num.toString().length - return if len > 0 then new Array(len+1).join('0') + num else num.toString() - -### - Exports - @package bkcore -### -exports = exports ? @ -exports.bkcore ||= {} -exports.bkcore.Timer = Timer \ No newline at end of file diff --git a/tools/hexgl/bkcore.coffee/Timer.js b/tools/hexgl/bkcore.coffee/Timer.js deleted file mode 100644 index 1de825b..0000000 --- a/tools/hexgl/bkcore.coffee/Timer.js +++ /dev/null @@ -1,159 +0,0 @@ -// Generated by CoffeeScript 1.4.0 - -/* - new Date().getTime() wrapper to use as timer. - - @class bkcore.Timer - @author Thibaut 'BKcore' Despoulain -*/ - - -(function() { - var Timer, exports; - - Timer = (function() { - /* - Creates a new timer, inactive by default. - Call Timer.start() to activate. - */ - - function Timer() { - this.time = { - start: 0, - current: 0, - previous: 0, - elapsed: 0, - delta: 0 - }; - this.active = false; - } - - /* - Starts/restarts the timer. - */ - - - Timer.prototype.start = function() { - var now; - now = (new Date).getTime(); - this.time.start = now; - this.time.current = now; - this.time.previous = now; - this.time.elapsed = 0; - this.time.delta = 0; - return this.active = true; - }; - - /* - Pauses(true)/Unpauses(false) the timer. - - @param bool Do pause - */ - - - Timer.prototype.pause = function(doPause) { - return this.active = !doPause; - }; - - /* - Update method to be called inside a RAF loop - */ - - - Timer.prototype.update = function() { - var now; - if (!this.active) { - return; - } - now = (new Date).getTime(); - this.time.current = now; - this.time.elapsed = this.time.current - this.time.start; - this.time.delta = now - this.time.previous; - return this.time.previous = now; - }; - - /* - Returns a formatted version of the current elapsed time using msToTime(). - */ - - - Timer.prototype.getElapsedTime = function() { - return this.constructor.msToTime(this.time.elapsed); - }; - - /* - Formats a millisecond integer into a h/m/s/ms object - - @param x int In milliseconds - @return Object{h,m,s,ms} - */ - - - Timer.msToTime = function(t) { - var h, m, ms, s; - ms = t % 1000; - s = Math.floor((t / 1000) % 60); - m = Math.floor((t / 60000) % 60); - h = Math.floor(t / 3600000); - return { - h: h, - m: m, - s: s, - ms: ms, - ms: ms - }; - }; - - /* - Formats a millisecond integer into a h/m/s/ms object with prefix zeros - - @param x int In milliseconds - @return Object{h,m,s,ms} - */ - - - Timer.msToTimeString = function(t) { - var time; - time = this.msToTime(t); - time.h = this.zfill(time.h, 2); - time.m = this.zfill(time.m, 2); - time.s = this.zfill(time.s, 2); - time.ms = this.zfill(time.ms, 4); - return time; - }; - - /* - Convert given integer to string and fill with heading zeros - - @param num int Number to convert/fill - @param size int Desired string size - */ - - - Timer.zfill = function(num, size) { - var len; - len = size - num.toString().length; - if (len > 0) { - return new Array(len + 1).join('0') + num; - } else { - return num.toString(); - } - }; - - return Timer; - - })(); - - /* - Exports - @package bkcore - */ - - - exports = exports != null ? exports : this; - - exports.bkcore || (exports.bkcore = {}); - - exports.bkcore.Timer = Timer; - -}).call(this); diff --git a/tools/hexgl/bkcore.coffee/Utils.coffee b/tools/hexgl/bkcore.coffee/Utils.coffee deleted file mode 100644 index 83a15b1..0000000 --- a/tools/hexgl/bkcore.coffee/Utils.coffee +++ /dev/null @@ -1,193 +0,0 @@ -### - Various useful methods - - @class bkcore.Utils - @author Thibaut 'BKcore' Despoulain -### -class Utils - - ### - Creates a bkcore.threejs.Shaders["normalV"|"normal"] material - with given parameters - ### - @createNormalMaterial = (opts)-> - - opts ?= {} - opts.ambient ?= 0x444444 - opts.normalScale ?= 1.0 - opts.reflectivity ?= 0.9 - opts.shininess ?= 42 - opts.metal ?= false - - shadername = if opts.perPixel then "normalV" else "normal" - shader = bkcore.threejs.Shaders[shadername] - uniforms = THREE.UniformsUtils.clone(shader.uniforms) - - uniforms["enableDiffuse"].value = true - uniforms["enableSpecular"].value = true - uniforms["enableReflection"].value = !!opts.cube - uniforms["tNormal"].texture = opts.normal - uniforms["tDiffuse"].texture = opts.diffuse - uniforms["tSpecular"].texture = opts.specular - uniforms["uAmbientColor"].value.setHex(opts.ambient) - uniforms["uAmbientColor"].value.convertGammaToLinear() - uniforms["uNormalScale"].value = opts.normalScale - - if opts.cube? - uniforms["tCube"].texture = opts.cube - uniforms["uReflectivity"].value = opts.reflectivity - - parameters = { - fragmentShader: shader.fragmentShader - vertexShader: shader.vertexShader - uniforms: uniforms - lights: true - fog: false - } - - material = new THREE.ShaderMaterial(parameters) - material.perPixel = true - material.metal = opts.metal - - return material - - ### - Projects an object origin vector to screen using given camera - @param THREE.Object3D object The object which origin you want to project - @param THREE.Camera camera The camera of the projection - @return THEE.Vector3 Projected verctor - ### - @projectOnScreen: (object, camera)-> - - mat = new THREE.Matrix4() - mat.multiply(camera.matrixWorldInverse, object.matrixWorld) - mat.multiply(camera.projectionMatrix , mat) - - c = mat.n44 - lPos = new THREE.Vector3(mat.n14/c, mat.n24/c, mat.n34/c) - return lPos.multiplyScalar(0.5).addScalar(0.5) - - ### - Get an url parameter - @param String name Parameter slug - @return Mixed - ### - @URLParameters: null - @getURLParameter: (name)-> - - if !@URLParameters? - @URLParameters = {} - window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, (m, key, val)=> - @URLParameters[key] = val - ) - - return @URLParameters[name] - - ### - Get top offset of an element - @param obj HTMLElement - ### - @getOffsetTop: (obj)-> - - curtop = obj.offsetTop - - if obj.offsetParent - while obj = obj.offsetParent - curtop += obj.offsetTop - - return curtop - - ### - Scrolls page to given element id - @param string id The ID of the element - ### - @scrollTo: (id)-> - - window.scroll(0, @getOffsetTop(document.getElementById(id))) - - ### - Add or remove a class from an element - @param string id [description] - @param string cssclass [description] - @param bool active [description] - ### - @updateClass: (id, cssclass, active)-> - - e = document.getElementById(id) - return unless e? - - if active - e.classList.add(cssclass) - else - e.classList.remove(cssclass) - - ### - Performs an XMLHttpRequest - @param string url [description] - @param bool postData true = POST, false = GET - @param {Function} callback [description] - @param {Object} data [description] - ### - @request: (url, postData, callback, data)-> - - XMLHttpFactories = [ - ()-> return new XMLHttpRequest() - ()-> return new ActiveXObject("Msxml2.XMLHTTP") - ()-> return new ActiveXObject("Msxml3.XMLHTTP") - ()-> return new ActiveXObject("Microsoft.XMLHTTP") - ] - - createXMLHTTPObject = () -> - - xmlhttp = false - - for i in [0..XMLHttpFactories.length] - try - xmlhttp = XMLHttpFactories[i]() - catch e - continue - break - - return xmlhttp - - req = createXMLHTTPObject() - return unless req? - - method = if postData? then "POST" else "GET" - - qdata = "o=bk" - if data? - for i, val of data - qdata += "&"+i+"="+val - url += "?"+qdata if postData? - - req.open(method,url,true) - - if postData? - req.setRequestHeader('Content-type','application/x-www-form-urlencoded') - - req.onreadystatechange = () -> - return unless req.readyState is 4 - return unless req.status is 200 or req.status is 304 - callback?(req) - - req.send(qdata) - - return req - - ### - Checks whether the device supports Touch input - ### - @isTouchDevice: ()-> - - return ('ontouchstart' of window) or - (navigator.MaxTouchPoints > 0) or - (navigator.msMaxTouchPoints > 0) - -### - Exports - @package bkcore -### -exports = exports ? @ -exports.bkcore ||= {} -exports.bkcore.Utils = Utils \ No newline at end of file diff --git a/tools/hexgl/bkcore.coffee/Utils.js b/tools/hexgl/bkcore.coffee/Utils.js deleted file mode 100644 index 2f2314e..0000000 --- a/tools/hexgl/bkcore.coffee/Utils.js +++ /dev/null @@ -1,250 +0,0 @@ -// Generated by CoffeeScript 1.7.1 - -/* - Various useful methods - - @class bkcore.Utils - @author Thibaut 'BKcore' Despoulain - */ - -(function() { - var Utils, exports; - - Utils = (function() { - - /* - Creates a bkcore.threejs.Shaders["normalV"|"normal"] material - with given parameters - */ - function Utils() {} - - Utils.createNormalMaterial = function(opts) { - var material, parameters, shader, shadername, uniforms; - if (opts == null) { - opts = {}; - } - if (opts.ambient == null) { - opts.ambient = 0x444444; - } - if (opts.normalScale == null) { - opts.normalScale = 1.0; - } - if (opts.reflectivity == null) { - opts.reflectivity = 0.9; - } - if (opts.shininess == null) { - opts.shininess = 42; - } - if (opts.metal == null) { - opts.metal = false; - } - shadername = opts.perPixel ? "normalV" : "normal"; - shader = bkcore.threejs.Shaders[shadername]; - uniforms = THREE.UniformsUtils.clone(shader.uniforms); - uniforms["enableDiffuse"].value = true; - uniforms["enableSpecular"].value = true; - uniforms["enableReflection"].value = !!opts.cube; - uniforms["tNormal"].texture = opts.normal; - uniforms["tDiffuse"].texture = opts.diffuse; - uniforms["tSpecular"].texture = opts.specular; - uniforms["uAmbientColor"].value.setHex(opts.ambient); - uniforms["uAmbientColor"].value.convertGammaToLinear(); - uniforms["uNormalScale"].value = opts.normalScale; - if (opts.cube != null) { - uniforms["tCube"].texture = opts.cube; - uniforms["uReflectivity"].value = opts.reflectivity; - } - parameters = { - fragmentShader: shader.fragmentShader, - vertexShader: shader.vertexShader, - uniforms: uniforms, - lights: true, - fog: false - }; - material = new THREE.ShaderMaterial(parameters); - material.perPixel = true; - material.metal = opts.metal; - return material; - }; - - - /* - Projects an object origin vector to screen using given camera - @param THREE.Object3D object The object which origin you want to project - @param THREE.Camera camera The camera of the projection - @return THEE.Vector3 Projected verctor - */ - - Utils.projectOnScreen = function(object, camera) { - var c, lPos, mat; - mat = new THREE.Matrix4(); - mat.multiply(camera.matrixWorldInverse, object.matrixWorld); - mat.multiply(camera.projectionMatrix, mat); - c = mat.n44; - lPos = new THREE.Vector3(mat.n14 / c, mat.n24 / c, mat.n34 / c); - return lPos.multiplyScalar(0.5).addScalar(0.5); - }; - - - /* - Get an url parameter - @param String name Parameter slug - @return Mixed - */ - - Utils.URLParameters = null; - - Utils.getURLParameter = function(name) { - if (this.URLParameters == null) { - this.URLParameters = {}; - window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, (function(_this) { - return function(m, key, val) { - return _this.URLParameters[key] = val; - }; - })(this)); - } - return this.URLParameters[name]; - }; - - - /* - Get top offset of an element - @param obj HTMLElement - */ - - Utils.getOffsetTop = function(obj) { - var curtop; - curtop = obj.offsetTop; - if (obj.offsetParent) { - while (obj = obj.offsetParent) { - curtop += obj.offsetTop; - } - } - return curtop; - }; - - - /* - Scrolls page to given element id - @param string id The ID of the element - */ - - Utils.scrollTo = function(id) { - return window.scroll(0, this.getOffsetTop(document.getElementById(id))); - }; - - - /* - Add or remove a class from an element - @param string id [description] - @param string cssclass [description] - @param bool active [description] - */ - - Utils.updateClass = function(id, cssclass, active) { - var e; - e = document.getElementById(id); - if (e == null) { - return; - } - if (active) { - return e.classList.add(cssclass); - } else { - return e.classList.remove(cssclass); - } - }; - - - /* - Performs an XMLHttpRequest - @param string url [description] - @param bool postData true = POST, false = GET - @param {Function} callback [description] - @param {Object} data [description] - */ - - Utils.request = function(url, postData, callback, data) { - var XMLHttpFactories, createXMLHTTPObject, i, method, qdata, req, val; - XMLHttpFactories = [ - function() { - return new XMLHttpRequest(); - }, function() { - return new ActiveXObject("Msxml2.XMLHTTP"); - }, function() { - return new ActiveXObject("Msxml3.XMLHTTP"); - }, function() { - return new ActiveXObject("Microsoft.XMLHTTP"); - } - ]; - createXMLHTTPObject = function() { - var e, i, xmlhttp, _i, _ref; - xmlhttp = false; - for (i = _i = 0, _ref = XMLHttpFactories.length; 0 <= _ref ? _i <= _ref : _i >= _ref; i = 0 <= _ref ? ++_i : --_i) { - try { - xmlhttp = XMLHttpFactories[i](); - } catch (_error) { - e = _error; - continue; - } - break; - } - return xmlhttp; - }; - req = createXMLHTTPObject(); - if (req == null) { - return; - } - method = postData != null ? "POST" : "GET"; - qdata = "o=bk"; - if (data != null) { - for (i in data) { - val = data[i]; - qdata += "&" + i + "=" + val; - if (postData != null) { - url += "?" + qdata; - } - } - } - req.open(method, url, true); - if (postData != null) { - req.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); - } - req.onreadystatechange = function() { - if (req.readyState !== 4) { - return; - } - if (!(req.status === 200 || req.status === 304)) { - return; - } - return typeof callback === "function" ? callback(req) : void 0; - }; - req.send(qdata); - return req; - }; - - - /* - Checks whether the device supports Touch input - */ - - Utils.isTouchDevice = function() { - return ('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0); - }; - - return Utils; - - })(); - - - /* - Exports - @package bkcore - */ - - exports = exports != null ? exports : this; - - exports.bkcore || (exports.bkcore = {}); - - exports.bkcore.Utils = Utils; - -}).call(this); diff --git a/tools/hexgl/bkcore.coffee/controllers/GamepadController.coffee b/tools/hexgl/bkcore.coffee/controllers/GamepadController.coffee deleted file mode 100644 index 38c0908..0000000 --- a/tools/hexgl/bkcore.coffee/controllers/GamepadController.coffee +++ /dev/null @@ -1,45 +0,0 @@ -### - GamepadController (Orientation + buttons) for touch devices - - @class bkcore.GamepadController - @author Mahesh Kulkarni -### -class GamepadController - - @isCompatible: -> - return ('getGamepads' of navigator) or ('webkitGetGamepads' of navigator) - - ### - Creates a new GamepadController - ### - constructor: (@buttonPressCallback) -> - @active = true - @leftStickArray = [] - @rightStickArray = [] - - ### - @public - ### - updateAvailable: -> - return false if not @active - gamepads = if navigator.getGamepads then navigator.getGamepads() else navigator.webkitGetGamepads() - return false if not gamepads?[0] - gp = gamepads[0] - return if not gp.buttons? or not gp.axes? - @lstickx = gp.axes[0] - accel = gp.buttons[0] - lt = gp.buttons[6] - rt = gp.buttons[7] - sel = gp.buttons[8] - # API fallback - @acceleration = accel.pressed ? accel - @ltrigger = lt.pressed ? lt - @rtrigger = rt.pressed ? rt - @select = sel.pressed ? sel - @buttonPressCallback this - true - -exports = exports ? @ -exports.bkcore ||= {} -exports.bkcore.controllers ||= {} -exports.bkcore.controllers.GamepadController = GamepadController diff --git a/tools/hexgl/bkcore.coffee/controllers/GamepadController.js b/tools/hexgl/bkcore.coffee/controllers/GamepadController.js deleted file mode 100644 index 5e77631..0000000 --- a/tools/hexgl/bkcore.coffee/controllers/GamepadController.js +++ /dev/null @@ -1,73 +0,0 @@ -// Generated by CoffeeScript 1.6.3 -/* - GamepadController (Orientation + buttons) for touch devices - - @class bkcore.GamepadController - @author Mahesh Kulkarni -*/ - - -(function() { - var GamepadController, exports, _base; - - GamepadController = (function() { - GamepadController.isCompatible = function() { - return ('getGamepads' in navigator) || ('webkitGetGamepads' in navigator); - }; - - /* - Creates a new GamepadController - */ - - - function GamepadController(buttonPressCallback) { - this.buttonPressCallback = buttonPressCallback; - this.active = true; - this.leftStickArray = []; - this.rightStickArray = []; - } - - /* - @public - */ - - - GamepadController.prototype.updateAvailable = function() { - var accel, gamepads, gp, lt, rt, sel, _ref, _ref1, _ref2, _ref3; - if (!this.active) { - return false; - } - gamepads = navigator.getGamepads ? navigator.getGamepads() : navigator.webkitGetGamepads(); - if (!(gamepads != null ? gamepads[0] : void 0)) { - return false; - } - gp = gamepads[0]; - if ((gp.buttons == null) || (gp.axes == null)) { - return; - } - this.lstickx = gp.axes[0]; - accel = gp.buttons[0]; - lt = gp.buttons[6]; - rt = gp.buttons[7]; - sel = gp.buttons[8]; - this.acceleration = (_ref = accel.pressed) != null ? _ref : accel; - this.ltrigger = (_ref1 = lt.pressed) != null ? _ref1 : lt; - this.rtrigger = (_ref2 = rt.pressed) != null ? _ref2 : rt; - this.select = (_ref3 = sel.pressed) != null ? _ref3 : sel; - this.buttonPressCallback(this); - return true; - }; - - return GamepadController; - - })(); - - exports = exports != null ? exports : this; - - exports.bkcore || (exports.bkcore = {}); - - (_base = exports.bkcore).controllers || (_base.controllers = {}); - - exports.bkcore.controllers.GamepadController = GamepadController; - -}).call(this); diff --git a/tools/hexgl/bkcore.coffee/controllers/OrientationController.coffee b/tools/hexgl/bkcore.coffee/controllers/OrientationController.coffee deleted file mode 100644 index f9db7c4..0000000 --- a/tools/hexgl/bkcore.coffee/controllers/OrientationController.coffee +++ /dev/null @@ -1,72 +0,0 @@ -### - OrientationController (Orientation + buttons) for touch devices - - @class bkcore.OrientationController - @author Thibaut 'BKcore' Despoulain -### -class OrientationController - - @isCompatible: -> - return ('DeviceOrientationEvent' of window) - - ### - Creates a new OrientationController - - @param dom DOMElement The element that will listen to touch events - @param registerTouch bool Enable touch detection - @param touchCallback function Callback for touches - ### - constructor: (@dom, @registerTouch=true, @touchCallback=null) -> - @active = true - @alpha = 0.0 - @beta = 0.0 - @gamma = 0.0 - @dalpha = null - @dbeta = null - @dgamma = null - @touches = null - - window.addEventListener('deviceorientation', ((e)=> @orientationChange(e)), false) - if @registerTouch - @dom.addEventListener('touchstart', ((e)=> @touchStart(e)), false) - @dom.addEventListener('touchend', ((e)=> @touchEnd(e)), false) - - ### - @private - ### - orientationChange: (event) -> - return if not @active - if(@dalpha == null) - console.log "calbrate", event.beta - @dalpha = event.alpha - @dbeta = event.beta - @dgamma = event.gamma - @alpha = event.alpha - @dalpha - @beta = event.beta - @dbeta - @gamma = event.gamma - @dgamma - false - - ### - @private - ### - touchStart: (event) -> - return if not @active - for touch in event.changedTouches - @touchCallback?(on, touch, event) - @touches = event.touches - false - - ### - @private - ### - touchEnd: (event) -> - return if not @active - for touch in event.changedTouches - @touchCallback?(on, touch, event) - @touches = event.touches - false - -exports = exports ? @ -exports.bkcore ||= {} -exports.bkcore.controllers ||= {} -exports.bkcore.controllers.OrientationController = OrientationController \ No newline at end of file diff --git a/tools/hexgl/bkcore.coffee/controllers/OrientationController.js b/tools/hexgl/bkcore.coffee/controllers/OrientationController.js deleted file mode 100644 index 9484a33..0000000 --- a/tools/hexgl/bkcore.coffee/controllers/OrientationController.js +++ /dev/null @@ -1,130 +0,0 @@ -// Generated by CoffeeScript 1.4.0 - -/* - OrientationController (Orientation + buttons) for touch devices - - @class bkcore.OrientationController - @author Thibaut 'BKcore' Despoulain -*/ - - -(function() { - var OrientationController, exports, _base; - - OrientationController = (function() { - - OrientationController.isCompatible = function() { - return 'DeviceOrientationEvent' in window; - }; - - /* - Creates a new OrientationController - - @param dom DOMElement The element that will listen to touch events - @param registerTouch bool Enable touch detection - @param touchCallback function Callback for touches - */ - - - function OrientationController(dom, registerTouch, touchCallback) { - var _this = this; - this.dom = dom; - this.registerTouch = registerTouch != null ? registerTouch : true; - this.touchCallback = touchCallback != null ? touchCallback : null; - this.active = true; - this.alpha = 0.0; - this.beta = 0.0; - this.gamma = 0.0; - this.dalpha = null; - this.dbeta = null; - this.dgamma = null; - this.touches = null; - window.addEventListener('deviceorientation', (function(e) { - return _this.orientationChange(e); - }), false); - if (this.registerTouch) { - this.dom.addEventListener('touchstart', (function(e) { - return _this.touchStart(e); - }), false); - this.dom.addEventListener('touchend', (function(e) { - return _this.touchEnd(e); - }), false); - } - } - - /* - @private - */ - - - OrientationController.prototype.orientationChange = function(event) { - if (!this.active) { - return; - } - if (this.dalpha === null) { - console.log("calbrate", event.beta); - this.dalpha = event.alpha; - this.dbeta = event.beta; - this.dgamma = event.gamma; - } - this.alpha = event.alpha - this.dalpha; - this.beta = event.beta - this.dbeta; - this.gamma = event.gamma - this.dgamma; - return false; - }; - - /* - @private - */ - - - OrientationController.prototype.touchStart = function(event) { - var touch, _i, _len, _ref; - if (!this.active) { - return; - } - _ref = event.changedTouches; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - touch = _ref[_i]; - if (typeof this.touchCallback === "function") { - this.touchCallback(true, touch, event); - } - } - this.touches = event.touches; - return false; - }; - - /* - @private - */ - - - OrientationController.prototype.touchEnd = function(event) { - var touch, _i, _len, _ref; - if (!this.active) { - return; - } - _ref = event.changedTouches; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - touch = _ref[_i]; - if (typeof this.touchCallback === "function") { - this.touchCallback(true, touch, event); - } - } - this.touches = event.touches; - return false; - }; - - return OrientationController; - - })(); - - exports = exports != null ? exports : this; - - exports.bkcore || (exports.bkcore = {}); - - (_base = exports.bkcore).controllers || (_base.controllers = {}); - - exports.bkcore.controllers.OrientationController = OrientationController; - -}).call(this); diff --git a/tools/hexgl/bkcore.coffee/controllers/TouchController.coffee b/tools/hexgl/bkcore.coffee/controllers/TouchController.coffee deleted file mode 100644 index 24b749e..0000000 --- a/tools/hexgl/bkcore.coffee/controllers/TouchController.coffee +++ /dev/null @@ -1,109 +0,0 @@ -### - TouchController (stick + buttons) for touch devices - Based on the touch demo by Seb Lee-Delisle - - @class bkcore.controllers.TouchController - @author Thibaut 'BKcore' Despoulain -### -class TouchController - - @isCompatible: -> - return ('ontouchstart' of document.documentElement); - - ### - Creates a new TouchController - - @param dom DOMElement The element that will listen to touch events - @param stickMargin int The left margin in px for stick detection - @param buttonCallback function Callback for non-stick touches - ### - constructor: (@dom, @stickMargin=200, @buttonCallback=null) -> - @active = true - @touches = null - @stickID = -1 - @stickPos = new Vec2(0, 0) - @stickStartPos = new Vec2(0, 0) - @stickVector = new Vec2(0, 0) - - @dom.addEventListener('touchstart', ((e)=> @touchStart(e)), false) - @dom.addEventListener('touchmove', ((e)=> @touchMove(e)), false) - @dom.addEventListener('touchend', ((e)=> @touchEnd(e)), false) - - ### - @private - ### - touchStart: (event) -> - return if not @active - for touch in event.changedTouches - if @stickID < 0 and touch.clientX < @stickMargin - @stickID = touch.identifier - @stickStartPos.set(touch.clientX, touch.clientY) - @stickPos.copy(@stickStartPos) - @stickVector.set(0, 0) - continue - else - @buttonCallback?(on, touch, event) - @touches = event.touches - false - - ### - @private - ### - touchMove: (event) -> - event.preventDefault() - return if not @active - for touch in event.changedTouches - if @stickID is touch.identifier and touch.clientX < @stickMargin - @stickPos.set(touch.clientX, touch.clientY) - @stickVector.copy(@stickPos).substract(@stickStartPos) - break - @touches = event.touches - false - - ### - @private - ### - touchEnd: (event) -> - return if not @active - @touches = event.touches - for touch in event.changedTouches - if @stickID is touch.identifier - @stickID = -1 - @stickVector.set(0, 0) - break - else - @buttonCallback?(off, touch, event) - false - -### - Internal class used for vector2 - @class Vec2 - @private -### -class Vec2 - - constructor: (@x = 0, @y = 0) -> - - substract: (vec) -> - @x -= vec.x - @y -= vec.y - @ - - copy: (vec) -> - @x = vec.x - @y = vec.y - @ - - set: (x, y) -> - @x = x - @y = y - @ - -### - Exports - @package bkcore -### -exports = exports ? @ -exports.bkcore ||= {} -exports.bkcore.controllers ||= {} -exports.bkcore.controllers.TouchController = TouchController \ No newline at end of file diff --git a/tools/hexgl/bkcore.coffee/controllers/TouchController.js b/tools/hexgl/bkcore.coffee/controllers/TouchController.js deleted file mode 100644 index d8e7f15..0000000 --- a/tools/hexgl/bkcore.coffee/controllers/TouchController.js +++ /dev/null @@ -1,188 +0,0 @@ -// Generated by CoffeeScript 1.7.1 - -/* - TouchController (stick + buttons) for touch devices - Based on the touch demo by Seb Lee-Delisle - - @class bkcore.controllers.TouchController - @author Thibaut 'BKcore' Despoulain - */ - -(function() { - var TouchController, Vec2, exports, _base; - - TouchController = (function() { - TouchController.isCompatible = function() { - return 'ontouchstart' in document.documentElement; - }; - - - /* - Creates a new TouchController - - @param dom DOMElement The element that will listen to touch events - @param stickMargin int The left margin in px for stick detection - @param buttonCallback function Callback for non-stick touches - */ - - function TouchController(dom, stickMargin, buttonCallback) { - this.dom = dom; - this.stickMargin = stickMargin != null ? stickMargin : 200; - this.buttonCallback = buttonCallback != null ? buttonCallback : null; - this.active = true; - this.touches = null; - this.stickID = -1; - this.stickPos = new Vec2(0, 0); - this.stickStartPos = new Vec2(0, 0); - this.stickVector = new Vec2(0, 0); - this.dom.addEventListener('touchstart', ((function(_this) { - return function(e) { - return _this.touchStart(e); - }; - })(this)), false); - this.dom.addEventListener('touchmove', ((function(_this) { - return function(e) { - return _this.touchMove(e); - }; - })(this)), false); - this.dom.addEventListener('touchend', ((function(_this) { - return function(e) { - return _this.touchEnd(e); - }; - })(this)), false); - } - - - /* - @private - */ - - TouchController.prototype.touchStart = function(event) { - var touch, _i, _len, _ref; - if (!this.active) { - return; - } - _ref = event.changedTouches; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - touch = _ref[_i]; - if (this.stickID < 0 && touch.clientX < this.stickMargin) { - this.stickID = touch.identifier; - this.stickStartPos.set(touch.clientX, touch.clientY); - this.stickPos.copy(this.stickStartPos); - this.stickVector.set(0, 0); - continue; - } else { - if (typeof this.buttonCallback === "function") { - this.buttonCallback(true, touch, event); - } - } - } - this.touches = event.touches; - return false; - }; - - - /* - @private - */ - - TouchController.prototype.touchMove = function(event) { - var touch, _i, _len, _ref; - event.preventDefault(); - if (!this.active) { - return; - } - _ref = event.changedTouches; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - touch = _ref[_i]; - if (this.stickID === touch.identifier && touch.clientX < this.stickMargin) { - this.stickPos.set(touch.clientX, touch.clientY); - this.stickVector.copy(this.stickPos).substract(this.stickStartPos); - break; - } - } - this.touches = event.touches; - return false; - }; - - - /* - @private - */ - - TouchController.prototype.touchEnd = function(event) { - var touch, _i, _len, _ref; - if (!this.active) { - return; - } - this.touches = event.touches; - _ref = event.changedTouches; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - touch = _ref[_i]; - if (this.stickID === touch.identifier) { - this.stickID = -1; - this.stickVector.set(0, 0); - break; - } else { - if (typeof this.buttonCallback === "function") { - this.buttonCallback(false, touch, event); - } - } - } - return false; - }; - - return TouchController; - - })(); - - - /* - Internal class used for vector2 - @class Vec2 - @private - */ - - Vec2 = (function() { - function Vec2(x, y) { - this.x = x != null ? x : 0; - this.y = y != null ? y : 0; - } - - Vec2.prototype.substract = function(vec) { - this.x -= vec.x; - this.y -= vec.y; - return this; - }; - - Vec2.prototype.copy = function(vec) { - this.x = vec.x; - this.y = vec.y; - return this; - }; - - Vec2.prototype.set = function(x, y) { - this.x = x; - this.y = y; - return this; - }; - - return Vec2; - - })(); - - - /* - Exports - @package bkcore - */ - - exports = exports != null ? exports : this; - - exports.bkcore || (exports.bkcore = {}); - - (_base = exports.bkcore).controllers || (_base.controllers = {}); - - exports.bkcore.controllers.TouchController = TouchController; - -}).call(this); diff --git a/tools/hexgl/bkcore.coffee/tests.html b/tools/hexgl/bkcore.coffee/tests.html deleted file mode 100644 index 43f8204..0000000 --- a/tools/hexgl/bkcore.coffee/tests.html +++ /dev/null @@ -1,10 +0,0 @@ - - - CoffeeScript Tests - - - - - - - \ No newline at end of file diff --git a/tools/hexgl/bkcore.coffee/threejs/Particles.coffee b/tools/hexgl/bkcore.coffee/threejs/Particles.coffee deleted file mode 100644 index 2ecc912..0000000 --- a/tools/hexgl/bkcore.coffee/threejs/Particles.coffee +++ /dev/null @@ -1,199 +0,0 @@ -### - Particle system wrapper/helper - - @class bkcore.threejs.Particles - @author Thibaut 'BKcore' Despoulain -### -class Particles - - ### - Creates a new particle system using given parameters - - @param {Object{max, spawnRate, spawn, velocity, randomness, - force, spawnRadius, life, friction, color, color2, tint, - texture, size, blending, depthTest, transparent, opacity}} opts - ### - constructor: (opts)-> - - @black = new THREE.Color(0x000000) - @white = new THREE.Color(0xffffff) - - @material = new THREE.ParticleBasicMaterial( - color: opts.tint ? 0xffffff - map: opts.texture ? null - size: opts.size ? 4 - blending: opts.blending ? THREE.AdditiveBlending - depthTest: opts.depthTest ? false - transparent: opts.transparent ? true - vertexColors: true - opacity: opts.opacity ? 1.0 - sizeAttenuation: true - ) - - @max = opts.max ? 1000 - @spawnRate = opts.spawnRate ? 0 - - @spawn = opts.spawn ? new THREE.Vector3() - @velocity = opts.velocity ? new THREE.Vector3() - @randomness = opts.randomness ? new THREE.Vector3() - @force = opts.force ? new THREE.Vector3() - @spawnRadius = opts.spawnRadius ? new THREE.Vector3() - @life = opts.life ? 60 - @ageing = 1 / @life - @friction = opts.friction ? 1.0 - @color = new THREE.Color(opts.color ? 0xffffff) - @color2 = if opts.color2? then new THREE.Color(opts.color2) else null - - @position = opts.position ? new THREE.Vector3() - @rotation = opts.rotation ? new THREE.Vector3() - @sort = opts.sort ? false - - @pool = [] - @buffer = [] - @geometry = null - @system = null - - @build() - - ### - Emits given number of particles - @param int count - ### - emit: (count)-> - - emitable = Math.min(count, @pool.length) - - for i in [0..emitable] - - p = @pool.pop() - p.available = false - - p.position.copy(@spawn).addSelf( - @randomVector().multiplySelf(@spawnRadius) - ) - p.velocity.copy(@velocity).addSelf( - @randomVector().multiplySelf(@randomness) - ) - p.force.copy(@force) - p.basecolor.copy(@color) - - if @color2? - p.basecolor.lerpSelf(@color2, Math.random()) - - p.life = 1.0 - - ### - @private - ### - build: ()-> - - @geometry = new THREE.Geometry() - @geometry.dynamic = true - - @pool = [] - @buffer = [] - - for i in [0..@max] - - p = new bkcore.threejs.Particle() - @pool.push(p) - @buffer.push(p) - @geometry.vertices.push(p.position) - @geometry.colors.push(p.color) - - @system = new THREE.ParticleSystem(@geometry, @material) - @system.position = @position - @system.rotation = @rotation - @system.sort = @sort - - ### - @private - ### - randomVector: ()-> - - return new THREE.Vector3( - Math.random()*2-1, - Math.random()*2-1, - Math.random()*2-1 - ) - - ### - Updates particles (should be call in a RAF loop) - @param float dt time delta ~1.0 - ### - update: (dt)-> - - df = new THREE.Vector3() - dv = new THREE.Vector3() - - for i in [0..@buffer.length] - - p = @buffer[i] - continue if p.available - - p.life -= @ageing - - if p.life <= 0 - p.reset() - @pool.push(p) - continue - - - l = if p.life > 0.5 then 1.0 else p.life + 0.5 - p.color.setRGB( - l * p.basecolor.r, - l * p.basecolor.g, - l * p.basecolor.b - ) - - if @friction != 1.0 - p.velocity.multiplyScalar(@friction) - - df.copy(p.force).multiplyScalar(dt) - p.velocity.addSelf(df) - - dv.copy(p.velocity).multiplyScalar(dt) - p.position.addSelf(dv) - - if @spawnRate > 0 - @emit(@spawnRate) - - @geometry.verticesNeedUpdate = true - @geometry.colorsNeedUpdate = true - -### - Particle sub class - - @class bkcore.threejs.Particle - @author Thibaut 'BKcore' Despoulain -### -class Particle - - constructor: ()-> - - @position = new THREE.Vector3(-10000,-10000,-10000) - @velocity = new THREE.Vector3() - @force = new THREE.Vector3() - @color = new THREE.Color(0x000000) - @basecolor = new THREE.Color(0x000000) - @life = 0.0 - @available = true - - reset: ()-> - @position.set(0,-100000,0) - @velocity.set(0,0,0) - @force.set(0,0,0) - @color.setRGB(0,0,0) - @basecolor.setRGB(0,0,0) - @life = 0.0 - @available = true - -### - Exports - @package bkcore.threejs -### -exports = exports ? @ -exports.bkcore ||= {} -exports.bkcore.threejs ||= {} -exports.bkcore.threejs.Particle = Particle -exports.bkcore.threejs.Particles = Particles diff --git a/tools/hexgl/bkcore.coffee/threejs/Particles.js b/tools/hexgl/bkcore.coffee/threejs/Particles.js deleted file mode 100644 index 4208e22..0000000 --- a/tools/hexgl/bkcore.coffee/threejs/Particles.js +++ /dev/null @@ -1,210 +0,0 @@ -// Generated by CoffeeScript 1.4.0 - -/* - Particle system wrapper/helper - - @class bkcore.threejs.Particles - @author Thibaut 'BKcore' Despoulain -*/ - - -(function() { - var Particle, Particles, exports, _base; - - Particles = (function() { - /* - Creates a new particle system using given parameters - - @param {Object{max, spawnRate, spawn, velocity, randomness, - force, spawnRadius, life, friction, color, color2, tint, - texture, size, blending, depthTest, transparent, opacity}} opts - */ - - function Particles(opts) { - var _ref, _ref1, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9; - this.black = new THREE.Color(0x000000); - this.white = new THREE.Color(0xffffff); - this.material = new THREE.ParticleBasicMaterial({ - color: (_ref = opts.tint) != null ? _ref : 0xffffff, - map: (_ref1 = opts.texture) != null ? _ref1 : null, - size: (_ref2 = opts.size) != null ? _ref2 : 4, - blending: (_ref3 = opts.blending) != null ? _ref3 : THREE.AdditiveBlending, - depthTest: (_ref4 = opts.depthTest) != null ? _ref4 : false, - transparent: (_ref5 = opts.transparent) != null ? _ref5 : true, - vertexColors: true, - opacity: (_ref6 = opts.opacity) != null ? _ref6 : 1.0, - sizeAttenuation: true - }); - this.max = (_ref7 = opts.max) != null ? _ref7 : 1000; - this.spawnRate = (_ref8 = opts.spawnRate) != null ? _ref8 : 0; - this.spawn = (_ref9 = opts.spawn) != null ? _ref9 : new THREE.Vector3(); - this.velocity = (_ref10 = opts.velocity) != null ? _ref10 : new THREE.Vector3(); - this.randomness = (_ref11 = opts.randomness) != null ? _ref11 : new THREE.Vector3(); - this.force = (_ref12 = opts.force) != null ? _ref12 : new THREE.Vector3(); - this.spawnRadius = (_ref13 = opts.spawnRadius) != null ? _ref13 : new THREE.Vector3(); - this.life = (_ref14 = opts.life) != null ? _ref14 : 60; - this.ageing = 1 / this.life; - this.friction = (_ref15 = opts.friction) != null ? _ref15 : 1.0; - this.color = new THREE.Color((_ref16 = opts.color) != null ? _ref16 : 0xffffff); - this.color2 = opts.color2 != null ? new THREE.Color(opts.color2) : null; - this.position = (_ref17 = opts.position) != null ? _ref17 : new THREE.Vector3(); - this.rotation = (_ref18 = opts.rotation) != null ? _ref18 : new THREE.Vector3(); - this.sort = (_ref19 = opts.sort) != null ? _ref19 : false; - this.pool = []; - this.buffer = []; - this.geometry = null; - this.system = null; - this.build(); - } - - /* - Emits given number of particles - @param int count - */ - - - Particles.prototype.emit = function(count) { - var emitable, i, p, _i, _results; - emitable = Math.min(count, this.pool.length); - _results = []; - for (i = _i = 0; 0 <= emitable ? _i <= emitable : _i >= emitable; i = 0 <= emitable ? ++_i : --_i) { - p = this.pool.pop(); - p.available = false; - p.position.copy(this.spawn).addSelf(this.randomVector().multiplySelf(this.spawnRadius)); - p.velocity.copy(this.velocity).addSelf(this.randomVector().multiplySelf(this.randomness)); - p.force.copy(this.force); - p.basecolor.copy(this.color); - if (this.color2 != null) { - p.basecolor.lerpSelf(this.color2, Math.random()); - } - _results.push(p.life = 1.0); - } - return _results; - }; - - /* - @private - */ - - - Particles.prototype.build = function() { - var i, p, _i, _ref; - this.geometry = new THREE.Geometry(); - this.geometry.dynamic = true; - this.pool = []; - this.buffer = []; - for (i = _i = 0, _ref = this.max; 0 <= _ref ? _i <= _ref : _i >= _ref; i = 0 <= _ref ? ++_i : --_i) { - p = new bkcore.threejs.Particle(); - this.pool.push(p); - this.buffer.push(p); - this.geometry.vertices.push(p.position); - this.geometry.colors.push(p.color); - } - this.system = new THREE.ParticleSystem(this.geometry, this.material); - this.system.position = this.position; - this.system.rotation = this.rotation; - return this.system.sort = this.sort; - }; - - /* - @private - */ - - - Particles.prototype.randomVector = function() { - return new THREE.Vector3(Math.random() * 2 - 1, Math.random() * 2 - 1, Math.random() * 2 - 1); - }; - - /* - Updates particles (should be call in a RAF loop) - @param float dt time delta ~1.0 - */ - - - Particles.prototype.update = function(dt) { - var df, dv, i, l, p, _i, _ref; - df = new THREE.Vector3(); - dv = new THREE.Vector3(); - for (i = _i = 0, _ref = this.buffer.length; 0 <= _ref ? _i <= _ref : _i >= _ref; i = 0 <= _ref ? ++_i : --_i) { - p = this.buffer[i]; - if (p.available) { - continue; - } - p.life -= this.ageing; - if (p.life <= 0) { - p.reset(); - this.pool.push(p); - continue; - } - l = p.life > 0.5 ? 1.0 : p.life + 0.5; - p.color.setRGB(l * p.basecolor.r, l * p.basecolor.g, l * p.basecolor.b); - if (this.friction !== 1.0) { - p.velocity.multiplyScalar(this.friction); - } - df.copy(p.force).multiplyScalar(dt); - p.velocity.addSelf(df); - dv.copy(p.velocity).multiplyScalar(dt); - p.position.addSelf(dv); - } - if (this.spawnRate > 0) { - this.emit(this.spawnRate); - } - this.geometry.verticesNeedUpdate = true; - return this.geometry.colorsNeedUpdate = true; - }; - - return Particles; - - })(); - - /* - Particle sub class - - @class bkcore.threejs.Particle - @author Thibaut 'BKcore' Despoulain - */ - - - Particle = (function() { - - function Particle() { - this.position = new THREE.Vector3(-10000, -10000, -10000); - this.velocity = new THREE.Vector3(); - this.force = new THREE.Vector3(); - this.color = new THREE.Color(0x000000); - this.basecolor = new THREE.Color(0x000000); - this.life = 0.0; - this.available = true; - } - - Particle.prototype.reset = function() { - this.position.set(0, -100000, 0); - this.velocity.set(0, 0, 0); - this.force.set(0, 0, 0); - this.color.setRGB(0, 0, 0); - this.basecolor.setRGB(0, 0, 0); - this.life = 0.0; - return this.available = true; - }; - - return Particle; - - })(); - - /* - Exports - @package bkcore.threejs - */ - - - exports = exports != null ? exports : this; - - exports.bkcore || (exports.bkcore = {}); - - (_base = exports.bkcore).threejs || (_base.threejs = {}); - - exports.bkcore.threejs.Particle = Particle; - - exports.bkcore.threejs.Particles = Particles; - -}).call(this); diff --git a/tools/hexgl/bkcore/Audio.js b/tools/hexgl/bkcore/Audio.js deleted file mode 100644 index 41400f1..0000000 --- a/tools/hexgl/bkcore/Audio.js +++ /dev/null @@ -1,142 +0,0 @@ -var bkcore = bkcore || {}; - -bkcore.Audio = {}; -bkcore.Audio.sounds = {}; - -bkcore.Audio.init = function(){ - if(window.AudioContext||window.webkitAudioContext){ - bkcore.Audio._ctx = new (window.AudioContext||window.webkitAudioContext)(); - bkcore.Audio._panner = bkcore.Audio._ctx.createPanner(); - bkcore.Audio._panner.connect(bkcore.Audio._ctx.destination); - } - else { - bkcore.Audio._ctx = null; - } - - bkcore.Audio.posMultipler = 1.5; -}; - -bkcore.Audio.init(); - -bkcore.Audio.addSound = function(src, id, loop, callback, usePanner){ - var ctx = bkcore.Audio._ctx; - var audio = new Audio(); - - if(ctx){ - var audio = { src: null, gainNode: null, bufferNode: null, loop: loop }; - var xhr = new XMLHttpRequest(); - xhr.responseType = 'arraybuffer'; - - xhr.onload = function(){ - ctx.decodeAudioData(xhr.response, function(b){ - // Create Gain Node - var gainNode = ctx.createGain(); - - if(usePanner === true){ - gainNode.connect(bkcore.Audio._panner); - } - else { - gainNode.connect(ctx.destination); - } - - // Add the audio source - audio.src = b; - - //Remember the gain node - audio.gainNode = gainNode; - - callback(); - }, function(e){ - console.error('Audio decode failed!', e); - }); - }; - - xhr.open('GET', src, true); - xhr.send(null); - } - else { - // Workaround for old Safari - audio.addEventListener('canplay', function(){ - audio.pause(); - audio.currentTime = 0; - - callback(); - }, false); - - audio.autoplay = true; - audio.loop = loop; - audio.src = src; - } - - bkcore.Audio.sounds[id] = audio; -}; - -bkcore.Audio.play = function(id){ - var ctx = bkcore.Audio._ctx; - - if(ctx){ - var sound = ctx.createBufferSource(); - sound.connect(bkcore.Audio.sounds[id].gainNode); - - sound.buffer = bkcore.Audio.sounds[id].src; - sound.loop = bkcore.Audio.sounds[id].loop; - - bkcore.Audio.sounds[id].gainNode.gain.value = 1; - bkcore.Audio.sounds[id].bufferNode = sound; - - sound.start ? sound.start(0) : sound.noteOn(0); - } - else { - if(bkcore.Audio.sounds[id].currentTime > 0){ - bkcore.Audio.sounds[id].pause(); - bkcore.Audio.sounds[id].currentTime = 0; - } - - bkcore.Audio.sounds[id].play(); - } -}; - -bkcore.Audio.stop = function(id){ - var ctx = bkcore.Audio._ctx; - - if(ctx){ - if(bkcore.Audio.sounds[id].bufferNode !== null){ - var bufferNode = bkcore.Audio.sounds[id].bufferNode; - bufferNode.stop ? bufferNode.stop(ctx.currentTime) : bufferNode.noteOff(ctx.currentTime); - } - } - else { - bkcore.Audio.sounds[id].pause(); - bkcore.Audio.sounds[id].currentTime = 0; - } -}; - -bkcore.Audio.volume = function(id, volume){ - var ctx = bkcore.Audio._ctx; - - if(ctx){ - bkcore.Audio.sounds[id].gainNode.gain.value = volume; - } - else { - bkcore.Audio.sounds[id].volume = volume; - } -}; - -bkcore.Audio.setListenerPos = function(vec){ - if(bkcore.Audio._ctx){ - var panner = bkcore.Audio._panner; - var vec2 = vec.normalize(); - panner.setPosition( - vec2.x * bkcore.Audio.posMultipler, - vec2.y * bkcore.Audio.posMultipler, - vec2.z * bkcore.Audio.posMultipler - ); - } -}; - -bkcore.Audio.setListenerVelocity = function(vec){ - if(bkcore.Audio._ctx){ - var panner = bkcore.Audio._panner; - //panner.setVelocity(vec.x, vec.y, vec.z); - } -}; \ No newline at end of file diff --git a/tools/hexgl/bkcore/hexgl/CameraChase.js b/tools/hexgl/bkcore/hexgl/CameraChase.js deleted file mode 100644 index 69a55c7..0000000 --- a/tools/hexgl/bkcore/hexgl/CameraChase.js +++ /dev/null @@ -1,73 +0,0 @@ - /* - * HexGL - * @author Thibaut 'BKcore' Despoulain - * @license This work is licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License. - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/. - */ - -var bkcore = bkcore || {}; -bkcore.hexgl = bkcore.hexgl || {}; - -bkcore.hexgl.CameraChase = function(opts) -{ - this.dir = new THREE.Vector3(0,0,1); - this.up = new THREE.Vector3(0,1,0); - this.target = new THREE.Vector3(); - this.speedOffset = 0; - this.speedOffsetMax = 10; - this.speedOffsetStep = 0.05; - - this.modes = { - CHASE: 0, - ORBIT: 1 - } - this.mode = this.modes.CHASE; - - this.camera = opts.camera; - this.targetObject = opts.target; - this.cameraCube = opts.cameraCube == undefined ? null : opts.cameraCube; - - this.yoffset = opts.yoffest == undefined ? 8.0 : opts.yoffest; - this.zoffset = opts.zoffset == undefined ? 10.0 : opts.zoffset; - this.viewOffset = opts.viewOffset == undefined ? 10.0 : opts.viewOffset; - this.orbitOffset = 12; - this.lerp = opts.lerp == undefined ? 0.5 : opts.lerp; - this.time = 0.0; -} - -bkcore.hexgl.CameraChase.prototype.update = function(dt, ratio) -{ - if(this.mode == this.modes.CHASE) - { - this.dir.set(0,0,1); - this.up.set(0,1,0); - - this.targetObject.matrix.rotateAxis(this.up); - this.targetObject.matrix.rotateAxis(this.dir); - - this.speedOffset += (this.speedOffsetMax*ratio - this.speedOffset) * Math.min(1, 0.3*dt); - - this.target.copy(this.targetObject.position); - this.target.subSelf(this.dir.multiplyScalar(this.zoffset + this.speedOffset)); - this.target.addSelf(this.up.multiplyScalar(this.yoffset)); - this.target.y += -this.up.y + this.yoffset; - this.camera.position.copy(this.target); - - this.camera.lookAt(this.dir.normalize().multiplyScalar(this.viewOffset).addSelf(this.targetObject.position)); - } - else if(this.mode == this.modes.ORBIT) - { - this.time += dt*.008; - this.dir.set( - Math.cos(this.time)*this.orbitOffset, - this.yoffset/2, - Math.sin(this.time)*this.orbitOffset - ); - this.target.copy(this.targetObject.position).addSelf(this.dir); - this.camera.position.copy(this.target); - this.camera.lookAt(this.targetObject.position); - } - - if(this.cameraCube != null) - this.cameraCube.rotation.copy(this.camera.rotation); -} \ No newline at end of file diff --git a/tools/hexgl/bkcore/hexgl/Gameplay.js b/tools/hexgl/bkcore/hexgl/Gameplay.js deleted file mode 100644 index 9827dee..0000000 --- a/tools/hexgl/bkcore/hexgl/Gameplay.js +++ /dev/null @@ -1,231 +0,0 @@ - /* - * HexGL - * @author Thibaut 'BKcore' Despoulain - * @license This work is licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License. - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/. - */ - -var bkcore = bkcore || {}; -bkcore.hexgl = bkcore.hexgl || {}; - -bkcore.hexgl.Gameplay = function(opts) -{ - var self = this; - - this.startDelay = opts.hud == null ? 0 : 1000; - this.countDownDelay = opts.hud == null ? 1000 : 1500; - - this.active = false; - this.timer = new bkcore.Timer(); - this.modes = { - 'timeattack':null, - 'survival':null, - 'replay':null - }; - this.mode = opts.mode == undefined || !(opts.mode in this.modes) ? "timeattack" : opts.mode; - this.step = 0; - - this.hud = opts.hud; - this.shipControls = opts.shipControls; - this.cameraControls = opts.cameraControls; - this.track = opts.track; - this.analyser = opts.analyser; - this.pixelRatio = opts.pixelRatio; - - this.previousCheckPoint = -1; - - this.results = { - FINISH: 1, - DESTROYED: 2, - WRONGWAY: 3, - REPLAY: 4, - NONE: -1 - }; - this.result = this.results.NONE; - - this.lap = 1; - this.lapTimes = []; - this.lapTimeElapsed = 0; - this.maxLaps = 3; - this.score = null; - this.finishTime = null; - this.onFinish = opts.onFinish == undefined ? function(){console.log("FINISH");} : opts.onFinish; - - this.raceData = null; - - this.modes.timeattack = function() - { - self.raceData.tick(this.timer.time.elapsed); - - self.hud != null && self.hud.updateTime(self.timer.getElapsedTime()); - var cp = self.checkPoint(); - - if(cp == self.track.checkpoints.start && self.previousCheckPoint == self.track.checkpoints.last) - { - self.previousCheckPoint = cp; - var t = self.timer.time.elapsed; - self.lapTimes.push(t - self.lapTimeElapsed); - self.lapTimeElapsed = t; - - if(self.lap == this.maxLaps) - { - self.end(self.results.FINISH); - } - else - { - self.lap++; - self.hud != null && self.hud.updateLap(self.lap, self.maxLaps); - - if(self.lap == self.maxLaps) - self.hud != null && self.hud.display("Final lap", 0.5); - } - } - else if(cp != -1 && cp != self.previousCheckPoint) - { - self.previousCheckPoint = cp; - //self.hud.display("Checkpoint", 0.5); - } - - if(self.shipControls.destroyed == true) - { - self.end(self.results.DESTROYED); - } - }; - - this.modes.replay = function() - { - self.raceData.applyInterpolated(this.timer.time.elapsed); - - if(self.raceData.seek == self.raceData.last) - { - self.end(self.result.REPLAY); - } - }; -} - -bkcore.hexgl.Gameplay.prototype.simu = function() -{ - this.lapTimes = [92300, 91250, 90365]; - this.finishTime = this.lapTimes[0]+this.lapTimes[1]+this.lapTimes[2]; - if(this.hud != null) this.hud.display("Finish"); - this.step = 100; - this.result = this.results.FINISH; - this.shipControls.active = false; -} - -bkcore.hexgl.Gameplay.prototype.start = function(opts) -{ - this.finishTime = null; - this.score = null; - this.lap = 1; - - this.shipControls.reset(this.track.spawn, this.track.spawnRotation); - this.shipControls.active = false; - - this.previousCheckPoint = this.track.checkpoints.start; - - this.raceData = new bkcore.hexgl.RaceData(this.track.name, this.mode, this.shipControls); - if(this.mode == 'replay') - { - this.cameraControls.mode = this.cameraControls.modes.ORBIT; - if(this.hud != null) this.hud.messageOnly = true; - - try { - var d = localStorage['race-'+this.track.name+'-replay']; - if(d == undefined) - { - console.error('No replay data for '+'race-'+this.track.name+'-replay'+'.'); - return false; - } - this.raceData.import( - JSON.parse(d) - ); - } - catch(e) { console.error('Bad replay format : '+e); return false; } - } - - this.active = true; - this.step = 0; - this.timer.start(); - if(this.hud != null) - { - this.hud.resetTime(); - this.hud.display("Get ready", 1); - this.hud.updateLap(this.lap, this.maxLaps); - } -} - -bkcore.hexgl.Gameplay.prototype.end = function(result) -{ - this.score = this.timer.getElapsedTime(); - this.finishTime = this.timer.time.elapsed; - this.timer.start(); - this.result = result; - - this.shipControls.active = false; - - if(result == this.results.FINISH) - { - if(this.hud != null) this.hud.display("Finish"); - this.step = 100; - } - else if(result == this.results.DESTROYED) - { - if(this.hud != null) this.hud.display("Destroyed"); - this.step = 100; - } -} - -bkcore.hexgl.Gameplay.prototype.update = function() -{ - if(!this.active) return; - - this.timer.update(); - - if(this.step == 0 && this.timer.time.elapsed >= this.countDownDelay+this.startDelay) - { - if(this.hud != null) this.hud.display("3"); - this.step = 1; - } - else if(this.step == 1 && this.timer.time.elapsed >= 2*this.countDownDelay+this.startDelay) - { - if(this.hud != null) this.hud.display("2"); - this.step = 2; - } - else if(this.step == 2 && this.timer.time.elapsed >= 3*this.countDownDelay+this.startDelay) - { - if(this.hud != null) this.hud.display("1"); - this.step = 3; - } - else if(this.step == 3 && this.timer.time.elapsed >= 4*this.countDownDelay+this.startDelay) - { - if(this.hud != null) this.hud.display("Go", 0.5); - this.step = 4; - this.timer.start(); - - if(this.mode != "replay") - this.shipControls.active = true; - } - else if(this.step == 4) - { - this.modes[this.mode].call(this); - } - else if(this.step == 100 && this.timer.time.elapsed >= 2000) - { - this.active = false; - this.onFinish.call(this); - } -} - -bkcore.hexgl.Gameplay.prototype.checkPoint = function() -{ - var x = Math.round(this.analyser.pixels.width/2 + this.shipControls.dummy.position.x * this.pixelRatio); - var z = Math.round(this.analyser.pixels.height/2 + this.shipControls.dummy.position.z * this.pixelRatio); - - var color = this.analyser.getPixel(x, z); - - if(color.r == 255 && color.g == 255 && color.b < 250) - return color.b; - else - return -1; -} \ No newline at end of file diff --git a/tools/hexgl/bkcore/hexgl/HUD.js b/tools/hexgl/bkcore/hexgl/HUD.js deleted file mode 100644 index 068e123..0000000 --- a/tools/hexgl/bkcore/hexgl/HUD.js +++ /dev/null @@ -1,270 +0,0 @@ - /* - * HexGL - * @author Thibaut 'BKcore' Despoulain - * @license This work is licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License. - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/. - */ - -var bkcore = bkcore || {}; -bkcore.hexgl = bkcore.hexgl || {}; - -bkcore.hexgl.HUD = function(opts) -{ - var self = this; - - this.visible = true; - this.messageOnly = false; - - this.width = opts.width; - this.height = opts.height; - - this.canvas = document.createElement('canvas'); - this.canvas.width = this.width; - this.canvas.height = this.height; - - this.ctx = this.canvas.getContext('2d'); - this.ctx.textAlign = "center"; - - this.bg = opts.bg;//"textures/hud/hud-bg.png"; - - this.fgspeed = opts.speed;//"textures/hud/hud-fg-speed.png"; - - this.fgshield = opts.shield;//"textures/hud/hud-fg-shield.png"; - - this.speedFontRatio = 24; - this.speedBarRatio = 2.91; - this.shieldFontRatio = 64; - this.shieldBarYRatio = 34; - this.shieldBarWRatio = 18.3; - this.shieldBarHRatio = 14.3; - this.timeMarginRatio = 18; - this.timeFontRatio = 19.2; - - this.font = opts.font || "Arial"; - - this.time = ""; - - this.message = ""; - this.previousMessage = ""; - this.messageTiming = 0; - this.messagePos = 0.0; - this.messagePosTarget = 0.0; - this.messagePosTargetRatio = 12; - this.messageA = 1.0; - this.messageAS = 1.0; - this.messageDuration = 2*60; - this.messageDurationD = 2*60; - this.messageDurationS = 30; - this.messageYRatio = 34; - this.messageFontRatio = 10; - this.messageFontRatioStart = 6; - this.messageFontRatioEnd = 10; - this.messageFontLerp = 0.4; - this.messageLerp = 0.4; - this.messageFontAlpha = 0.8; - - this.lapMarginRatio = 14; - this.lap = ""; - this.lapSeparator = "/"; - - this.timeSeparators = ["","'", "''",""]; - - this.step = 0; - this.maxStep = 2; -}; - -bkcore.hexgl.HUD.prototype.resize = function(w, h) -{ - this.width = w; - this.height = h; - this.canvas.width = w; - this.canvas.height = h; -} - -bkcore.hexgl.HUD.prototype.display = function(msg, duration) -{ - this.messageTiming = 0; - - if(this.message != "") - { - this.messageA = this.messageFontAlpha; - this.messagePos = 0.0; - this.messagePosTarget = this.width/this.messagePosTargetRatio; - this.previousMessage = this.message; - } - - this.messageFontRatio = this.messageFontRatioStart; - this.messageAS = 0.0; - this.message = msg; - this.messageDuration = duration == undefined ? this.messageDurationD : duration*60; -} - -bkcore.hexgl.HUD.prototype.updateLap = function(current, total) -{ - this.lap = current + this.lapSeparator + total; -} - -bkcore.hexgl.HUD.prototype.resetLap = function() -{ - this.lap = ""; -} - -bkcore.hexgl.HUD.prototype.updateTime = function(time) -{ - this.time = this.timeSeparators[0] + time.m + this.timeSeparators[1] + time.s + this.timeSeparators[2] + time.ms + this.timeSeparators[3]; -} - -bkcore.hexgl.HUD.prototype.resetTime = function() -{ - this.time = ""; -} - -bkcore.hexgl.HUD.prototype.update = function(speed, speedRatio, shield, shieldRatio) -{ - var SCREEN_WIDTH = this.width; - var SCREEN_HEIGHT = this.height; - - var SCREEN_HW = SCREEN_WIDTH / 2; - var SCREEN_HH = SCREEN_HEIGHT / 2; - - if(!this.visible) - { - this.ctx.clearRect(0 , 0 , SCREEN_WIDTH , SCREEN_HEIGHT); - return; - } - - var w = this.bg.width; - var h = this.bg.height; - var r = h/w; - var nw = SCREEN_WIDTH; - var nh = nw*r; - var oh = SCREEN_HEIGHT - nh; - var o = 0; - //speedbar - var ba = nh; - var bl = SCREEN_WIDTH/this.speedBarRatio; - var bw = bl * speedRatio; - //shieldbar - var sw = SCREEN_WIDTH/this.shieldBarWRatio; - var sho = SCREEN_WIDTH/this.shieldBarHRatio; - var sh = sho*shieldRatio; - var sy = (SCREEN_WIDTH/this.shieldBarYRatio)+sho-sh; - - - if(this.step == 0) - { - this.ctx.clearRect(0 , oh , SCREEN_WIDTH , nh); - - if(!this.messageOnly) - { - this.ctx.drawImage(this.bg, o, oh, nw, nh); - - this.ctx.save(); - this.ctx.beginPath(); - this.ctx.moveTo(bw+ba+SCREEN_HW, oh); - this.ctx.lineTo(-(bw+ba)+SCREEN_HW, oh); - this.ctx.lineTo(-bw+SCREEN_HW, SCREEN_HEIGHT); - this.ctx.lineTo(bw+SCREEN_HW, SCREEN_HEIGHT); - this.ctx.lineTo(bw+ba+SCREEN_HW, oh); - this.ctx.clip(); - this.ctx.drawImage(this.fgspeed, o, oh, nw, nh); - this.ctx.restore(); - - this.ctx.save(); - this.ctx.beginPath(); - this.ctx.moveTo(-sw+SCREEN_HW, oh+sy); - this.ctx.lineTo(sw+SCREEN_HW, oh+sy); - this.ctx.lineTo(sw+SCREEN_HW, oh+sh+sy); - this.ctx.lineTo(-sw+SCREEN_HW, oh+sh+sy); - this.ctx.lineTo(-sw+SCREEN_HW, oh+sh); - this.ctx.clip(); - this.ctx.drawImage(this.fgshield, o, oh, nw, nh); - this.ctx.restore(); - - // SPEED - this.ctx.font = (SCREEN_WIDTH/this.speedFontRatio)+"px "+this.font; - this.ctx.fillStyle = "rgba(255, 255, 255, 0.8)"; - this.ctx.fillText(speed, SCREEN_HW, SCREEN_HEIGHT - nh*0.57); - - // SHIELD - this.ctx.font = (SCREEN_WIDTH/this.shieldFontRatio)+"px "+this.font; - this.ctx.fillStyle = "rgba(255, 255, 255, 0.4)"; - this.ctx.fillText(shield, SCREEN_HW, SCREEN_HEIGHT - nh*0.44); - } - } - else if(this.step == 1) - { - this.ctx.clearRect(0 , 0 , SCREEN_WIDTH , oh); - - // TIME - if(this.time != "") - { - this.ctx.font = (SCREEN_WIDTH/this.timeFontRatio)+"px "+this.font; - this.ctx.fillStyle = "rgba(255, 255, 255, 0.8)"; - this.ctx.fillText(this.time, SCREEN_HW, SCREEN_WIDTH/this.timeMarginRatio); - } - - // LAPS - if(this.lap != "") - { - this.ctx.font = (SCREEN_WIDTH/this.timeFontRatio)+"px "+this.font; - this.ctx.fillStyle = "rgba(255, 255, 255, 0.8)"; - this.ctx.fillText(this.lap, SCREEN_WIDTH-SCREEN_WIDTH/this.lapMarginRatio, SCREEN_WIDTH/this.timeMarginRatio); - } - - // MESSAGE - var my = SCREEN_HH-SCREEN_WIDTH/this.messageYRatio; - - if(this.messageTiming > this.messageDuration+2000) - { - this.previousMessage = ""; - this.message = ""; - this.messageA = 0.0; - } - else if(this.messageTiming > this.messageDuration && this.message != "") - { - this.previousMessage = this.message; - this.message = ""; - this.messagePos = 0.0; - this.messagePosTarget = SCREEN_WIDTH/this.messagePosTargetRatio; - this.messageA = this.messageFontAlpha; - } - - if(this.previousMessage != "") - { - if(this.messageA < 0.001) - this.messageA = 0.0; - else - this.messageA += (0.0 - this.messageA) * this.messageLerp; - - this.messagePos += (this.messagePosTarget - this.messagePos) * this.messageLerp; - - this.ctx.font = (SCREEN_WIDTH/this.messageFontRatioEnd)+"px "+this.font; - this.ctx.fillStyle = "rgba(255, 255, 255, "+this.messageA+")"; - this.ctx.fillText(this.previousMessage, SCREEN_HW, my+this.messagePos); - } - - if(this.message != "") - { - if(this.messageTiming < this.messageDurationS) - { - this.messageAS += (this.messageFontAlpha - this.messageAS) * this.messageFontLerp; - this.messageFontRatio += (this.messageFontRatioEnd - this.messageFontRatio) * this.messageFontLerp; - } - else - { - this.messageAS = this.messageFontAlpha; - this.messageFontRatio = this.messageFontRatioEnd; - } - - this.ctx.font = (SCREEN_WIDTH/this.messageFontRatio)+"px "+this.font; - this.ctx.fillStyle = "rgba(255, 255, 255, "+this.messageAS+")"; - this.ctx.fillText(this.message, SCREEN_HW, my); - } - } - - this.messageTiming++; - - this.step++; - if(this.step == this.maxStep) this.step = 0; -} \ No newline at end of file diff --git a/tools/hexgl/bkcore/hexgl/HexGL.js b/tools/hexgl/bkcore/hexgl/HexGL.js deleted file mode 100644 index 4da8e46..0000000 --- a/tools/hexgl/bkcore/hexgl/HexGL.js +++ /dev/null @@ -1,446 +0,0 @@ - /* - * HexGL - * @author Thibaut 'BKcore' Despoulain - * @license This work is licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License. - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/. - */ - -'use strict'; -'v1.0.1'; - -var bkcore = bkcore || {}; -bkcore.hexgl = bkcore.hexgl || {}; - -bkcore.hexgl.HexGL = function(opts) -{ - var self = this; - - this.document = opts.document || document; - - this.a = window.location.href; - - this.active = true; - this.displayHUD = opts.hud == undefined ? true : opts.hud; - this.width = opts.width == undefined ? window.innerWidth : opts.width; - this.height = opts.height == undefined ? window.innerHeight : opts.height; - - this.difficulty = opts.difficulty == undefined ? 0 : opts.difficulty; - this.player = opts.player == undefined ? "Anonym" : opts.player; - - this.track = bkcore.hexgl.tracks[ opts.track == undefined ? 'Cityscape' : opts.track ]; - - this.mode = opts.mode == undefined ? 'timeattack' : opts.mode; - - this.controlType = opts.controlType == undefined ? 1 : opts.controlType; - - // 0 == low, 1 == mid, 2 == high, 3 == very high - // the old platform+quality combinations map to these new quality values - // as follows: - // mobile + low quality => 0 (LOW) - // mobile + mid quality OR desktop + low quality => 1 (MID) - // mobile + high quality => 2 (HIGH) - // desktop + mid or high quality => 3 (VERY HIGH) - this.quality = opts.quality == undefined ? 3 : opts.quality; - - if(this.quality === 0) - { - this.width /= 2; - this.height /=2; - } - - this.settings = null; - this.renderer = null; - this.manager = null; - this.lib = null; - this.materials = {}; - this.components = {}; - this.extras = { - vignetteColor: new THREE.Color(0x458ab1), - bloom: null, - fxaa: null - }; - - this.containers = {}; - this.containers.main = opts.container == undefined ? document.body : opts.container; - this.containers.overlay = opts.overlay == undefined ? document.body : opts.overlay; - - this.gameover = opts.gameover == undefined ? null : opts.gameover; - - this.godmode = opts.godmode == undefined ? false : opts.godmode; - - this.hud = null; - - this.gameplay = null; - - this.composers = { - game: null - }; - - this.initRenderer(); - - function onKeyPress(event) - { - if(event.keyCode == 27/*escape*/) - { - self.reset(); - } - } - - this.document.addEventListener('keydown', onKeyPress, false); -} - -bkcore.hexgl.HexGL.prototype.start = function() -{ - - this.manager.setCurrent("game"); - - var self = this; - - function raf() - { - if(self && self.active) requestAnimationFrame( raf ); - self.update(); - } - - //if(this.a[15] == "o") - raf(); - - this.initGameplay(); -} - -bkcore.hexgl.HexGL.prototype.reset = function() -{ - this.manager.get('game').objects.lowFPS = 0; - this.gameplay.start(); - - bkcore.Audio.stop('bg'); - bkcore.Audio.stop('wind'); - bkcore.Audio.volume('wind', 0.35); - bkcore.Audio.play('bg'); - bkcore.Audio.play('wind'); -} - -bkcore.hexgl.HexGL.prototype.restart = function() -{ - try{ this.document.getElementById('finish').style.display = 'none'; } - catch(e){}; - this.reset(); -} - -bkcore.hexgl.HexGL.prototype.update = function() -{ - if(!this.active) return; - - if(this.gameplay != null) - this.gameplay.update(); - - this.manager.renderCurrent(); -} - -bkcore.hexgl.HexGL.prototype.init = function() -{ - this.initHUD(); - - this.track.buildMaterials(this.quality); - - this.track.buildScenes(this, this.quality); - - this.initGameComposer(); -} - -bkcore.hexgl.HexGL.prototype.load = function(opts) -{ - this.track.load(opts, this.quality); -} - -bkcore.hexgl.HexGL.prototype.initGameplay = function() -{ - var self = this; - - this.gameplay = new bkcore.hexgl.Gameplay({ - mode: this.mode, - hud: this.hud, - shipControls: this.components.shipControls, - cameraControls: this.components.cameraChase, - analyser: this.track.analyser, - pixelRatio: this.track.pixelRatio, - track: this.track, - onFinish: function() { - self.components.shipControls.terminate(); - self.displayScore(this.finishTime, this.lapTimes); - } - }); - - this.gameplay.start(); - - bkcore.Audio.play('bg'); - bkcore.Audio.play('wind'); - bkcore.Audio.volume('wind', 0.35); -} - -bkcore.hexgl.HexGL.prototype.displayScore = function(f, l) -{ - this.active = false; - - var tf = bkcore.Timer.msToTimeString(f); - var tl = [ - bkcore.Timer.msToTimeString(l[0]), - bkcore.Timer.msToTimeString(l[1]), - bkcore.Timer.msToTimeString(l[2]) - ]; - - if(this.gameover !== null) - { - this.gameover.style.display = "block"; - this.gameover.children[0].innerHTML = tf.m + "'" + tf.s + "''" + tf.ms; - this.containers.main.parentElement.style.display = "none"; - return; - } - - var t = this.track; - var dc = this.document.getElementById("finish"); - var ds = this.document.getElementById("finish-state"); - var dh = this.document.getElementById("finish-hallmsg"); - var dr = this.document.getElementById("finish-msg"); - var dt = this.document.getElementById("finish-result"); - var dl1 = this.document.getElementById("finish-lap1"); - var dl2 = this.document.getElementById("finish-lap2"); - var dl3 = this.document.getElementById("finish-lap3"); - var dd = this.document.getElementById("finish-diff") - var st = this.document.getElementById("finish-twitter"); - var sf = this.document.getElementById("finish-fb"); - var sl = this.document.getElementById("lowfps-msg"); - var d = this.difficulty == 0 ? 'casual' : 'hard'; - var ts = this.hud.timeSeparators; - - if(this.gameplay.result == this.gameplay.results.FINISH) - { - ds != undefined && (ds.innerHTML = "Finished!"); - // local record - if(typeof(Storage)!=="undefined") - { - if(localStorage['score-'+t+'-'+d] == undefined || localStorage['score-'+t+'-'+d] > f) - { - dr != undefined && (dr.innerHTML = "New local record!"); - localStorage['score-'+t+'-'+d] = f; - - // Export race data - localStorage['race-'+t+'-replay'] = JSON.Stringify(this.gameplay.raceData.export()); - } - else - { - dr != undefined && (dr.innerHTML = "Well done!"); - } - } - // ladder record - var p = bkcore.hexgl.Ladder.global[t][d][bkcore.hexgl.Ladder.global[t][d].length-2]; - if(p != undefined && p['score'] > f) - { - dh != undefined && (dh.innerHTML = "You made it to the HOF!"); - } - else - { - dh != undefined && (dh.innerHTML = "Hall Of Fame"); - } - - dt != undefined && (dt.innerHTML = tf.m + ts[1] + tf.s + ts[2] + tf.ms); - dl1 != undefined && (dl1.innerHTML = tl[0]["m"] != undefined ? tl[0].m + ts[1] + tl[0].s + ts[2] + tl[0].ms : "-"); - dl2 != undefined && (dl2.innerHTML = tl[1]["m"] != undefined ? tl[1].m + ts[1] + tl[1].s + ts[2] + tl[1].ms : "-"); - dl3 != undefined && (dl3.innerHTML = tl[2]["m"] != undefined ? tl[2].m + ts[1] + tl[2].s + ts[2] + tl[2].ms : "-"); - - // Ladder save - // Undisclosed - } - else - { - ds != undefined && (ds.innerHTML = "Destroyed!"); - dr != undefined && (dr.innerHTML = "Maybe next time!"); - dh != undefined && (dh.innerHTML = "Hall Of Fame"); - dt != undefined && (dt.innerHTML = "None"); - dl1 != undefined && (dl1.innerHTML = "None"); - dl2 != undefined && (dl2.innerHTML = "None"); - dl3 != undefined && (dl3.innerHTML = "None"); - } - - dd != undefined && (dd.innerHTML = d); - st != undefined && (st.href='http://twitter.com/share?text='+encodeURIComponent('I just scored '+dt.innerHTML+' in '+'Cityscape ('+d+') on #HexGL! Come try it and beat my record on ')); - sf != undefined && (sf.href='http://www.facebook.com/sharer.php?s=100' - +'&p[title]='+encodeURIComponent('I just scored '+dt.innerHTML+' in '+'Cityscape ('+d+') on HexGL!') - +'&p[summary]='+encodeURIComponent('HexGL is a futuristic racing game built by Thibaut Despoulain (BKcore) using HTML5, Javascript and WebGL. Come challenge your friends on this fast-paced 3D game!') - +'&p[url]='+encodeURIComponent('http://hexgl.bkcore.com') - +'&p[images][0]='+encodeURIComponent('http://hexgl.bkcore.com/image.png')); - - bkcore.hexgl.Ladder.displayLadder('finish-ladder', t, d, 8); - - if(this.manager.get('game').objects.lowFPS >= 999) - sl != undefined && (sl.innerHTML = 'Note: Your framerate was pretty low, you should try a lesser graphic setting!'); - else - sl != undefined && (sl.innerHTML = ''); - - dc.style.display = 'block'; -} - -bkcore.hexgl.HexGL.prototype.initRenderer = function() -{ - var renderer = new THREE.WebGLRenderer({ - antialias: false, - clearColor: 0x000000 - }); - - // desktop + quality mid or high - if(this.quality > 2) - { - renderer.physicallyBasedShading = true; - renderer.gammaInput = true; - renderer.gammaOutput = true; - renderer.shadowMapEnabled = true; - renderer.shadowMapSoft = true; - } - - renderer.autoClear = false; - renderer.sortObjects = false; - renderer.setSize( this.width, this.height ); - renderer.domElement.style.position = "relative"; - - this.containers.main.appendChild( renderer.domElement ); - this.canvas = renderer.domElement; - this.renderer = renderer; - this.manager = new bkcore.threejs.RenderManager(renderer); -} - -bkcore.hexgl.HexGL.prototype.initHUD = function() -{ - if(!this.displayHUD) return; - this.hud = new bkcore.hexgl.HUD({ - width: this.width, - height: this.height, - font: "BebasNeueRegular", - bg: this.track.lib.get("images", "hud.bg"), - speed: this.track.lib.get("images", "hud.speed"), - shield: this.track.lib.get("images", "hud.shield") - }); - this.containers.overlay.appendChild(this.hud.canvas); -} - -bkcore.hexgl.HexGL.prototype.initGameComposer = function() -{ - var renderTargetParameters = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBFormat, stencilBuffer: false }; - var renderTarget = new THREE.WebGLRenderTarget( this.width, this.height, renderTargetParameters ); - - // GAME COMPOSER - var renderSky = new THREE.RenderPass( this.manager.get("sky").scene, this.manager.get("sky").camera ); - - var renderModel = new THREE.RenderPass( this.manager.get("game").scene, this.manager.get("game").camera ); - renderModel.clear = false; - - this.composers.game = new THREE.EffectComposer( this.renderer, renderTarget ); - - var effectScreen = new THREE.ShaderPass( THREE.ShaderExtras[ "screen" ] ); - effectScreen.renderToScreen = true; - var effectVignette = new THREE.ShaderPass( THREE.ShaderExtras[ "vignette" ] ); - - var effectHex = new THREE.ShaderPass( bkcore.threejs.Shaders[ "hexvignette" ] ); - effectHex.uniforms[ 'size' ].value = 512.0 * (this.width/1633); - effectHex.uniforms[ 'rx' ].value = this.width; - effectHex.uniforms[ 'ry' ].value = this.height; - effectHex.uniforms[ 'tHex' ].texture = this.track.lib.get("textures", "hex"); - effectHex.uniforms[ 'color' ].value = this.extras.vignetteColor; - - effectHex.renderToScreen = true; - - this.composers.game.addPass( renderSky ); - this.composers.game.addPass( renderModel ); - - // if(this.quality > 0 && !this.mobile) - // { - // var effectFXAA = new THREE.ShaderPass( THREE.ShaderExtras[ "fxaa" ] ); - // effectFXAA.uniforms[ 'resolution' ].value.set( 1 / this.width, 1 / this.height ); - - // this.composers.game.addPass( effectFXAA ); - - // this.extras.fxaa = effectFXAA; - - // } - - // desktop + quality mid or high - if(this.quality > 2) - { - var effectBloom = new THREE.BloomPass( 0.8, 25, 4 , 256); - - this.composers.game.addPass( effectBloom ); - - this.extras.bloom = effectBloom; - } - - // desktop + quality low, mid or high - // OR - // mobile + quality mid or high - if(this.quality > 0) - this.composers.game.addPass( effectHex ); - else - this.composers.game.addPass( effectScreen ); -} - -bkcore.hexgl.HexGL.prototype.createMesh = function(parent, geometry, x, y, z, mat) -{ - geometry.computeTangents(); - - var mesh = new THREE.Mesh( geometry, mat ); - mesh.position.set( x, y, z ); - parent.add(mesh); - - // desktop + quality mid or high - if(this.quality > 2) - { - mesh.castShadow = true; - mesh.receiveShadow = true; - } - - return mesh; -} - -bkcore.hexgl.HexGL.prototype.tweakShipControls = function() -{ - var c = this.components.shipControls; - if(this.difficulty == 1) - { - c.airResist = 0.035; - c.airDrift = 0.07; - c.thrust = 0.035; - c.airBrake = 0.04; - c.maxSpeed = 9.6; - c.boosterSpeed = c.maxSpeed * 0.35; - c.boosterDecay = 0.007; - c.angularSpeed = 0.0140; - c.airAngularSpeed = 0.0165; - c.rollAngle = 0.6; - c.shieldDamage = 0.03; - c.collisionSpeedDecrease = 0.8; - c.collisionSpeedDecreaseCoef = 0.5; - c.rollLerp = 0.1; - c.driftLerp = 0.4; - c.angularLerp = 0.4; - } - else if(this.difficulty == 0) - { - c.airResist = 0.02; - c.airDrift = 0.06; - c.thrust = 0.02; - c.airBrake = 0.025; - c.maxSpeed = 7.0; - c.boosterSpeed = c.maxSpeed * 0.5; - c.boosterDecay = 0.007; - c.angularSpeed = 0.0125; - c.airAngularSpeed = 0.0135; - c.rollAngle = 0.6; - c.shieldDamage = 0.06; - c.collisionSpeedDecrease = 0.8; - c.collisionSpeedDecreaseCoef = 0.5; - c.rollLerp = 0.07; - c.driftLerp = 0.3; - c.angularLerp = 0.4; - } - - if(this.godmode) - c.shieldDamage = 0.0; -} diff --git a/tools/hexgl/bkcore/hexgl/Ladder.js b/tools/hexgl/bkcore/hexgl/Ladder.js deleted file mode 100644 index 8dbfd8f..0000000 --- a/tools/hexgl/bkcore/hexgl/Ladder.js +++ /dev/null @@ -1,52 +0,0 @@ - /* - * HexGL - * @author Thibaut 'BKcore' Despoulain - * @license This work is licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License. - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/. - */ - -var bkcore = bkcore || {}; -bkcore.hexgl = bkcore.hexgl || {}; - -bkcore.hexgl.Ladder = {}; -bkcore.hexgl.Ladder.global = {}; - -bkcore.hexgl.Ladder.load = function(callback) -{ - var s = encodeURIComponent(window.location.href); - bkcore.Utils.request("nothing", false, function(req) - { - try { - bkcore.Ladder.global = JSON.parse(req.responseText); - if(callback) callback.call(window); - } - catch(e) - { - console.warn('Unable to load ladder. '+e); - } - }, - { - u: s - }); -} - -bkcore.hexgl.Ladder.displayLadder = function(id, track, mode, num) -{ - var d = document.getElementById(id); - if(d == undefined || bkcore.Ladder.global[track] == undefined || !bkcore.Ladder.global[track][mode] == undefined) - { - console.warn('Undefined ladder.'); - return; - } - - var l = bkcore.Ladder.global[track][mode]; - var h = ''; - var m = Math.min((num == undefined ? 10 : num), l.length-1); - for(var i = 0; i < l.length-1; i++) - { - var t = bkcore.Timer.msToTime(l[i]['score']); - h += ''+(i+1)+'. '+l[i]['name']+''+t.m+'\''+t.s+'\'\''+t.ms+''; - } - - d.innerHTML = h; -} \ No newline at end of file diff --git a/tools/hexgl/bkcore/hexgl/RaceData.js b/tools/hexgl/bkcore/hexgl/RaceData.js deleted file mode 100644 index 9d983c0..0000000 --- a/tools/hexgl/bkcore/hexgl/RaceData.js +++ /dev/null @@ -1,99 +0,0 @@ - /* - * HexGL - * @author Thibaut 'BKcore' Despoulain - * @license This work is licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License. - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/. - */ - -var bkcore = bkcore || {}; -bkcore.hexgl = bkcore.hexgl || {}; - -bkcore.hexgl.RaceData = function(track, mode, shipControls) -{ - this.track = track; - this.mode = mode; - this.shipControls = shipControls; - - this.rate = 2; // 1 / rate - this.rateState = 1; - - this.data = []; - this.last = -1; - this.seek = 0; - - this._p = new THREE.Vector3(); - this._pp = new THREE.Vector3(); - this._np = new THREE.Vector3(); - this._q = new THREE.Quaternion(); - this._pq = new THREE.Quaternion(); - this._nq = new THREE.Quaternion(); -} - -bkcore.hexgl.RaceData.prototype.tick = function(time) -{ - if(this.rateState == 1) - { - var p = this.shipControls.getPosition(); - var q = this.shipControls.getQuaternion(); - this.data.push([ - time, - p.x, p.y, p.z, - q.x, q.y, q.z, q.w - ]); - ++this.last; - } - else if(this.rateState == this.rate) - { - this.rateState = 0; - } - - this.rate++; -} - -bkcore.hexgl.RaceData.prototype.applyInterpolated = function(time) -{ - while(this.seek < this.last && this.data[this.seek+1][0] < time) - ++this.seek; - - var prev = this.data[this.seek]; - this._pp.set(prev[1], prev[2], prev[3]); - this._pq.set(prev[4], prev[5], prev[6], prev[7]); - - if(this.seek < 0) - { - console.warn('Bad race data.'); - return; - } - - // no interpolation - if(this.seek == this.last || this.seek == 0) - this.shipControls.teleport(this._pp, this._pq); - - // interpolation - var next = this.data[this.seek+1]; - this._np.set(next[1], next[2], next[3]); - this._nq.set(next[4], next[5], next[6], next[7]); - - var t = (time-prev[0]) / (next[0]-prev[0]); - this._p.copy(this._pp).lerpSelf(this._np, t); - this._q.copy(this._pq).slerpSelf(this._nq, t); - - this.shipControls.teleport(this._p, this._q); -} - -bkcore.hexgl.RaceData.prototype.reset = function() -{ - this.seek = 0; -} - -bkcore.hexgl.RaceData.prototype.export = function() -{ - return this.data; -} - -bkcore.hexgl.RaceData.prototype.import = function(imp) -{ - this.data = imp; - this.last = this.data.length-1; - console.log(this.data); -} \ No newline at end of file diff --git a/tools/hexgl/bkcore/hexgl/ShipControls.js b/tools/hexgl/bkcore/hexgl/ShipControls.js deleted file mode 100644 index 6854751..0000000 --- a/tools/hexgl/bkcore/hexgl/ShipControls.js +++ /dev/null @@ -1,806 +0,0 @@ - /* - * HexGL - * @author Thibaut 'BKcore' Despoulain - * @license This work is licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License. - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/. - */ - -var bkcore = bkcore || {}; -bkcore.hexgl = bkcore.hexgl || {}; - -bkcore.hexgl.ShipControls = function(ctx) -{ - var self = this; - var domElement = ctx.document; - - this.active = true; - this.destroyed = false; - this.falling = false; - - this.dom = domElement; - this.mesh = null; - - this.epsilon = 0.00000001; - this.zero = new THREE.Vector3(0,0,0); - this.airResist = 0.02; - this.airDrift = 0.1; - this.thrust = 0.02; - this.airBrake = 0.02; - this.maxSpeed = 7.0; - this.boosterSpeed = this.maxSpeed * 0.2; - this.boosterDecay = 0.01; - this.angularSpeed = 0.005; - this.airAngularSpeed = 0.0065; - this.repulsionRatio = 0.5; - this.repulsionCap = 2.5; - this.repulsionLerp = 0.1; - this.collisionSpeedDecrease = 0.8; - this.collisionSpeedDecreaseCoef = 0.8; - this.maxShield = 1.0; - this.shieldDelay = 60; - this.shieldTiming = 0; - this.shieldDamage = 0.25; - this.driftLerp = 0.35; - this.angularLerp = 0.35; - - this.movement = new THREE.Vector3(0,0,0); - this.rotation = new THREE.Vector3(0,0,0); - this.roll = 0.0; - this.rollAxis = new THREE.Vector3(); - this.drift = 0.0; - this.speed = 0.0; - this.speedRatio = 0.0; - this.boost = 0.0; - this.shield = 1.0; - this.angular = 0.0; - - this.currentVelocity = new THREE.Vector3(); - - this.quaternion = new THREE.Quaternion(); - - this.dummy = new THREE.Object3D(); - this.dummy.useQuaternion = true; - - this.collisionMap = null; - this.collisionPixelRatio = 1.0; - this.collisionDetection = false; - this.collisionPreviousPosition = new THREE.Vector3(); - - this.heightMap = null; - this.heightPixelRatio = 1.0; - this.heightBias = 0.0; - this.heightLerp = 0.4; - this.heightScale = 1.0; - - this.rollAngle = 0.6; - this.rollLerp = 0.08; - this.rollDirection = new THREE.Vector3(0,0,1); - - this.gradient = 0.0; - this.gradientTarget = 0.0; - this.gradientLerp = 0.05; - this.gradientScale = 4.0; - this.gradientVector = new THREE.Vector3(0,0,5); - this.gradientAxis = new THREE.Vector3(1,0,0); - - this.tilt = 0.0; - this.tiltTarget = 0.0; - this.tiltLerp = 0.05; - this.tiltScale = 4.0; - this.tiltVector = new THREE.Vector3(5,0,0); - this.tiltAxis = new THREE.Vector3(0,0,1); - - this.repulsionVLeft = new THREE.Vector3(1,0,0); - this.repulsionVRight = new THREE.Vector3(-1,0,0); - this.repulsionVFront = new THREE.Vector3(0,0,1); - this.repulsionVScale = 4.0; - this.repulsionAmount = 0.0; - this.repulsionForce = new THREE.Vector3(); - - this.fallVector = new THREE.Vector3(0,-20,0); - - this.resetPos = null; - this.resetRot = null; - - this.key = { - forward: false, - backward: false, - left: false, - right: false, - ltrigger: false, - rtrigger: false, - use: false - }; - - this.collision = { - front: false, - left: false, - right: false - }; - - this.touchController = null; - this.orientationController = null; - this.gamepadController = null - - if(ctx.controlType == 1 && bkcore.controllers.TouchController.isCompatible()) - { - this.touchController = new bkcore.controllers.TouchController( - domElement, ctx.width/2, - function(state, touch, event){ - if(event.touches.length >= 4) - window.location.reload(false); - else if(event.touches.length == 3) - ctx.restart(); - // touch was on the right-hand side of the screen - else if (touch.clientX > (ctx.width / 2)) { - if (event.type === 'touchend') - self.key.forward = false; - else - self.key.forward = true; - } - }); - } - else if(ctx.controlType == 4 && bkcore.controllers.OrientationController.isCompatible()) - { - this.orientationController = new bkcore.controllers.OrientationController( - domElement, true, - function(state, touch, event){ - if(event.touches.length >= 4) - window.location.reload(false); - else if(event.touches.length == 3) - ctx.restart(); - else if(event.touches.length < 1) - self.key.forward = false; - else - self.key.forward = true; - }); - } - else if(ctx.controlType == 3 && bkcore.controllers.GamepadController.isCompatible()) - { - this.gamepadController = new bkcore.controllers.GamepadController( - function(controller){ - if (controller.select) - ctx.restart(); - else - self.key.forward = controller.acceleration > 0; - self.key.ltrigger = controller.ltrigger > 0; - self.key.rtrigger = controller.rtrigger > 0; - self.key.left = controller.lstickx < -0.1; - self.key.right = controller.lstickx > 0.1; - }); - } - else if(ctx.controlType == 2) - { - if(Leap == null) - throw new Error("Unable to reach LeapJS!"); - - var leapInfo = this.leapInfo = document.getElementById('leapinfo'); - isServerConnected = false; - var lb = this.leapBridge = { - isConnected: true, - hasHands: false, - palmNormal: [0, 0, 0] - }; - - function updateInfo() - { - if(!isServerConnected) - { - leapInfo.innerHTML = 'Waiting for the Leap Motion Controller server...' - leapInfo.style.display = 'block'; - } - else if(lb.isConnected && lb.hasHands) - { - leapInfo.style.display = 'none'; - } - else if(!lb.isConnected) - { - leapInfo.innerHTML = 'Please connect your Leap Motion Controller.' - leapInfo.style.display = 'block'; - } - else if(!lb.hasHands) - { - leapInfo.innerHTML = 'Put your hand over the Leap Motion Controller to play.' - leapInfo.style.display = 'block'; - } - } - updateInfo(); - - var lc = this.leapController = new Leap.Controller({enableGestures: false}); - lc.on('connect', function() - { - isServerConnected = true; - updateInfo(); - }); - lc.on('deviceConnected', function() - { - lb.isConnected = true; - updateInfo(); - }); - lc.on('deviceDisconnected', function() - { - lb.isConnected = false; - updateInfo(); - }); - lc.on('frame', function(frame) - { - if(!lb.isConnected) return; - hand = frame.hands[0]; - if(typeof hand === 'undefined') - { - if(lb.hasHands) - { - lb.hasHands = false; - updateInfo(); - } - lb.palmNormal = [0, 0, 0]; - } - else - { - if(!lb.hasHands) - { - lb.hasHands = true; - updateInfo(); - } - lb.palmNormal = hand.palmNormal; - } - }); - lc.connect(); - } - - function onKeyDown(event) - { - switch(event.keyCode) - { - case 38: /*up*/ self.key.forward = true; break; - - case 40: /*down*/self.key.backward = true; break; - - case 37: /*left*/self.key.left = true; break; - - case 39: /*right*/self.key.right = true; break; - - case 81: /*Q*/self.key.ltrigger = true; break; - case 65: /*A*/self.key.ltrigger = true; break; - - case 68: /*D*/self.key.rtrigger = true; break; - case 69: /*E*/self.key.rtrigger = true; break; - } - }; - - function onKeyUp(event) - { - switch(event.keyCode) - { - case 38: /*up*/ self.key.forward = false; break; - - case 40: /*down*/self.key.backward = false; break; - - case 37: /*left*/self.key.left = false; break; - - case 39: /*right*/self.key.right = false; break; - - case 81: /*Q*/self.key.ltrigger = false; break; - case 65: /*A*/self.key.ltrigger = false; break; - - case 68: /*D*/self.key.rtrigger = false; break; - case 69: /*E*/self.key.rtrigger = false; break; - } - }; - - domElement.addEventListener('keydown', onKeyDown, false); - domElement.addEventListener('keyup', onKeyUp, false); -}; - -bkcore.hexgl.ShipControls.prototype.control = function(threeMesh) -{ - this.mesh = threeMesh; - this.mesh.martixAutoUpdate = false; - this.dummy.position = this.mesh.position; -}; - -bkcore.hexgl.ShipControls.prototype.reset = function(position, rotation) -{ - this.resetPos = position; - this.resetRot = rotation; - this.movement.set(0,0,0); - this.rotation.copy(rotation); - this.roll = 0.0; - this.drift = 0.0; - this.speed = 0.0; - this.speedRatio = 0.0; - this.boost = 0.0; - this.shield = this.maxShield; - this.destroyed = false; - - this.dummy.position.copy(position); - this.quaternion.set(rotation.x, rotation.y, rotation.z, 1).normalize(); - this.dummy.quaternion.set(0,0,0,1); - this.dummy.quaternion.multiplySelf(this.quaternion); - - this.dummy.matrix.setPosition(this.dummy.position); - this.dummy.matrix.setRotationFromQuaternion(this.dummy.quaternion); - - this.mesh.matrix.identity(); - this.mesh.applyMatrix(this.dummy.matrix); -} - -bkcore.hexgl.ShipControls.prototype.terminate = function() -{ - this.destroy(); - - if(this.leapController != null) - { - this.leapController.disconnect(); - this.leapInfo.style.display = 'none'; - } -} - -bkcore.hexgl.ShipControls.prototype.destroy = function() -{ - bkcore.Audio.play('destroyed'); - bkcore.Audio.stop('bg'); - bkcore.Audio.stop('wind'); - - this.active = false; - this.destroyed = true; - this.collision.front = false; - this.collision.left = false; - this.collision.right = false; -} - -bkcore.hexgl.ShipControls.prototype.fall = function() -{ - this.active = false; - this.collision.front = false; - this.collision.left = false; - this.collision.right = false; - this.falling = true; - _this = this; - setTimeout(function(){ - _this.destroyed = true; - }, 1500); -} - -bkcore.hexgl.ShipControls.prototype.update = function(dt) -{ - if(this.falling) - { - this.mesh.position.addSelf(this.fallVector); - return; - } - - this.rotation.y = 0; - this.movement.set(0,0,0); - this.drift += (0.0 - this.drift) * this.driftLerp; - this.angular += (0.0 - this.angular) * this.angularLerp * 0.5; - - var rollAmount = 0.0; - var angularAmount = 0.0; - var yawLeap = 0.0; - - if(this.leapBridge != null && this.leapBridge.hasHands) - { - rollAmount -= this.leapBridge.palmNormal[0] * 3.5 * this.rollAngle; - yawLeap = -this.leapBridge.palmNormal[2] * 0.6; - } - - if(this.active) - { - - if(this.touchController != null) - { - angularAmount -= this.touchController.stickVector.x/100 * this.angularSpeed * dt; - rollAmount += this.touchController.stickVector.x/100 * this.rollAngle; - } - else if(this.orientationController != null) - { - angularAmount += this.orientationController.beta/45 * this.angularSpeed * dt; - rollAmount -= this.orientationController.beta/45 * this.rollAngle; - } - else if(this.gamepadController != null && this.gamepadController.updateAvailable()) - { - angularAmount -= this.gamepadController.lstickx * this.angularSpeed * dt; - rollAmount += this.gamepadController.lstickx * this.rollAngle; - } - else if(this.leapBridge != null && this.leapBridge.hasHands) - { - angularAmount += this.leapBridge.palmNormal[0] * 2 * this.angularSpeed * dt; - this.speed += Math.max(0.0, (0.5 + this.leapBridge.palmNormal[2])) * 3 * this.thrust * dt; - } - else - { - if(this.key.left) - { - angularAmount += this.angularSpeed * dt; - rollAmount -= this.rollAngle; - } - if(this.key.right) - { - angularAmount -= this.angularSpeed * dt; - rollAmount += this.rollAngle; - } - } - - if(this.key.forward) - this.speed += this.thrust * dt; - else - this.speed -= this.airResist * dt; - if(this.key.ltrigger) - { - if(this.key.left) - angularAmount += this.airAngularSpeed * dt; - else - angularAmount += this.airAngularSpeed * 0.5 * dt; - this.speed -= this.airBrake * dt; - this.drift += (this.airDrift - this.drift) * this.driftLerp; - this.movement.x += this.speed * this.drift * dt; - if(this.drift > 0.0) - this.movement.z -= this.speed * this.drift * dt; - rollAmount -= this.rollAngle * 0.7; - } - if(this.key.rtrigger) - { - if(this.key.right) - angularAmount -= this.airAngularSpeed * dt; - else - angularAmount -= this.airAngularSpeed * 0.5 * dt; - this.speed -= this.airBrake * dt; - this.drift += (-this.airDrift - this.drift) * this.driftLerp; - this.movement.x += this.speed * this.drift * dt; - if(this.drift < 0.0) - this.movement.z += this.speed * this.drift * dt; - rollAmount += this.rollAngle * 0.7; - } - } - - this.angular += (angularAmount - this.angular) * this.angularLerp; - this.rotation.y = this.angular; - - this.speed = Math.max(0.0, Math.min(this.speed, this.maxSpeed)); - this.speedRatio = this.speed / this.maxSpeed; - this.movement.z += this.speed * dt; - - if(this.repulsionForce.isZero()) - { - this.repulsionForce.set(0,0,0); - } - else - { - if(this.repulsionForce.z != 0.0) this.movement.z = 0; - this.movement.addSelf(this.repulsionForce); - this.repulsionForce.lerpSelf(this.zero, dt > 1.5 ? this.repulsionLerp*2 : this.repulsionLerp); - } - - this.collisionPreviousPosition.copy(this.dummy.position); - - this.boosterCheck(dt); - - //this.movement.multiplyScalar(dt); - //this.rotation.multiplyScalar(dt); - - this.dummy.translateX(this.movement.x); - this.dummy.translateZ(this.movement.z); - - - this.heightCheck(dt); - this.dummy.translateY(this.movement.y); - - this.currentVelocity.copy(this.dummy.position).subSelf(this.collisionPreviousPosition); - - this.collisionCheck(dt); - - this.quaternion.set(this.rotation.x, this.rotation.y, this.rotation.z, 1).normalize(); - this.dummy.quaternion.multiplySelf(this.quaternion); - - this.dummy.matrix.setPosition(this.dummy.position); - this.dummy.matrix.setRotationFromQuaternion(this.dummy.quaternion); - - if(this.shield <= 0.0) - { - this.shield = 0.0; - this.destroy(); - } - - if(this.mesh != null) - { - this.mesh.matrix.identity(); - - // Gradient (Mesh only, no dummy physics impact) - var gradientDelta = (this.gradientTarget - (yawLeap + this.gradient)) * this.gradientLerp; - if(Math.abs(gradientDelta) > this.epsilon) this.gradient += gradientDelta; - if(Math.abs(this.gradient) > this.epsilon) - { - this.gradientAxis.set(1,0,0); - this.mesh.matrix.rotateByAxis(this.gradientAxis, this.gradient); - } - - // Tilting (Idem) - var tiltDelta = (this.tiltTarget - this.tilt) * this.tiltLerp; - if(Math.abs(tiltDelta) > this.epsilon) this.tilt += tiltDelta; - if(Math.abs(this.tilt) > this.epsilon) - { - this.tiltAxis.set(0,0,1); - this.mesh.matrix.rotateByAxis(this.tiltAxis, this.tilt); - } - - // Rolling (Idem) - var rollDelta = (rollAmount - this.roll) * this.rollLerp; - if(Math.abs(rollDelta) > this.epsilon) this.roll += rollDelta; - if(Math.abs(this.roll) > this.epsilon) - { - this.rollAxis.copy(this.rollDirection); - this.mesh.matrix.rotateByAxis(this.rollAxis, this.roll); - } - - this.mesh.applyMatrix(this.dummy.matrix); - this.mesh.updateMatrixWorld(true); - } - - //Update listener position - bkcore.Audio.setListenerPos(this.movement); - bkcore.Audio.setListenerVelocity(this.currentVelocity); -}; - -bkcore.hexgl.ShipControls.prototype.teleport = function(pos, quat) -{ - this.quaternion.copy(quat); - this.dummy.quaternion.copy(this.quaternion); - - this.dummy.position.copy(pos); - this.dummy.matrix.setPosition(this.dummy.position); - - //console.log(pos.x, pos.y, pos.z); - - this.dummy.matrix.setRotationFromQuaternion(this.dummy.quaternion); - - if(this.mesh != null) - { - this.mesh.matrix.identity(); - - // Gradient (Mesh only, no dummy physics impact) - var gradientDelta = (this.gradientTarget - this.gradient) * this.gradientLerp; - if(Math.abs(gradientDelta) > this.epsilon) this.gradient += gradientDelta; - if(Math.abs(this.gradient) > this.epsilon) - { - this.gradientAxis.set(1,0,0); - this.mesh.matrix.rotateByAxis(this.gradientAxis, this.gradient); - } - - // Tilting (Idem) - var tiltDelta = (this.tiltTarget - this.tilt) * this.tiltLerp; - if(Math.abs(tiltDelta) > this.epsilon) this.tilt += tiltDelta; - if(Math.abs(this.tilt) > this.epsilon) - { - this.tiltAxis.set(0,0,1); - this.mesh.matrix.rotateByAxis(this.tiltAxis, this.tilt); - } - - this.mesh.applyMatrix(this.dummy.matrix); - this.mesh.updateMatrixWorld(true); - } -} - -bkcore.hexgl.ShipControls.prototype.boosterCheck = function(dt) -{ - if(!this.collisionMap || !this.collisionMap.loaded) - return false; - - this.boost -= this.boosterDecay * dt; - if(this.boost < 0){ - this.boost = 0.0; - bkcore.Audio.stop('boost'); - } - - var x = Math.round(this.collisionMap.pixels.width/2 + this.dummy.position.x * this.collisionPixelRatio); - var z = Math.round(this.collisionMap.pixels.height/2 + this.dummy.position.z * this.collisionPixelRatio); - var pos = new THREE.Vector3(x, 0, z); - - var color = this.collisionMap.getPixel(x, z); - - if(color.r == 255 && color.g < 127 && color.b < 127) { - bkcore.Audio.play('boost'); - this.boost = this.boosterSpeed; - } - - this.movement.z += this.boost * dt; -} - -bkcore.hexgl.ShipControls.prototype.collisionCheck = function(dt) -{ - if(!this.collisionDetection || !this.collisionMap || !this.collisionMap.loaded) - return false; - - if(this.shieldDelay > 0) - this.shieldDelay -= dt; - - this.collision.left = false; - this.collision.right = false; - this.collision.front = false; - - var x = Math.round(this.collisionMap.pixels.width/2 + this.dummy.position.x * this.collisionPixelRatio); - var z = Math.round(this.collisionMap.pixels.height/2 + this.dummy.position.z * this.collisionPixelRatio); - var pos = new THREE.Vector3(x, 0, z); - - //console.log({c: this.collisionMap.getPixel(414, 670), d: this.dummy.position, x: x, y: y, p: this.collisionMap.getPixel(x, y)}) - - var collision = this.collisionMap.getPixelBilinear(x, z); - - if(collision.r < 255) - { - bkcore.Audio.play('crash'); - - // Shield - var sr = (this.getRealSpeed() / this.maxSpeed); - this.shield -= sr * sr * 0.8 * this.shieldDamage; - - // Repulsion - this.repulsionVLeft.set(1,0,0); - this.repulsionVRight.set(-1,0,0); - this.dummy.matrix.rotateAxis(this.repulsionVLeft); - this.dummy.matrix.rotateAxis(this.repulsionVRight); - this.repulsionVLeft.multiplyScalar(this.repulsionVScale); - this.repulsionVRight.multiplyScalar(this.repulsionVScale); - - var lPos = this.repulsionVLeft.addSelf(pos); - var rPos = this.repulsionVRight.addSelf(pos); - var lCol = this.collisionMap.getPixel(Math.round(lPos.x), Math.round(lPos.z)).r; - var rCol = this.collisionMap.getPixel(Math.round(rPos.x), Math.round(rPos.z)).r; - - this.repulsionAmount = Math.max(0.8, - Math.min(this.repulsionCap, - this.speed * this.repulsionRatio - ) - ); - - if(rCol > lCol) - {// Repulse right - this.repulsionForce.x += -this.repulsionAmount; - this.collision.left = true; - } - else if(rCol < lCol) - {// Repulse left - this.repulsionForce.x += this.repulsionAmount; - this.collision.right = true; - } - else - { - //console.log(collision.r+" -- "+fCol+" @ "+lCol+" / "+rCol); - this.repulsionForce.z += -this.repulsionAmount*4; - this.collision.front = true; - this.speed = 0; - } - - // DIRTY GAMEOVER - if(rCol < 128 && lCol < 128) - { - var fCol = this.collisionMap.getPixel(Math.round(pos.x+2), Math.round(pos.z+2)).r; - if(fCol < 128) - { - console.log('GAMEOVER'); - this.fall(); - } - } - - this.speed *= this.collisionSpeedDecrease; - this.speed *= (1-this.collisionSpeedDecreaseCoef*(1-collision.r/255)); - this.boost = 0; - - return true; - } - else - { - return false; - } -} - -bkcore.hexgl.ShipControls.prototype.heightCheck = function(dt) -{ - if(!this.heightMap || !this.heightMap.loaded) - return false; - - var x = this.heightMap.pixels.width/2 + this.dummy.position.x * this.heightPixelRatio; - var z = this.heightMap.pixels.height/2 + this.dummy.position.z * this.heightPixelRatio; - var height = this.heightMap.getPixelFBilinear(x, z) / this.heightScale + this.heightBias; - - var color = this.heightMap.getPixel(x, z); - - if(height < 16777) - { - var delta = (height - this.dummy.position.y); - - if(delta > 0) - { - this.movement.y += delta; - } - else - { - this.movement.y += delta * this.heightLerp; - } - } - - // gradient - this.gradientVector.set(0,0,5); - this.dummy.matrix.rotateAxis(this.gradientVector); - this.gradientVector.addSelf(this.dummy.position); - - x = this.heightMap.pixels.width/2 + this.gradientVector.x * this.heightPixelRatio; - z = this.heightMap.pixels.height/2 + this.gradientVector.z * this.heightPixelRatio; - - var nheight = this.heightMap.getPixelFBilinear(x, z) / this.heightScale + this.heightBias; - - if(nheight < 16777) - this.gradientTarget = -Math.atan2(nheight-height, 5.0)*this.gradientScale; - - // tilt - this.tiltVector.set(5,0,0); - this.dummy.matrix.rotateAxis(this.tiltVector); - this.tiltVector.addSelf(this.dummy.position); - - x = this.heightMap.pixels.width/2 + this.tiltVector.x * this.heightPixelRatio; - z = this.heightMap.pixels.height/2 + this.tiltVector.z * this.heightPixelRatio; - - nheight = this.heightMap.getPixelFBilinear(x, z) / this.heightScale + this.heightBias; - - if(nheight >= 16777) // If right project out of bounds, try left projection - { - this.tiltVector.subSelf(this.dummy.position).multiplyScalar(-1).addSelf(this.dummy.position); - - x = this.heightMap.pixels.width/2 + this.tiltVector.x * this.heightPixelRatio; - z = this.heightMap.pixels.height/2 + this.tiltVector.z * this.heightPixelRatio; - - nheight = this.heightMap.getPixelFBilinear(x, z) / this.heightScale + this.heightBias; - } - - if(nheight < 16777) - this.tiltTarget = Math.atan2(nheight-height, 5.0)*this.tiltScale; -}; - -bkcore.hexgl.ShipControls.prototype.getRealSpeed = function(scale) -{ - return Math.round( - (this.speed+this.boost) - * (scale == undefined ? 1 : scale) - ); -}; - -bkcore.hexgl.ShipControls.prototype.getRealSpeedRatio = function() -{ - return Math.min( - this.maxSpeed, - this.speed+this.boost - ) / this.maxSpeed; -}; - -bkcore.hexgl.ShipControls.prototype.getSpeedRatio = function() -{ - return (this.speed+this.boost)/ this.maxSpeed; -}; - -bkcore.hexgl.ShipControls.prototype.getBoostRatio = function() -{ - return this.boost / this.boosterSpeed; -}; - -bkcore.hexgl.ShipControls.prototype.getShieldRatio = function() -{ - return this.shield / this.maxShield; -}; - -bkcore.hexgl.ShipControls.prototype.getShield = function(scale) -{ - return Math.round( - this.shield - * (scale == undefined ? 1 : scale) - ); -}; - -bkcore.hexgl.ShipControls.prototype.getPosition = function() -{ - return this.dummy.position; -} - -bkcore.hexgl.ShipControls.prototype.getQuaternion = function() -{ - return this.dummy.quaternion; -} diff --git a/tools/hexgl/bkcore/hexgl/ShipEffects.js b/tools/hexgl/bkcore/hexgl/ShipEffects.js deleted file mode 100644 index 1be2920..0000000 --- a/tools/hexgl/bkcore/hexgl/ShipEffects.js +++ /dev/null @@ -1,186 +0,0 @@ - /* - * HexGL - * @author Thibaut 'BKcore' Despoulain - * @license This work is licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License. - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/. - */ - -var bkcore = bkcore || {}; -bkcore.hexgl = bkcore.hexgl || {}; - -bkcore.hexgl.ShipEffects = function(opts) -{ - this.scene = opts.scene; - this.shipControls = opts.shipControls; - - this.booster = opts.booster; - this.boosterLight = opts.boosterLight; - this.boosterSprite = opts.boosterSprite; - - this.useParticles = opts.useParticles; - - if(this.useParticles) - { - this.pVel = new THREE.Vector3(0.5,0,0); - this.pOffset = new THREE.Vector3(-3,-0.3,0); - this.pRad = new THREE.Vector3(0,0,1.5); - - this.shipVelocity = new THREE.Vector3(); - - this.pVelS = this.pVel.length(); - this.pOffsetS = this.pOffset.length(); - this.pRadS = this.pRad.length(); - - this.pVel.normalize(); - this.pOffset.normalize(); - this.pRad.normalize(); - - this.particles = { - - leftSparks: new bkcore.threejs.Particles( - { - randomness: new THREE.Vector3(0.4,0.4,0.4), - tint: 0xffffff, - color: 0xffc000, - color2: 0xffffff, - texture: opts.textureSpark, - size: 2, - life: 60, - max: 200 - }), - - leftClouds: new bkcore.threejs.Particles( - { - opacity: 0.8, - tint: 0xffffff, - color: 0x666666, - color2: 0xa4f1ff, - texture: opts.textureCloud, - size: 6, - blending: THREE.NormalBlending, - life: 60, - max: 200, - spawn: new THREE.Vector3(3,-0.3,0), - spawnRadius: new THREE.Vector3(1,1,2), - velocity: new THREE.Vector3(0,0,-0.4), - randomness: new THREE.Vector3(0.05,0.05,0.1) - }), - - rightSparks: new bkcore.threejs.Particles( - { - randomness: new THREE.Vector3(0.4,0.4,0.4), - tint: 0xffffff, - color: 0xffc000, - color2: 0xffffff, - texture: opts.textureSpark, - size: 2, - life: 60, - max: 200 - }), - - rightClouds: new bkcore.threejs.Particles( - { - opacity: 0.8, - tint: 0xffffff, - color: 0x666666, - color2: 0xa4f1ff, - texture: opts.textureCloud, - size: 6, - blending: THREE.NormalBlending, - life: 60, - max: 200, - spawn: new THREE.Vector3(-3,-0.3,0), - spawnRadius: new THREE.Vector3(1,1,2), - velocity: new THREE.Vector3(0,0,-0.4), - randomness: new THREE.Vector3(0.05,0.05,0.1) - }) - }; - - this.shipControls.mesh.add(this.particles.leftClouds.system); - this.shipControls.mesh.add(this.particles.rightClouds.system); - this.scene.add(this.particles.leftSparks.system); - this.scene.add(this.particles.rightSparks.system); - } -} - -bkcore.hexgl.ShipEffects.prototype.update = function(dt) -{ - var boostRatio, opacity, scale, intensity, random; - - if(this.shipControls.destroyed) - { - opacity = 0; - scale = 0; - intensity = 0; - random = 0; - } - else - { - boostRatio = this.shipControls.getBoostRatio(); - opacity = this.shipControls.key.forward ? 0.8 : 0.3 + boostRatio * 0.4; - scale = (this.shipControls.key.forward ? 1.0 : 0.8) + boostRatio * 0.5; - intensity = this.shipControls.key.forward ? 4.0 : 2.0; - random = Math.random()*0.2; - } - - if(this.booster) - { - this.booster.rotation.z += 1; - this.booster.scale.set(scale, scale, scale); - this.booster.material.opacity = random+opacity; - this.boosterSprite.opacity = random+opacity; - this.boosterLight.intensity = intensity*(random+0.8); - } - - // PARTICLES - if(this.useParticles) - { - this.shipVelocity.copy(this.shipControls.currentVelocity).multiplyScalar(0.7); - - this.particles.rightSparks.velocity.copy(this.pVel); - this.particles.rightSparks.spawnRadius.copy(this.pRad); - this.particles.rightSparks.spawn.copy(this.pOffset); - - this.particles.leftSparks.velocity.copy(this.pVel).x *= -1; - this.particles.leftSparks.spawn.copy(this.pOffset).x *= -1; - - if(this.shipControls.mesh) - { - // RIGHT - this.shipControls.mesh.matrix.rotateAxis(this.particles.rightSparks.spawn); - this.particles.rightSparks.spawn.multiplyScalar(this.pOffsetS).addSelf(this.shipControls.dummy.position); - - this.shipControls.mesh.matrix.rotateAxis(this.particles.rightSparks.velocity); - this.particles.rightSparks.velocity.multiplyScalar(this.pVelS).addSelf(this.shipVelocity); - - this.shipControls.mesh.matrix.rotateAxis(this.particles.rightSparks.spawnRadius); - this.particles.rightSparks.spawnRadius.multiplyScalar(this.pRadS); - - // LEFT - this.shipControls.mesh.matrix.rotateAxis(this.particles.leftSparks.spawn); - this.particles.leftSparks.spawn.multiplyScalar(this.pOffsetS).addSelf(this.shipControls.dummy.position); - - this.shipControls.mesh.matrix.rotateAxis(this.particles.leftSparks.velocity); - this.particles.leftSparks.velocity.multiplyScalar(this.pVelS).addSelf(this.shipVelocity); - - this.particles.leftSparks.spawnRadius.copy(this.particles.rightSparks.spawnRadius); - } - - if(this.shipControls.collision.right) - { - this.particles.rightSparks.emit(10); - this.particles.rightClouds.emit(5); - } - - if(this.shipControls.collision.left) - { - this.particles.leftSparks.emit(10); - this.particles.leftClouds.emit(5); - } - - this.particles.rightSparks.update(dt); - this.particles.rightClouds.update(dt); - this.particles.leftSparks.update(dt); - this.particles.leftClouds.update(dt); - } -} diff --git a/tools/hexgl/bkcore/hexgl/tracks/Cityscape.js b/tools/hexgl/bkcore/hexgl/tracks/Cityscape.js deleted file mode 100644 index 585ca4b..0000000 --- a/tools/hexgl/bkcore/hexgl/tracks/Cityscape.js +++ /dev/null @@ -1,521 +0,0 @@ -/* - * HexGL - * @author Thibaut 'BKcore' Despoulain - * @license This work is licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License. - * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc/3.0/. - */ - -var bkcore = bkcore || {}; -bkcore.hexgl = bkcore.hexgl || {}; -bkcore.hexgl.tracks = bkcore.hexgl.tracks || {}; - -bkcore.hexgl.tracks.Cityscape = { - - lib: null, - materials: {}, - - name: "Cityscape", - - checkpoints: { - list: [0,1,2], - start: 0, - last: 2 - }, - - spawn: { - x: -1134*2, - y: 387, - z: -443*2 - }, - - spawnRotation: { - x: 0, - y: 0, - z: 0 - }, - - analyser: null, - pixelRatio: 2048.0 / 6000.0, - - load: function(opts, quality) - { - this.lib = new bkcore.threejs.Loader(opts); - - // desktop + quality low - // OR - // mobile + quality low or mid - if(quality < 2) // LOW - { - this.lib.load({ - textures: { - 'hex' : "textures/hud/hex.jpg", - 'spark' : "textures/particles/spark.png", - 'cloud' : "textures/particles/cloud.png", - 'ship.feisar.diffuse' : "textures/ships/feisar/diffuse.jpg", - 'booster.diffuse' : "textures/ships/feisar/booster/booster.png", - 'booster.sprite' : "textures/ships/feisar/booster/boostersprite.jpg", - 'track.cityscape.diffuse' : "textures/tracks/cityscape/diffuse.jpg", - 'track.cityscape.scrapers1.diffuse' : "textures/tracks/cityscape/scrapers1/diffuse.jpg", - 'track.cityscape.scrapers2.diffuse' : "textures/tracks/cityscape/scrapers2/diffuse.jpg", - 'track.cityscape.start.diffuse' : "textures/tracks/cityscape/start/diffuse.jpg", - 'track.cityscape.start.banner' : "textures/tracks/cityscape/start/start.jpg", - 'bonus.base.diffuse' : "textures/bonus/base/diffuse.jpg" - }, - texturesCube: { - 'skybox.dawnclouds' : "textures/skybox/dawnclouds/%1.jpg" - }, - geometries: { - 'bonus.base' : "geometries/bonus/base/base.js", - 'booster' : "geometries/booster/booster.js", - 'ship.feisar' : "geometries/ships/feisar/feisar.js", - 'track.cityscape' : "geometries/tracks/cityscape/track.js", - 'track.cityscape.scrapers1' : "geometries/tracks/cityscape/scrapers1.js", - 'track.cityscape.scrapers2' : "geometries/tracks/cityscape/scrapers2.js", - 'track.cityscape.start' : "geometries/tracks/cityscape/start.js", - 'track.cityscape.start.banner' : "geometries/tracks/cityscape/startbanner.js", - 'track.cityscape.bonus.speed' : "geometries/tracks/cityscape/bonus/speed.js" - }, - analysers: { - 'track.cityscape.collision' : "textures/tracks/cityscape/collision.png", - 'track.cityscape.height' : "textures/tracks/cityscape/height.png" - }, - images: { - 'hud.bg' : "textures/hud/hud-bg.png", - 'hud.speed' : "textures/hud/hud-fg-speed.png", - 'hud.shield' : "textures/hud/hud-fg-shield.png" - }, - sounds: { - bg: { - src: 'audio/bg.ogg', - loop: true, - usePanner: false - }, - crash: { - src: 'audio/crash.ogg', - loop: false, - usePanner: true - }, - destroyed: { - src: 'audio/destroyed.ogg', - loop: false, - usePanner: false - }, - boost: { - src: 'audio/boost.ogg', - loop: false, - usePanner: true - }, - wind: { - src: 'audio/wind.ogg', - loop: true, - usePanner: true - } - } - }); - } - // desktop + quality mid or high - // OR - // mobile + quality high - else // HIGH - {console.log('HIGH'); - this.lib.load({ - textures: { - 'hex' : "textures.full/hud/hex.jpg", - 'spark' : "textures.full/particles/spark.png", - 'cloud' : "textures.full/particles/cloud.png", - 'ship.feisar.diffuse' : "textures.full/ships/feisar/diffuse.jpg", - 'ship.feisar.specular' : "textures.full/ships/feisar/specular.jpg", - 'ship.feisar.normal' : "textures.full/ships/feisar/normal.jpg", - 'booster.diffuse' : "textures.full/ships/feisar/booster/booster.png", - 'booster.sprite' : "textures.full/ships/feisar/booster/boostersprite.jpg", - 'track.cityscape.diffuse' : "textures.full/tracks/cityscape/diffuse.jpg", - 'track.cityscape.specular' : "textures.full/tracks/cityscape/specular.jpg", - 'track.cityscape.normal' : "textures.full/tracks/cityscape/normal.jpg", - 'track.cityscape.scrapers1.diffuse' : "textures.full/tracks/cityscape/scrapers1/diffuse.jpg", - 'track.cityscape.scrapers1.specular': "textures.full/tracks/cityscape/scrapers1/specular.jpg", - 'track.cityscape.scrapers1.normal' : "textures.full/tracks/cityscape/scrapers1/normal.jpg", - 'track.cityscape.scrapers2.diffuse' : "textures.full/tracks/cityscape/scrapers2/diffuse.jpg", - 'track.cityscape.scrapers2.specular': "textures.full/tracks/cityscape/scrapers2/specular.jpg", - 'track.cityscape.scrapers2.normal' : "textures.full/tracks/cityscape/scrapers2/normal.jpg", - 'track.cityscape.start.diffuse' : "textures.full/tracks/cityscape/start/diffuse.jpg", - 'track.cityscape.start.specular' : "textures.full/tracks/cityscape/start/specular.jpg", - 'track.cityscape.start.normal' : "textures.full/tracks/cityscape/start/normal.jpg", - 'track.cityscape.start.banner' : "textures.full/tracks/cityscape/start/start.jpg", - 'bonus.base.diffuse' : "textures.full/bonus/base/diffuse.jpg", - 'bonus.base.normal' : "textures.full/bonus/base/normal.jpg", - 'bonus.base.specular' : "textures.full/bonus/base/specular.jpg" - }, - texturesCube: { - 'skybox.dawnclouds' : "textures.full/skybox/dawnclouds/%1.jpg" - }, - geometries: { - 'bonus.base' : "geometries/bonus/base/base.js", - 'booster' : "geometries/booster/booster.js", - 'ship.feisar' : "geometries/ships/feisar/feisar.js", - 'track.cityscape' : "geometries/tracks/cityscape/track.js", - 'track.cityscape.scrapers1' : "geometries/tracks/cityscape/scrapers1.js", - 'track.cityscape.scrapers2' : "geometries/tracks/cityscape/scrapers2.js", - 'track.cityscape.start' : "geometries/tracks/cityscape/start.js", - 'track.cityscape.start.banner' : "geometries/tracks/cityscape/startbanner.js", - 'track.cityscape.bonus.speed' : "geometries/tracks/cityscape/bonus/speed.js" - }, - analysers: { - 'track.cityscape.collision' : "textures.full/tracks/cityscape/collision.png", - 'track.cityscape.height' : "textures.full/tracks/cityscape/height.png" - }, - images: { - 'hud.bg' : "textures.full/hud/hud-bg.png", - 'hud.speed' : "textures.full/hud/hud-fg-speed.png", - 'hud.shield' : "textures.full/hud/hud-fg-shield.png" - }, - sounds: { - bg: { - src: 'audio/bg.ogg', - loop: true - }, - crash: { - src: 'audio/crash.ogg', - loop: false - }, - destroyed: { - src: 'audio/destroyed.ogg', - loop: false - }, - boost: { - src: 'audio/boost.ogg', - loop: false - }, - wind: { - src: 'audio/wind.ogg', - loop: true - } - } - }); - } - }, - - buildMaterials: function(quality) - { - // desktop + quality low - // OR - // mobile + quality low or mid - if(quality < 2) // LOW - { - this.materials.track = new THREE.MeshBasicMaterial({ - map: this.lib.get("textures", "track.cityscape.diffuse"), - ambient: 0xcccccc - }); - - this.materials.bonusBase = new THREE.MeshBasicMaterial({ - map: this.lib.get("textures", "bonus.base.diffuse"), - ambient: 0xcccccc - }); - - this.materials.bonusSpeed = new THREE.MeshBasicMaterial({ - color: 0x0096ff - }); - - this.materials.ship = new THREE.MeshBasicMaterial({ - map: this.lib.get("textures", "ship.feisar.diffuse"), - ambient: 0xaaaaaa - }); - - this.materials.booster = new THREE.MeshBasicMaterial({ - map: this.lib.get("textures", "booster.diffuse"), - transparent: true - }); - - this.materials.scrapers1 = new THREE.MeshBasicMaterial({ - map: this.lib.get("textures", "track.cityscape.scrapers1.diffuse"), - ambient: 0xcccccc - }); - - this.materials.scrapers2 = new THREE.MeshBasicMaterial({ - map: this.lib.get("textures", "track.cityscape.scrapers2.diffuse"), - ambient: 0xcccccc - }); - - this.materials.start = new THREE.MeshBasicMaterial({ - map: this.lib.get("textures", "track.cityscape.start.diffuse"), - ambient: 0xcccccc - }); - - this.materials.startBanner = new THREE.MeshBasicMaterial({ - map: this.lib.get("textures", "track.cityscape.start.banner"), - transparent: false - }); - } - // desktop + quality mid or high - // OR - // mobile + quality high - else // HIGH - { - this.materials.track = bkcore.Utils.createNormalMaterial({ - diffuse: this.lib.get("textures", "track.cityscape.diffuse"), - specular: this.lib.get("textures", "track.cityscape.specular"), - normal: this.lib.get("textures", "track.cityscape.normal"), - ambient: 0xffffff, - shininess: 42, - metal: true, - perPixel: true - }); - - this.materials.bonusBase = bkcore.Utils.createNormalMaterial({ - diffuse: this.lib.get("textures", "bonus.base.diffuse"), - specular: this.lib.get("textures", "bonus.base.specular"), - normal: this.lib.get("textures", "bonus.base.normal"), - normalScale: 3.0, - ambient: 0x444444, - shininess: 42, - metal: false, - perPixel: false - }); - - this.materials.bonusSpeed = new THREE.MeshBasicMaterial({ - color: 0x0096ff - }); - - this.materials.ship = bkcore.Utils.createNormalMaterial({ - diffuse: this.lib.get("textures", "ship.feisar.diffuse"), - specular: this.lib.get("textures", "ship.feisar.specular"), - normal: this.lib.get("textures", "ship.feisar.normal"), - ambient: 0x444444, - shininess: 42, - metal: true, - perPixel: false - }); - - this.materials.booster = new THREE.MeshBasicMaterial({ - map: this.lib.get("textures", "booster.diffuse"), - transparent: true - }); - - this.materials.scrapers1 = bkcore.Utils.createNormalMaterial({ - diffuse: this.lib.get("textures", "track.cityscape.scrapers1.diffuse"), - specular: this.lib.get("textures", "track.cityscape.scrapers1.specular"), - normal: this.lib.get("textures", "track.cityscape.scrapers1.normal"), - cube: this.lib.get("texturesCube", "skybox.dawnclouds"), - reflectivity: 0.8, - ambient: 0x444444, - shininess: 42, - metal: false, - perPixel: false - }); - - this.materials.scrapers2 = bkcore.Utils.createNormalMaterial({ - diffuse: this.lib.get("textures", "track.cityscape.scrapers2.diffuse"), - specular: this.lib.get("textures", "track.cityscape.scrapers2.specular"), - normal: this.lib.get("textures", "track.cityscape.scrapers2.normal"), - cube: this.lib.get("texturesCube", "skybox.dawnclouds"), - reflectivity: 0.8, - ambient: 0x000000, - shininess: 42, - metal: false, - perPixel: false - }); - - this.materials.start = bkcore.Utils.createNormalMaterial({ - diffuse: this.lib.get("textures", "track.cityscape.start.diffuse"), - specular: this.lib.get("textures", "track.cityscape.start.specular"), - normal: this.lib.get("textures", "track.cityscape.start.normal"), - ambient: 0xaaaaaa, - shininess: 42, - metal: false, - perPixel: false - }); - - this.materials.startBanner = new THREE.MeshBasicMaterial({ - map: this.lib.get("textures", "track.cityscape.start.banner"), - transparent: false - }); - } - }, - - buildScenes: function(ctx, quality) - { - // IMPORTANT - this.analyser = this.lib.get("analysers", "track.cityscape.collision"); - - // SKYBOX - var sceneCube = new THREE.Scene(); - - var cameraCube = new THREE.PerspectiveCamera( 70, ctx.width / ctx.height, 1, 6000 ); - sceneCube.add( cameraCube ); - - var skyshader = THREE.ShaderUtils.lib[ "cube" ]; - skyshader.uniforms[ "tCube" ].texture = this.lib.get("texturesCube", "skybox.dawnclouds"); - - var skymaterial = new THREE.ShaderMaterial( - { - fragmentShader: skyshader.fragmentShader, - vertexShader: skyshader.vertexShader, - uniforms: skyshader.uniforms, - depthWrite: false - }); - - var mesh = new THREE.Mesh( new THREE.CubeGeometry( 100, 100, 100 ), skymaterial ); - mesh.flipSided = true; - - sceneCube.add(mesh); - - ctx.manager.add("sky", sceneCube, cameraCube); - - var ambient = 0xbbbbbb, diffuse = 0xffffff, specular = 0xffffff, shininess = 42, scale = 23; - - // MAIN SCENE - var camera = new THREE.PerspectiveCamera( 70, ctx.width / ctx.height, 1, 60000 ); - - var scene = new THREE.Scene(); - scene.add( camera ); - scene.add( new THREE.AmbientLight( ambient ) ); - - // SUN - var sun = new THREE.DirectionalLight( diffuse, 1.5, 30000 ); - sun.position.set( -4000, 1200, 1800 ); - sun.lookAt(new THREE.Vector3()); - - // desktop + quality mid or high - if(quality > 2) - { - sun.castShadow = true; - sun.shadowCameraNear = 50; - sun.shadowCameraFar = camera.far*2; - sun.shadowCameraRight = 3000; - sun.shadowCameraLeft = -3000; - sun.shadowCameraTop = 3000; - sun.shadowCameraBottom = -3000; - //sun.shadowCameraVisible = true; - sun.shadowBias = 0.0001; - sun.shadowDarkness = 0.7; - sun.shadowMapWidth = 2048; - sun.shadowMapHeight = 2048; - } - scene.add( sun ); - - // SHIP - var ship = ctx.createMesh(scene, this.lib.get("geometries", "ship.feisar"), -1134*2, 10, -443*2, this.materials.ship); - - var booster = ctx.createMesh(ship, this.lib.get("geometries", "booster"), 0, 0.665, -3.8, this.materials.booster); - booster.depthWrite = false; - - var boosterSprite = new THREE.Sprite({ - map: this.lib.get("textures", "booster.sprite"), - blending: THREE.AdditiveBlending, - useScreenCoordinates: false, - color: 0xffffff - }); - boosterSprite.scale.set(0.02, 0.02, 0.02); - boosterSprite.mergeWith3D = false; - booster.add(boosterSprite); - - var boosterLight = new THREE.PointLight(0x00a2ff, 4.0, 60); - boosterLight.position.set(0, 0.665, -4); - - // desktop + quality low, mid or high - // OR - // mobile + quality mid or high - // NB booster is now enabled on desktop + low quality, - // when it wasn't before; this is because this booster setting - // is the only difference between mobile + mid quality - // and desktop + low quality, so I merged them for convenience - if(quality > 0) - ship.add(boosterLight); - - // SHIP CONTROLS - var shipControls = new bkcore.hexgl.ShipControls(ctx); - shipControls.collisionMap = this.lib.get("analysers", "track.cityscape.collision"); - shipControls.collisionPixelRatio = 2048.0 / 6000.0; - shipControls.collisionDetection = true; - shipControls.heightMap = this.lib.get("analysers", "track.cityscape.height");; - shipControls.heightPixelRatio = 2048.0 / 6000.0; - shipControls.heightBias = 4.0; - shipControls.heightScale = 10.0; - shipControls.control(ship); - ctx.components.shipControls = shipControls; - ctx.tweakShipControls(); - - // SHIP EFFECTS AND PARTICLES - var fxParams = { - scene: scene, - shipControls: shipControls, - booster: booster, - boosterSprite: boosterSprite, - boosterLight: boosterLight, - useParticles: false - }; - - // desktop + quality mid or high - if(quality > 2) - { - fxParams.textureCloud = this.lib.get("textures", "cloud"); - fxParams.textureSpark = this.lib.get("textures", "spark"); - fxParams.useParticles = true; - } - ctx.components.shipEffects = new bkcore.hexgl.ShipEffects(fxParams); - - // TRACK - var track = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape"), 0, -5, 0, this.materials.track); - var bonusBase = ctx.createMesh(scene, this.lib.get("geometries", "bonus.base"), 0, -5, 0, this.materials.bonusBase); - var bonusSpeed = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape.bonus.speed"), 0, -5, 0, this.materials.bonusSpeed); - bonusSpeed.receiveShadow = false; - var scrapers1 = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape.scrapers1"), 0, 0, 0, this.materials.scrapers1); - var scrapers2 = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape.scrapers2"), 0, 0, 0, this.materials.scrapers2); - var start = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape.start"), 0, -5, 0, this.materials.start); - var startbanner = ctx.createMesh(scene, this.lib.get("geometries", "track.cityscape.start.banner"), 0, -5, 0, this.materials.startBanner); - startbanner.doubleSided = true; - - // CAMERA - ctx.components.cameraChase = new bkcore.hexgl.CameraChase({ - target: ship, - camera: camera, - cameraCube: ctx.manager.get("sky").camera, - lerp: 0.5, - yoffset: 8.0, - zoffset: 10.0, - viewOffset: 10.0 - }); - - ctx.manager.add("game", scene, camera, function(delta, renderer) - { - if(delta > 25 && this.objects.lowFPS < 1000) this.objects.lowFPS++; - - var dt = delta/16.6; - - this.objects.components.shipControls.update(dt); - - this.objects.components.shipEffects.update(dt); - - this.objects.components.cameraChase.update(dt, this.objects.components.shipControls.getSpeedRatio()); - /*this.objects.time += 0.002; - var c = this.objects.components.cameraChase.camera; - c.position.set( - Math.cos(this.objects.time)*15+this.objects.components.shipControls.dummy.position.x, - 10+this.objects.components.shipControls.dummy.position.y, - Math.sin(this.objects.time)*15+this.objects.components.shipControls.dummy.position.z - ); - c.lookAt(this.objects.components.shipControls.dummy.position); - this.objects.components.cameraChase.cameraCube.rotation.copy(c.rotation);*/ - - this.objects.composers.game.render(dt); - if(this.objects.hud) this.objects.hud.update( - this.objects.components.shipControls.getRealSpeed(100), - this.objects.components.shipControls.getRealSpeedRatio(), - this.objects.components.shipControls.getShield(100), - this.objects.components.shipControls.getShieldRatio() - ); - if(this.objects.components.shipControls.getShieldRatio() < 0.2) - this.objects.extras.vignetteColor.setHex(0x992020); - else - this.objects.extras.vignetteColor.setHex(0x458ab1); - }, - { - components: ctx.components, - composers: ctx.composers, - extras: ctx.extras, - quality: quality, - hud: ctx.hud, - time: 0.0, - lowFPS: 0 - }); - } -} diff --git a/tools/hexgl/bkcore/threejs/Loader.js b/tools/hexgl/bkcore/threejs/Loader.js deleted file mode 100644 index 9744d66..0000000 --- a/tools/hexgl/bkcore/threejs/Loader.js +++ /dev/null @@ -1,260 +0,0 @@ -/*! - * @class bkcore.threejs.Loader - * - * Loads multiple recources, get progress, callback friendly. - * Supports textures, texturesCube, geometries, analysers, images. - * - * @author Thibaut 'BKcore' Despoulain - */ - -/*! - * @package bkcore.threejs - */ -var bkcore = bkcore || {}; -bkcore.threejs = bkcore.threejs || {}; - -bkcore.NONE = undefined; - -/** - * Creates a new loader - * @param {Object{onLoad, onError, onProgress}} opts Callbacks - */ -bkcore.threejs.Loader = function(opts) -{ - var self = this; - - this.jsonLoader = new THREE.JSONLoader(); - - this.errorCallback = opts.onError == undefined ? function(s){ console.warn("Error while loading %s.".replace("%s", s)) } : opts.onError; - this.loadCallback = opts.onLoad == undefined ? function(){ console.log("Loaded.") } : opts.onLoad; - this.progressCallback = opts.onProgress == undefined ? function(progress, type, name){ /**/ } : opts.onProgress; - - this.types = { - textures: null, - texturesCube: null, - geometries: null, - analysers: null, - images: null, - sounds: null - }; - - this.states = {}; - this.data = {}; - - for(var t in this.types) - { - this.data[t] = {}; - this.states[t] = {}; - } - - this.progress = { - total: 0, - remaining: 0, - loaded: 0, - finished: false - }; -} - -/** - * Load the given list of resources - * @param {textures, texturesCube, geometries, analysers, images} data - */ -bkcore.threejs.Loader.prototype.load = function(data) -{ - var self = this; - - for(var k in this.types) - { - if(k in data) - { - var size = 0; - for(var j in data[k]) - size++; - this.progress.total += size; - this.progress.remaining += size; - } - } - - for(var t in data.textures) - this.loadTexture(t, data.textures[t]); - - for(var c in data.texturesCube) - this.loadTextureCube(c, data.texturesCube[c]); - - for(var g in data.geometries) - this.loadGeometry(g, data.geometries[g]); - - for(var a in data.analysers) - this.loadAnalyser(a, data.analysers[a]); - - for(var i in data.images) - this.loadImage(i, data.images[i]); - - for(var s in data.sounds) - this.loadSound(data.sounds[s].src, s, data.sounds[s].loop, data.sounds[s].usePanner); - - this.progressCallback.call(this, this.progress); -} - -bkcore.threejs.Loader.prototype.updateState = function(type, name, state) -{ - if(!(type in this.types)) - { - console.warn("Unkown loader type."); - return; - } - - if(state == true) - { - this.progress.remaining--; - this.progress.loaded++; - this.progressCallback.call(this, this.progress, type, name); - } - - this.states[type][name] = state; - - - if(this.progress.loaded == this.progress.total) - { - this.loadCallback.call(this); - } -} - -/** - * Get loaded resource - * @param string type [textures, texturesCube, geometries, analysers, images] - * @param string name - * @return Mixed - */ -bkcore.threejs.Loader.prototype.get = function(type, name) -{ - if(!(type in this.types)) - { - console.warn("Unkown loader type."); - return null; - } - if(!(name in this.data[type])) - { - console.warn("Unkown file."); - return null; - } - - return this.data[type][name]; -} - -bkcore.threejs.Loader.prototype.loaded = function(type, name) -{ - if(!(type in this.types)) - { - console.warn("Unkown loader type."); - return null; - } - if(!(name in this.states[type])) - { - console.warn("Unkown file."); - return null; - } - - return this.states[type][name]; -} - -bkcore.threejs.Loader.prototype.loadTexture = function(name, url) -{ - var self = this; - this.updateState("textures", name, false); - this.data.textures[name] = THREE.ImageUtils.loadTexture( - url, - bkcore.NONE, - function(){ - self.updateState("textures", name, true); - }, - function(){ - self.errorCallback.call(self, name); - } - ); -} - -bkcore.threejs.Loader.prototype.loadTextureCube = function(name, url) -{ - var self = this; - - var urls = [ - url.replace("%1", "px"), url.replace("%1", "nx"), - url.replace("%1", "py"), url.replace("%1", "ny"), - url.replace("%1", "pz"), url.replace("%1", "nz") - ]; - - this.updateState("texturesCube", name, false); - this.data.texturesCube[name] = THREE.ImageUtils.loadTextureCube( - urls, - new THREE.CubeRefractionMapping(), - function(){ - self.updateState("texturesCube", name, true); - } - ); -} - -bkcore.threejs.Loader.prototype.loadGeometry = function(name, url) -{ - var self = this; - this.data.geometries[name] = null; - this.updateState("geometries", name, false); - this.jsonLoader.load( - url, - function(a){ - self.data.geometries[name] = a; - self.updateState("geometries", name, true); - } - ); -} - -bkcore.threejs.Loader.prototype.loadAnalyser = function(name, url) -{ - var self = this; - this.updateState("analysers", name, false); - this.data.analysers[name] = new bkcore.ImageData( - url, - function(){ - self.updateState("analysers", name, true); - } - ); -} - -bkcore.threejs.Loader.prototype.loadImage = function(name, url) -{ - var self = this; - this.updateState("images", name, false); - var e = new Image(); - e.onload = function() { - self.updateState("images", name, true) ; - }; - e.crossOrigin = "anonymous"; - e.src = url; - this.data.images[name] = e; -} - -bkcore.threejs.Loader.prototype.loadSound = function(src, name, loop){ - var self = this; - this.updateState("sounds", name, false); - - bkcore.Audio.addSound( - src, - name, - loop, - function(){ - self.updateState("sounds", name, true); - } - ); - - this.data.sounds[name] = { - play: function(){ - bkcore.Audio.play(name); - }, - stop: function(){ - bkcore.Audio.stop(name); - }, - volume: function(vol){ - bkcore.Audio.volume(name, vol); - } - }; -}; \ No newline at end of file diff --git a/tools/hexgl/bkcore/threejs/Particles.js b/tools/hexgl/bkcore/threejs/Particles.js deleted file mode 100644 index afb7bd4..0000000 --- a/tools/hexgl/bkcore/threejs/Particles.js +++ /dev/null @@ -1,191 +0,0 @@ -/*! - * @class bkcore.threejs.Particles - * - * Particle system wrapper/helper - * - * @author Thibaut 'BKcore' Despoulain - */ - -/*! - * @package bkcore.threejs - */ -var bkcore = bkcore || {}; -bkcore.threejs = bkcore.threejs || {}; - -/** - * Creates a new particle system using given parameters - * @param {Object{max, spawnRate, spawn, velocity, randomness, force, spawnRadius, life, friction, color, color2, tint, texture, size, blending, depthTest, transparent, opacity}} opts - */ -bkcore.threejs.Particles = function(opts) -{ - this.black = new THREE.Color(0x000000); - this.white = new THREE.Color(0xffffff); - - this.material = new THREE.ParticleBasicMaterial({ - color: opts.tint == undefined ? 0xffffff : opts.tint, - map: opts.texture == undefined ? null : opts.texture, - size: opts.size == undefined ? 4 : opts.size, - blending: opts.blending == undefined ? THREE.AdditiveBlending : opts.blending, - depthTest: opts.depthTest == undefined ? false : opts.depthTest, - transparent: opts.transparent == undefined ? true : opts.transparent, - vertexColors: true, - opacity: opts.opacity == undefined ? 1.0 : opts.opacity, - sizeAttenuation: true - }); - - this.max = opts.max == undefined ? 1000 : opts.max; - this.spawnRate = opts.spawnRate == undefined ? 0 : opts.spawnRate; - - this.spawn = opts.spawn == undefined ? new THREE.Vector3() : opts.spawn; - this.velocity = opts.velocity == undefined ? new THREE.Vector3() : opts.velocity; - this.randomness = opts.randomness == undefined ? new THREE.Vector3() : opts.randomness; - this.force = opts.force == undefined ? new THREE.Vector3() : opts.force; - this.spawnRadius = opts.spawnRadius == undefined ? new THREE.Vector3() : opts.spawnRadius; - this.life = opts.life == undefined ? 60 : opts.life; - this.ageing = 1 / this.life; - this.friction = opts.friction == undefined ? 1.0 : opts.friction; - this.color = new THREE.Color(opts.color == undefined ? 0xffffff : opts.color); - this.color2 = opts.color2 == undefined ? null : new THREE.Color(opts.color2); - - this.position = opts.position == undefined ? new THREE.Vector3() : opts.position; - this.rotation = opts.rotation == undefined ? new THREE.Vector3() : opts.rotation; - this.sort = opts.sort == undefined ? false : opts.sort; - - this.pool = []; - this.buffer = []; - this.geometry = null; - this.system = null; - - this.build(); -} - -bkcore.threejs.Particles.prototype.build = function() -{ - this.geometry = new THREE.Geometry(); - this.geometry.dynamic = true; - - this.pool = []; - this.buffer = []; - - for(var i = 0; i < this.max; ++i) - { - var p = new bkcore.threejs.Particle(); - this.pool.push(p); - this.buffer.push(p); - this.geometry.vertices.push(p.position); - this.geometry.colors.push(p.color); - } - - this.system = new THREE.ParticleSystem(this.geometry, this.material); - this.system.position = this.position; - this.system.rotation = this.rotation; - this.system.sort = this.sort; -} - -/** - * Emits given number of particles - * @param int count - */ -bkcore.threejs.Particles.prototype.emit = function(count) -{ - var emitable = Math.min(count, this.pool.length); - for(var i = 0; i < emitable; ++i) - { - var p = this.pool.pop(); - p.available = false; - p.position.copy(this.spawn) - .addSelf( - this.randomVector() - .multiplySelf(this.spawnRadius) - ); - p.velocity.copy(this.velocity) - .addSelf( - this.randomVector() - .multiplySelf(this.randomness) - ); - p.force.copy(this.force); - p.basecolor.copy(this.color); - if(this.color2 != undefined) p.basecolor.lerpSelf(this.color2, Math.random()); - p.life = 1.0; - } -} - -bkcore.threejs.Particles.prototype.randomVector = function() -{ - return new THREE.Vector3( - Math.random()*2-1, - Math.random()*2-1, - Math.random()*2-1 - ); -} - -/** - * Updates particles (should be call in a RAF loop) - * @param float dt time delta ~1.0 - */ -bkcore.threejs.Particles.prototype.update = function(dt) -{ - var p, l; - var df = new THREE.Vector3(); - var dv = new THREE.Vector3(); - for(var i = 0; i < this.buffer.length; ++i) - { - - p = this.buffer[i]; - - if(p.available) continue; - - p.life -= this.ageing; - - if(p.life <= 0 && !p.available) - { - p.reset(); - this.pool.push(p); - continue; - } - - l = p.life > 0.5 ? 1.0 : p.life + 0.5; - p.color.setRGB( - l * p.basecolor.r, - l * p.basecolor.g, - l * p.basecolor.b - ); - - if(this.friction != 1.0) - p.velocity.multiplyScalar(this.friction); - - df.copy(p.force).multiplyScalar(dt); - p.velocity.addSelf(df); - - dv.copy(p.velocity).multiplyScalar(dt); - p.position.addSelf(dv); - } - - if(this.spawnRate > 0) - this.emit(this.spawnRate); - - this.geometry.verticesNeedUpdate = true; - this.geometry.colorsNeedUpdate = true; -} - -bkcore.threejs.Particle = function() -{ - this.position = new THREE.Vector3(-10000,-10000,-10000); - this.velocity = new THREE.Vector3(); - this.force = new THREE.Vector3(); - this.color = new THREE.Color(0x000000); - this.basecolor = new THREE.Color(0x000000); - this.life = 0.0; - this.available = true; -} - -bkcore.threejs.Particle.prototype.reset = function() -{ - this.position.set(0,-100000,0); - this.velocity.set(0,0,0); - this.force.set(0,0,0); - this.color.setRGB(0,0,0); - this.basecolor.setRGB(0,0,0); - this.life = 0.0; - this.available = true; -} \ No newline at end of file diff --git a/tools/hexgl/bkcore/threejs/Preloader.js b/tools/hexgl/bkcore/threejs/Preloader.js deleted file mode 100644 index 68b3762..0000000 --- a/tools/hexgl/bkcore/threejs/Preloader.js +++ /dev/null @@ -1,151 +0,0 @@ -/*! - * @class bkcore.threejs.Preloader - * - * Displays a small 3D preloader scene - * - * @author Thibaut 'BKcore' Despoulain - */ - -/*! - * @package bkcore.threejs - */ -var bkcore = bkcore || {}; -bkcore.threejs = bkcore.threejs || {}; - -/** - * Creates a new preloader scene. - * You have to update Preloader.ratio with the % loaded info (float 0.0-1.0) - * @param {Object{width, height, scale, line}} opts - */ -bkcore.threejs.Preloader = function(opts) -{ - this.document = opts.document || document; - - this.end = false; - - this.time = 0.0; - this.y = 0.3; - this.ratio = 0.0; - - this.height = opts.height; - this.width = opts.width; - - this.scale = opts.scale == undefined ? 10 : opts.scale - this.line = opts.line == undefined ? 3 : opts.line; - - this.container = opts.container; - - this.renderer = new THREE.CanvasRenderer({ - clearColor: 0xffffff - }); - this.renderer.setSize( opts.width, opts.height ); - - this.container.appendChild( this.renderer.domElement ); - - this.ctx = this.renderer.domElement.getContext('2d'); - this.ctx.textAlign = "center"; - - this.scene = new THREE.Scene(); - - this.camera = new THREE.PerspectiveCamera( 70, opts.width / opts.height, 1, 1000 ); - this.camera.position.z = 100; - this.scene.add( this.camera ); - - this.stage = new THREE.Object3D(); - this.stage.position.set(0,10,0); - this.scene.add(this.stage); - - this.cube = new THREE.Mesh( new THREE.CubeGeometry( this.scale, this.scale, this.scale, 1, 1, 1 ), - new THREE.MeshBasicMaterial( { color: 0x999999 } ) ); - - this.cube.scale.set(0.0,0.0,0.0); - this.stage.add(this.cube); - - this.cubew = new THREE.Mesh( new THREE.CubeGeometry( this.scale, this.scale, this.scale, 1, 1, 1 ), - new THREE.MeshBasicMaterial( { - wireframe: true, - wireframeLinewidth: this.line, - //wireframeLinecap: 'square', - //wireframeLinejoin: 'square', - color: 0xffffff - } ) ); - this.cube.add(this.cubew); - - this.outercube = new THREE.Mesh( new THREE.CubeGeometry( this.scale, this.scale, this.scale, 1, 1, 1 ), - new THREE.MeshBasicMaterial( { - wireframe: true, - wireframeLinewidth: this.line, - //wireframeLinecap: 'square', - //wireframeLinejoin: 'square', - color: 0x0093d8 - } ) ); - this.stage.add(this.outercube); - - var self = this; - - function raf() - { - if(!self.end) - { - requestAnimationFrame( raf ); - self.render(); - } - } - raf(); - - function mm(e){ - self.mouseMove.call(self, e); - } - - this.mmsave = mm; - - this.document.addEventListener( 'mousemove', mm, false ); -} - -/** - * Render method to be called from a RAF loop - */ -bkcore.threejs.Preloader.prototype.render = function() -{ - this.time += 0.02; - - this.ctx.clearRect(0 , 0 , this.width , this.height); - - var s = (this.ratio - this.cube.scale.x) * 0.3; - - this.cube.scale.addScalar(s); - this.cube.rotation.y = this.time; - this.outercube.rotation.y = this.time; - - this.stage.rotation.x += (this.y - this.stage.rotation.x)*0.3; - - this.renderer.render( this.scene, this.camera ); - - this.ctx.save(); - this.ctx.font = "40px Arial"; - this.ctx.fillStyle = "rgb(200, 200, 200)"; - this.ctx.fillText(Math.round(this.ratio*100), this.width/2, this.height/2+30); - this.ctx.restore(); -} - -bkcore.threejs.Preloader.prototype.mouseMove = function(event) -{ - var h2 = this.height/2; - this.y = -(event.clientY - h2)/h2+0.3; -} - -/** - * Deletes the Preloader - */ -bkcore.threejs.Preloader.prototype.remove = function() -{ - this.document.removeEventListener( 'mousemove', this.mm, false ); - this.end = true; - this.renderer = null; - this.scene = null; - this.stage = null; - this.cube = null; - this.cubew = null; - this.innercube = null; - this.container.innerHTML = ""; -} \ No newline at end of file diff --git a/tools/hexgl/bkcore/threejs/RenderManager.js b/tools/hexgl/bkcore/threejs/RenderManager.js deleted file mode 100644 index f847896..0000000 --- a/tools/hexgl/bkcore/threejs/RenderManager.js +++ /dev/null @@ -1,132 +0,0 @@ -/*! - * bkcore.threejs.RenderManager helps handling multiple scenes, cameras and render loops. - * - * @author Thibaut 'BKcore' Despoulain - * @license MIT - * - * Initialize the a RenderManager by passing a Renderer object: - * var renderManager = new bkcore.threejs.RenderManager(new THREE.WebGLRenderer()); - * - * A render setup structure : - * { - * id : render setup ID, - * scene : main scene, - * camera : main camera, - * render : render loop called when render setup is active (current), - * objects : object references accessible in the render loop via this.objects - * } - * - * The render method's context will be the render setup's object, so in your render loop: - * function(delta, renderer) - * { - * this.scene; - * this.camera; - * this.id; - * this.objects; - * renderer.render(...); - * } - * - * Use the "objects" attribute to store useful references and variables like time, geometries, materials, etc. - * Example: - * renderManager.add('mySetup', scene, camera, function(delta, renderer) - * { - * this.objects.timer += delta; - * this.objects.torus.rotation.z = Math.PI * Math.cos(this.objects.timer); - * renderer.render(this.scene, this.camera); - * }, - * { - * timer: 0, - * torus: torusMesh - * }); - */ - -var bkcore = bkcore || {}; -bkcore.threejs = bkcore.threejs || {}; - -(function(w){ - var perfNow; - var perfNowNames = ['now', 'webkitNow', 'msNow', 'mozNow']; - if(!!w['performance']) for(var i = 0; i < perfNowNames.length; ++i) - { - var n = perfNowNames[i]; - if(!!w['performance'][n]) - { - perfNow = function(){return w['performance'][n]()}; - break; - } - } - if(!perfNow) - { - perfNow = Date.now; - } - w.perfNow = perfNow; -})(window); - -bkcore.threejs.RenderManager = function(renderer) -{ - this.renderer = renderer; - this.time = window.perfNow(); - - this.renders = {}; - this.current = {}; - this.size = 0; - - this.defaultRenderMethod = function(delta, renderer) - { - renderer.render(this.scene, this.camera); - }; -}; - -bkcore.threejs.RenderManager.prototype.add = function(id, scene, camera, render, objects) -{ - render = render || this.defaultRenderMethod; - objects = objects || {}; - - this.renders[id] = { - id: id, - scene: scene, - camera: camera, - render: render, - objects: objects - }; - - if(this.size == 0) this.current = this.renders[id]; - - this.size++; -}; - -bkcore.threejs.RenderManager.prototype.get = function(id) -{ - return this.renders[id]; -}; - -bkcore.threejs.RenderManager.prototype.remove = function(id) -{ - if(id in this.renders) - { - delete this.renders[id]; - this.size--; - } -}; - -bkcore.threejs.RenderManager.prototype.renderCurrent = function() -{ - if(this.current && this.current.render) - { - var now = window.perfNow(); - var delta = now - this.time; - this.time = now; - - this.current.render.call(this.current, delta, this.renderer); - } - else console.warn('RenderManager: No current render defined.'); -}; - -bkcore.threejs.RenderManager.prototype.setCurrent = function(id) -{ - if(id in this.renders) - { - this.current = this.renders[id]; - } - else console.warn('RenderManager: Render "'+id+'" not found.'); -}; \ No newline at end of file diff --git a/tools/hexgl/bkcore/threejs/Shaders.js b/tools/hexgl/bkcore/threejs/Shaders.js deleted file mode 100644 index 4fe93fb..0000000 --- a/tools/hexgl/bkcore/threejs/Shaders.js +++ /dev/null @@ -1,950 +0,0 @@ -/** - * @author Thibaut Despoulain / http://bkcore.com - * @author alteredq / http://alteredqualia.com/ - * @author mr.doob / http://mrdoob.com/ - */ -var bkcore = bkcore || {}; -bkcore.threejs = bkcore.threejs || {}; - -bkcore.threejs.Shaders = -{ - 'additive' : { - uniforms: { - tDiffuse: { type: "t", value: 0, texture: null }, - tAdd: { type: "t", value: 1, texture: null }, - fCoeff: { type: "f", value: 1.0 } - }, - - vertexShader: [ - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - ].join("\n"), - - fragmentShader: [ - "uniform sampler2D tDiffuse;", - "uniform sampler2D tAdd;", - "uniform float fCoeff;", - - "varying vec2 vUv;", - - "void main() {", - - "vec4 texel = texture2D( tDiffuse, vUv );", - "vec4 add = texture2D( tAdd, vUv );", - "gl_FragColor = texel + add * fCoeff * add.a;", - - "}" - ].join("\n") - }, - - /* ------------------------------------------------------------------------------------------------ - // Hexagonal Vignette shader - // by BKcore.com - ------------------------------------------------------------------------------------------------ */ - - 'hexvignette': { - - uniforms: { - - tDiffuse: { type: "t", value: 0, texture: null }, - tHex: {type: "t", value: 1, texture: null}, - size: {type: "f", value: 512.0}, - rx: {type: "f", value: 1024.0}, - ry: {type: "f", value: 768.0}, - color: {type: "c", value: new THREE.Color(0x458ab1)} - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform float size;", - "uniform float rx;", - "uniform float ry;", - - "uniform vec3 color;", - - "uniform sampler2D tDiffuse;", - "uniform sampler2D tHex;", - - "varying vec2 vUv;", - - "void main() {", - - "vec4 vcolor = vec4(color,1.0);", - - "vec2 hexuv;", - "hexuv.x = mod(vUv.x * rx, size) / size;", - "hexuv.y = mod(vUv.y * ry, size) / size;", - "vec4 hex = texture2D( tHex, hexuv );", - - "float tolerance = 0.2;", - "float vignette_size = 0.6;", - "vec2 powers = pow(abs(vec2(vUv.x - 0.5,vUv.y - 0.5)),vec2(2.0));", - "float radiusSqrd = vignette_size*vignette_size;", - "float gradient = smoothstep(radiusSqrd-tolerance, radiusSqrd+tolerance, powers.x+powers.y);", - - "vec2 uv = ( vUv - vec2( 0.5 ) );", - - "vec2 sample = uv * gradient * 0.5 * (1.0-hex.r);", - - "vec4 texel = texture2D( tDiffuse, vUv-sample );", - "gl_FragColor = (((1.0-hex.r)*vcolor) * 0.5 * gradient) + vec4( mix( texel.rgb, vcolor.xyz*0.7, dot( uv, uv ) ), texel.a );", - - "}" - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------- - // Normal map shader (perpixel) - // - Blinn-Phong - // - normal + diffuse + specular + AO + displacement + reflection + shadow maps - // - PER-PIXEL point and directional lights (use with "lights: true" material option) - // - modified by BKcore - ------------------------------------------------------------------------- */ - - 'normal' : { - - uniforms: THREE.UniformsUtils.merge( [ - - THREE.UniformsLib[ "fog" ], - THREE.UniformsLib[ "lights" ], - THREE.UniformsLib[ "shadowmap" ], - - { - - "enableAO" : { type: "i", value: 0 }, - "enableDiffuse" : { type: "i", value: 0 }, - "enableSpecular" : { type: "i", value: 0 }, - "enableReflection": { type: "i", value: 0 }, - - "tDiffuse" : { type: "t", value: 0, texture: null }, - "tCube" : { type: "t", value: 1, texture: null }, - "tNormal" : { type: "t", value: 2, texture: null }, - "tSpecular" : { type: "t", value: 3, texture: null }, - "tAO" : { type: "t", value: 4, texture: null }, - "tDisplacement": { type: "t", value: 5, texture: null }, - - "uNormalScale": { type: "f", value: 1.0 }, - - "uDisplacementBias": { type: "f", value: 0.0 }, - "uDisplacementScale": { type: "f", value: 1.0 }, - - "uDiffuseColor": { type: "c", value: new THREE.Color( 0xffffff ) }, - "uSpecularColor": { type: "c", value: new THREE.Color( 0x111111 ) }, - "uAmbientColor": { type: "c", value: new THREE.Color( 0xffffff ) }, - "uShininess": { type: "f", value: 30 }, - "uOpacity": { type: "f", value: 1 }, - - "uReflectivity": { type: "f", value: 0.5 }, - - "uOffset" : { type: "v2", value: new THREE.Vector2( 0, 0 ) }, - "uRepeat" : { type: "v2", value: new THREE.Vector2( 1, 1 ) }, - - "wrapRGB" : { type: "v3", value: new THREE.Vector3( 1, 1, 1 ) } - - } - - ] ), - - fragmentShader: [ - - "uniform vec3 uAmbientColor;", - "uniform vec3 uDiffuseColor;", - "uniform vec3 uSpecularColor;", - "uniform float uShininess;", - "uniform float uOpacity;", - - "uniform bool enableDiffuse;", - "uniform bool enableSpecular;", - "uniform bool enableAO;", - "uniform bool enableReflection;", - - "uniform sampler2D tDiffuse;", - "uniform sampler2D tNormal;", - "uniform sampler2D tSpecular;", - "uniform sampler2D tAO;", - - "uniform samplerCube tCube;", - - "uniform float uNormalScale;", - "uniform float uReflectivity;", - - "varying vec3 vTangent;", - "varying vec3 vBinormal;", - "varying vec3 vNormal;", - "varying vec2 vUv;", - - "uniform vec3 ambientLightColor;", - - "#if MAX_DIR_LIGHTS > 0", - "uniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];", - "uniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];", - "#endif", - - "#if MAX_POINT_LIGHTS > 0", - "uniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];", - "uniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];", - "uniform float pointLightDistance[ MAX_POINT_LIGHTS ];", - "#endif", - - "#ifdef WRAP_AROUND", - "uniform vec3 wrapRGB;", - "#endif", - - "varying vec3 vViewPosition;", - - THREE.ShaderChunk[ "shadowmap_pars_fragment" ], - THREE.ShaderChunk[ "fog_pars_fragment" ], - - "void main() {", - - "gl_FragColor = vec4( vec3( 1.0 ), uOpacity );", - - "vec3 specularTex = vec3( 1.0 );", - - "vec3 normalTex = texture2D( tNormal, vUv ).xyz * 2.0 - 1.0;", - "normalTex.xy *= uNormalScale;", - "normalTex = normalize( normalTex );", - - "if( enableDiffuse ) {", - - "#ifdef GAMMA_INPUT", - - "vec4 texelColor = texture2D( tDiffuse, vUv );", - "texelColor.xyz *= texelColor.xyz;", - - "gl_FragColor = gl_FragColor * texelColor;", - - "#else", - - "gl_FragColor = gl_FragColor * texture2D( tDiffuse, vUv );", - - "#endif", - - "}", - - "if( enableAO ) {", - - "#ifdef GAMMA_INPUT", - - "vec4 aoColor = texture2D( tAO, vUv );", - "aoColor.xyz *= aoColor.xyz;", - - "gl_FragColor.xyz = gl_FragColor.xyz * aoColor.xyz;", - - "#else", - - "gl_FragColor.xyz = gl_FragColor.xyz * texture2D( tAO, vUv ).xyz;", - - "#endif", - - "}", - - "if( enableSpecular )", - "specularTex = texture2D( tSpecular, vUv ).xyz;", - - "mat3 tsb = mat3( normalize( vTangent ), normalize( vBinormal ), normalize( vNormal ) );", - "vec3 finalNormal = tsb * normalTex;", - - "vec3 normal = normalize( finalNormal );", - "vec3 viewPosition = normalize( vViewPosition );", - - "#ifdef DOUBLE_SIDED", - - "normal = normal * ( -1.0 + 2.0 * float( gl_FrontFacing ) );", - - "#endif", - - // point lights - - "#if MAX_POINT_LIGHTS > 0", - - "vec3 pointDiffuse = vec3( 0.0 );", - "vec3 pointSpecular = vec3( 0.0 );", - - "for ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {", - - "vec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );", - "vec3 pointVector = lPosition.xyz + vViewPosition.xyz;", - - "float pointDistance = 1.0;", - "if ( pointLightDistance[ i ] > 0.0 )", - "pointDistance = 1.0 - min( ( length( pointVector ) / pointLightDistance[ i ] ), 1.0 );", - - "pointVector = normalize( pointVector );", - - // diffuse - - "#ifdef WRAP_AROUND", - - "float pointDiffuseWeightFull = max( dot( normal, pointVector ), 0.0 );", - "float pointDiffuseWeightHalf = max( 0.5 * dot( normal, pointVector ) + 0.5, 0.0 );", - - "vec3 pointDiffuseWeight = mix( vec3 ( pointDiffuseWeightFull ), vec3( pointDiffuseWeightHalf ), wrapRGB );", - - "#else", - - "float pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );", - - "#endif", - - "pointDiffuse += pointDistance * pointLightColor[ i ] * uDiffuseColor * pointDiffuseWeight;", - - // specular - - "vec3 pointHalfVector = normalize( pointVector + viewPosition );", - "float pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );", - "float pointSpecularWeight = specularTex.r * max( pow( pointDotNormalHalf, uShininess ), 0.0 );", - - "#ifdef PHYSICALLY_BASED_SHADING", - - // 2.0 => 2.0001 is hack to work around ANGLE bug - - "float specularNormalization = ( uShininess + 2.0001 ) / 8.0;", - - "vec3 schlick = specularTex + vec3( 1.0 - specularTex ) * pow( 1.0 - dot( pointVector, pointHalfVector ), 5.0 );", - "pointSpecular += schlick * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * pointDistance * specularNormalization;", - - "#else", - - "pointSpecular += pointDistance * pointLightColor[ i ] * specularTex * pointSpecularWeight * pointDiffuseWeight;", - - "#endif", - - "}", - - "#endif", - - // directional lights - - "#if MAX_DIR_LIGHTS > 0", - - "vec3 dirDiffuse = vec3( 0.0 );", - "vec3 dirSpecular = vec3( 0.0 );", - - "for( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {", - - "vec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );", - "vec3 dirVector = normalize( lDirection.xyz );", - - // diffuse - - "#ifdef WRAP_AROUND", - - "float directionalLightWeightingFull = max( dot( normal, dirVector ), 0.0 );", - "float directionalLightWeightingHalf = max( 0.5 * dot( normal, dirVector ) + 0.5, 0.0 );", - - "vec3 dirDiffuseWeight = mix( vec3( directionalLightWeightingFull ), vec3( directionalLightWeightingHalf ), wrapRGB );", - - "#else", - - "float dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );", - - "#endif", - - "dirDiffuse += directionalLightColor[ i ] * uDiffuseColor * dirDiffuseWeight;", - - // specular - - "vec3 dirHalfVector = normalize( dirVector + viewPosition );", - "float dirDotNormalHalf = max( dot( normal, dirHalfVector ), 0.0 );", - "float dirSpecularWeight = specularTex.r * max( pow( dirDotNormalHalf, uShininess ), 0.0 );", - - "#ifdef PHYSICALLY_BASED_SHADING", - - // 2.0 => 2.0001 is hack to work around ANGLE bug - - "float specularNormalization = ( uShininess + 2.0001 ) / 8.0;", - - "vec3 schlick = specularTex + vec3( 1.0 - specularTex ) * pow( 1.0 - dot( dirVector, dirHalfVector ), 5.0 );", - "dirSpecular += schlick * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight * specularNormalization;", - - "#else", - - "dirSpecular += directionalLightColor[ i ] * specularTex * dirSpecularWeight * dirDiffuseWeight;", - - "#endif", - - "}", - - "#endif", - - // all lights contribution summation - - "vec3 totalDiffuse = vec3( 0.0 );", - "vec3 totalSpecular = vec3( 0.0 );", - - "#if MAX_DIR_LIGHTS > 0", - - "totalDiffuse += dirDiffuse;", - "totalSpecular += dirSpecular;", - - "#endif", - - "#if MAX_POINT_LIGHTS > 0", - - "totalDiffuse += pointDiffuse;", - "totalSpecular += pointSpecular;", - - "#endif", - - "gl_FragColor.xyz = gl_FragColor.xyz * ( totalDiffuse + ambientLightColor * uAmbientColor) + totalSpecular;", - - "if ( enableReflection ) {", - - "#ifdef DOUBLE_SIDED", - - "float flipNormal = ( -1.0 + 2.0 * float( gl_FrontFacing ) );", - - "#else", - - "float flipNormal = 1.0;", - - "#endif", - - "vec3 wPos = cameraPosition - vViewPosition;", - "vec3 vReflect = reflect( normalize( wPos ), normal );", - - "vec4 cubeColor = textureCube( tCube, flipNormal*vec3( -vReflect.x, vReflect.yz ) );", - - "#ifdef GAMMA_INPUT", - - "cubeColor.xyz *= cubeColor.xyz;", - - "#endif", - - "gl_FragColor.xyz = mix( gl_FragColor.xyz, cubeColor.xyz, specularTex.r * uReflectivity );", - - "}", - - THREE.ShaderChunk[ "shadowmap_fragment" ], - THREE.ShaderChunk[ "linear_to_gamma_fragment" ], - THREE.ShaderChunk[ "fog_fragment" ], - - "}" - - ].join("\n"), - - vertexShader: [ - - "attribute vec4 tangent;", - - "uniform vec2 uOffset;", - "uniform vec2 uRepeat;", - - "#ifdef VERTEX_TEXTURES", - - "uniform sampler2D tDisplacement;", - "uniform float uDisplacementScale;", - "uniform float uDisplacementBias;", - - "#endif", - - "varying vec3 vTangent;", - "varying vec3 vBinormal;", - "varying vec3 vNormal;", - "varying vec2 vUv;", - - "varying vec3 vViewPosition;", - - THREE.ShaderChunk[ "shadowmap_pars_vertex" ], - - "void main() {", - - "vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );", - - "vViewPosition = -mvPosition.xyz;", - - // normal, tangent and binormal vectors - - "vNormal = normalMatrix * normal;", - "vTangent = normalMatrix * tangent.xyz;", - "vBinormal = cross( vNormal, vTangent ) * tangent.w;", - - "vUv = uv * uRepeat + uOffset;", - - // displacement mapping - - "#ifdef VERTEX_TEXTURES", - - "vec3 dv = texture2D( tDisplacement, uv ).xyz;", - "float df = uDisplacementScale * dv.x + uDisplacementBias;", - "vec4 displacedPosition = vec4( normalize( vNormal.xyz ) * df, 0.0 ) + mvPosition;", - "gl_Position = projectionMatrix * displacedPosition;", - - "#else", - - "gl_Position = projectionMatrix * mvPosition;", - - "#endif", - - THREE.ShaderChunk[ "shadowmap_vertex" ], - - "}" - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------- - // Normal map shader - // - Blinn-Phong - // - normal + diffuse + specular + AO + displacement + reflection + shadow maps - // - PER-VERTEX point and directional lights (use with "lights: true" material option) - ------------------------------------------------------------------------- */ - - 'normalV' : { - - uniforms: THREE.UniformsUtils.merge( [ - - THREE.UniformsLib[ "fog" ], - THREE.UniformsLib[ "lights" ], - THREE.UniformsLib[ "shadowmap" ], - - { - - "enableAO" : { type: "i", value: 0 }, - "enableDiffuse" : { type: "i", value: 0 }, - "enableSpecular" : { type: "i", value: 0 }, - "enableReflection": { type: "i", value: 0 }, - - "tDiffuse" : { type: "t", value: 0, texture: null }, - "tCube" : { type: "t", value: 1, texture: null }, - "tNormal" : { type: "t", value: 2, texture: null }, - "tSpecular" : { type: "t", value: 3, texture: null }, - "tAO" : { type: "t", value: 4, texture: null }, - "tDisplacement": { type: "t", value: 5, texture: null }, - - "uNormalScale": { type: "f", value: 1.0 }, - - "uDisplacementBias": { type: "f", value: 0.0 }, - "uDisplacementScale": { type: "f", value: 1.0 }, - - "uDiffuseColor": { type: "c", value: new THREE.Color( 0xffffff ) }, - "uSpecularColor": { type: "c", value: new THREE.Color( 0x111111 ) }, - "uAmbientColor": { type: "c", value: new THREE.Color( 0xffffff ) }, - "uShininess": { type: "f", value: 30 }, - "uOpacity": { type: "f", value: 1 }, - - "uReflectivity": { type: "f", value: 0.5 }, - - "uOffset" : { type: "v2", value: new THREE.Vector2( 0, 0 ) }, - "uRepeat" : { type: "v2", value: new THREE.Vector2( 1, 1 ) }, - - "wrapRGB" : { type: "v3", value: new THREE.Vector3( 1, 1, 1 ) } - - } - - ] ), - - fragmentShader: [ - - "uniform vec3 uAmbientColor;", - "uniform vec3 uDiffuseColor;", - "uniform vec3 uSpecularColor;", - "uniform float uShininess;", - "uniform float uOpacity;", - - "uniform bool enableDiffuse;", - "uniform bool enableSpecular;", - "uniform bool enableAO;", - "uniform bool enableReflection;", - - "uniform sampler2D tDiffuse;", - "uniform sampler2D tNormal;", - "uniform sampler2D tSpecular;", - "uniform sampler2D tAO;", - - "uniform samplerCube tCube;", - - "uniform float uNormalScale;", - "uniform float uReflectivity;", - - "varying vec3 vTangent;", - "varying vec3 vBinormal;", - "varying vec3 vNormal;", - "varying vec2 vUv;", - - "uniform vec3 ambientLightColor;", - - "#if MAX_DIR_LIGHTS > 0", - "uniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];", - "uniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];", - "#endif", - - "#if MAX_POINT_LIGHTS > 0", - "uniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];", - "varying vec4 vPointLight[ MAX_POINT_LIGHTS ];", - "#endif", - - "#ifdef WRAP_AROUND", - "uniform vec3 wrapRGB;", - "#endif", - - "varying vec3 vViewPosition;", - - THREE.ShaderChunk[ "shadowmap_pars_fragment" ], - THREE.ShaderChunk[ "fog_pars_fragment" ], - - "void main() {", - - "gl_FragColor = vec4( vec3( 1.0 ), uOpacity );", - - "vec3 specularTex = vec3( 1.0 );", - - "vec3 normalTex = texture2D( tNormal, vUv ).xyz * 2.0 - 1.0;", - "normalTex.xy *= uNormalScale;", - "normalTex = normalize( normalTex );", - - "if( enableDiffuse ) {", - - "#ifdef GAMMA_INPUT", - - "vec4 texelColor = texture2D( tDiffuse, vUv );", - "texelColor.xyz *= texelColor.xyz;", - - "gl_FragColor = gl_FragColor * texelColor;", - - "#else", - - "gl_FragColor = gl_FragColor * texture2D( tDiffuse, vUv );", - - "#endif", - - "}", - - "if( enableAO ) {", - - "#ifdef GAMMA_INPUT", - - "vec4 aoColor = texture2D( tAO, vUv );", - "aoColor.xyz *= aoColor.xyz;", - - "gl_FragColor.xyz = gl_FragColor.xyz * aoColor.xyz;", - - "#else", - - "gl_FragColor.xyz = gl_FragColor.xyz * texture2D( tAO, vUv ).xyz;", - - "#endif", - - "}", - - "if( enableSpecular )", - "specularTex = texture2D( tSpecular, vUv ).xyz;", - - "mat3 tsb = mat3( normalize( vTangent ), normalize( vBinormal ), normalize( vNormal ) );", - "vec3 finalNormal = tsb * normalTex;", - - "vec3 normal = normalize( finalNormal );", - "vec3 viewPosition = normalize( vViewPosition );", - - // point lights - - "#if MAX_POINT_LIGHTS > 0", - - "vec3 pointDiffuse = vec3( 0.0 );", - "vec3 pointSpecular = vec3( 0.0 );", - - "for ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {", - - "vec3 pointVector = normalize( vPointLight[ i ].xyz );", - "float pointDistance = vPointLight[ i ].w;", - - // diffuse - - "#ifdef WRAP_AROUND", - - "float pointDiffuseWeightFull = max( dot( normal, pointVector ), 0.0 );", - "float pointDiffuseWeightHalf = max( 0.5 * dot( normal, pointVector ) + 0.5, 0.0 );", - - "vec3 pointDiffuseWeight = mix( vec3 ( pointDiffuseWeightFull ), vec3( pointDiffuseWeightHalf ), wrapRGB );", - - "#else", - - "float pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );", - - "#endif", - - "pointDiffuse += pointDistance * pointLightColor[ i ] * uDiffuseColor * pointDiffuseWeight;", - - // specular - - "vec3 pointHalfVector = normalize( pointVector + viewPosition );", - "float pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );", - "float pointSpecularWeight = specularTex.r * max( pow( pointDotNormalHalf, uShininess ), 0.0 );", - - "#ifdef PHYSICALLY_BASED_SHADING", - - // 2.0 => 2.0001 is hack to work around ANGLE bug - - "float specularNormalization = ( uShininess + 2.0001 ) / 8.0;", - - "vec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( pointVector, pointHalfVector ), 5.0 );", - "pointSpecular += schlick * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * pointDistance * specularNormalization;", - - "#else", - - "pointSpecular += pointDistance * pointLightColor[ i ] * uSpecularColor * pointSpecularWeight * pointDiffuseWeight;", - - "#endif", - - "}", - - "#endif", - - // directional lights - - "#if MAX_DIR_LIGHTS > 0", - - "vec3 dirDiffuse = vec3( 0.0 );", - "vec3 dirSpecular = vec3( 0.0 );", - - "for( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {", - - "vec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );", - "vec3 dirVector = normalize( lDirection.xyz );", - - // diffuse - - "#ifdef WRAP_AROUND", - - "float directionalLightWeightingFull = max( dot( normal, dirVector ), 0.0 );", - "float directionalLightWeightingHalf = max( 0.5 * dot( normal, dirVector ) + 0.5, 0.0 );", - - "vec3 dirDiffuseWeight = mix( vec3( directionalLightWeightingFull ), vec3( directionalLightWeightingHalf ), wrapRGB );", - - "#else", - - "float dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );", - - "#endif", - - "dirDiffuse += directionalLightColor[ i ] * uDiffuseColor * dirDiffuseWeight;", - - // specular - - "vec3 dirHalfVector = normalize( dirVector + viewPosition );", - "float dirDotNormalHalf = max( dot( normal, dirHalfVector ), 0.0 );", - "float dirSpecularWeight = specularTex.r * max( pow( dirDotNormalHalf, uShininess ), 0.0 );", - - "#ifdef PHYSICALLY_BASED_SHADING", - - // 2.0 => 2.0001 is hack to work around ANGLE bug - - "float specularNormalization = ( uShininess + 2.0001 ) / 8.0;", - - "vec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( dirVector, dirHalfVector ), 5.0 );", - "dirSpecular += schlick * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight * specularNormalization;", - - "#else", - - "dirSpecular += directionalLightColor[ i ] * uSpecularColor * dirSpecularWeight * dirDiffuseWeight;", - - "#endif", - - "}", - - "#endif", - - // all lights contribution summation - - "vec3 totalDiffuse = vec3( 0.0 );", - "vec3 totalSpecular = vec3( 0.0 );", - - "#if MAX_DIR_LIGHTS > 0", - - "totalDiffuse += dirDiffuse;", - "totalSpecular += dirSpecular;", - - "#endif", - - "#if MAX_POINT_LIGHTS > 0", - - "totalDiffuse += pointDiffuse;", - "totalSpecular += pointSpecular;", - - "#endif", - - "gl_FragColor.xyz = gl_FragColor.xyz * ( totalDiffuse + ambientLightColor * uAmbientColor) + totalSpecular;", - - "if ( enableReflection ) {", - - "vec3 wPos = cameraPosition - vViewPosition;", - "vec3 vReflect = reflect( normalize( wPos ), normal );", - - "vec4 cubeColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );", - - "#ifdef GAMMA_INPUT", - - "cubeColor.xyz *= cubeColor.xyz;", - - "#endif", - - "gl_FragColor.xyz = mix( gl_FragColor.xyz, cubeColor.xyz, specularTex.r * uReflectivity );", - - "}", - - THREE.ShaderChunk[ "shadowmap_fragment" ], - THREE.ShaderChunk[ "linear_to_gamma_fragment" ], - THREE.ShaderChunk[ "fog_fragment" ], - - "}" - - ].join("\n"), - - vertexShader: [ - - "attribute vec4 tangent;", - - "uniform vec2 uOffset;", - "uniform vec2 uRepeat;", - - "#ifdef VERTEX_TEXTURES", - - "uniform sampler2D tDisplacement;", - "uniform float uDisplacementScale;", - "uniform float uDisplacementBias;", - - "#endif", - - "varying vec3 vTangent;", - "varying vec3 vBinormal;", - "varying vec3 vNormal;", - "varying vec2 vUv;", - - "#if MAX_POINT_LIGHTS > 0", - - "uniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];", - "uniform float pointLightDistance[ MAX_POINT_LIGHTS ];", - - "varying vec4 vPointLight[ MAX_POINT_LIGHTS ];", - - "#endif", - - "varying vec3 vViewPosition;", - - THREE.ShaderChunk[ "shadowmap_pars_vertex" ], - - "void main() {", - - "vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );", - - "vViewPosition = -mvPosition.xyz;", - - // normal, tangent and binormal vectors - - "vNormal = normalMatrix * normal;", - "vTangent = normalMatrix * tangent.xyz;", - "vBinormal = cross( vNormal, vTangent ) * tangent.w;", - - "vUv = uv * uRepeat + uOffset;", - - // point lights - - "#if MAX_POINT_LIGHTS > 0", - - "for( int i = 0; i < MAX_POINT_LIGHTS; i++ ) {", - - "vec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );", - "vec3 lVector = lPosition.xyz - mvPosition.xyz;", - - "float lDistance = 1.0;", - "if ( pointLightDistance[ i ] > 0.0 )", - "lDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );", - - "lVector = normalize( lVector );", - - "vPointLight[ i ] = vec4( lVector, lDistance );", - - "}", - - "#endif", - - // displacement mapping - - "#ifdef VERTEX_TEXTURES", - - "vec3 dv = texture2D( tDisplacement, uv ).xyz;", - "float df = uDisplacementScale * dv.x + uDisplacementBias;", - "vec4 displacedPosition = vec4( normalize( vNormal.xyz ) * df, 0.0 ) + mvPosition;", - "gl_Position = projectionMatrix * displacedPosition;", - - "#else", - - "gl_Position = projectionMatrix * mvPosition;", - - "#endif", - - THREE.ShaderChunk[ "shadowmap_vertex" ], - - "}" - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------- - // Cube map shader - ------------------------------------------------------------------------- */ - - 'cube': { - - uniforms: { "tCube": { type: "t", value: 1, texture: null }, - "tFlip": { type: "f", value: -1 } }, - - vertexShader: [ - - "varying vec3 vViewPosition;", - - "void main() {", - - "vec4 mPosition = objectMatrix * vec4( position, 1.0 );", - "vViewPosition = cameraPosition - mPosition.xyz;", - - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform samplerCube tCube;", - "uniform float tFlip;", - - "varying vec3 vViewPosition;", - - "void main() {", - - "vec3 wPos = cameraPosition - vViewPosition;", - "gl_FragColor = textureCube( tCube, vec3( tFlip * wPos.x, wPos.yz ) );", - - "}" - - ].join("\n") - - } - -}; \ No newline at end of file diff --git a/tools/hexgl/cache.appcache b/tools/hexgl/cache.appcache deleted file mode 100644 index db21839..0000000 --- a/tools/hexgl/cache.appcache +++ /dev/null @@ -1,74 +0,0 @@ -CACHE MANIFEST -# v1.0.1-ffos-201302192207 -# HexGL by Thibaut Despoulain (BKcore.com) -index.html -css/BebasNeue-webfont.eot -css/BebasNeue-webfont.ttf -css/fonts.css -css/mobile-controls-2.jpg -css/mobile-over.jpg -css/BebasNeue-webfont.svg -css/BebasNeue-webfont.woff -css/mobile-controls-1.jpg -css/mobile.jpg -css/touchcontroller.css -libs/Three.dev.js -libs/ShaderExtras.js -libs/postprocessing/EffectComposer.js -libs/postprocessing/RenderPass.js -libs/postprocessing/BloomPass.js -libs/postprocessing/ShaderPass.js -libs/postprocessing/MaskPass.js -libs/Detector.js -libs/Stats.js -libs/DAT.GUI.min.js -bkcore.coffee/controllers/TouchController.js -bkcore.coffee/controllers/OrientationController.js -bkcore/Timer.js -bkcore/ImageData.js -bkcore/Utils.js -bkcore/threejs/RenderManager.js -bkcore/threejs/Shaders.js -bkcore/threejs/Particles.js -bkcore/threejs/Loader.js -bkcore/hexgl/HUD.js -bkcore/hexgl/RaceData.js -bkcore/hexgl/ShipControls.js -bkcore/hexgl/ShipEffects.js -bkcore/hexgl/CameraChase.js -bkcore/hexgl/Gameplay.js -bkcore/hexgl/tracks/Cityscape.js -bkcore/hexgl/HexGL.js -geometries/bonus/base/base.js -geometries/booster/booster.js -geometries/ships/feisar/feisar.js -geometries/tracks/cityscape/scrapers1.js -geometries/tracks/cityscape/scrapers2.js -geometries/tracks/cityscape/startbanner.js -geometries/tracks/cityscape/start.js -geometries/tracks/cityscape/track.js -geometries/tracks/cityscape/bonus/speed.js -textures/tracks/cityscape/collision.png -textures/tracks/cityscape/diffuse.jpg -textures/tracks/cityscape/height.png -textures/tracks/cityscape/start/diffuse.jpg -textures/tracks/cityscape/start/start.jpg -textures/tracks/cityscape/scrapers2/diffuse.jpg -textures/tracks/cityscape/scrapers1/diffuse.jpg -textures/skybox/dawnclouds/nx.jpg -textures/skybox/dawnclouds/ny.jpg -textures/skybox/dawnclouds/nz.jpg -textures/skybox/dawnclouds/px.jpg -textures/skybox/dawnclouds/pz.jpg -textures/skybox/dawnclouds/py.jpg -textures/ships/feisar/diffuse.jpg -textures/ships/feisar/booster/booster.png -textures/ships/feisar/booster/boostersprite.jpg -textures/bonus/base/diffuse.jpg -textures/particles/cloud.png -textures/particles/damage.png -textures/particles/spark.png -textures/hud/hud-bg.png -textures/hud/hex.jpg -textures/hud/hud-fg-speed.png -textures/hud/hud-fg-shield.png \ No newline at end of file diff --git a/tools/hexgl/css/BebasNeue-webfont.eot b/tools/hexgl/css/BebasNeue-webfont.eot deleted file mode 100644 index 23df258..0000000 Binary files a/tools/hexgl/css/BebasNeue-webfont.eot and /dev/null differ diff --git a/tools/hexgl/css/BebasNeue-webfont.svg b/tools/hexgl/css/BebasNeue-webfont.svg deleted file mode 100644 index df90beb..0000000 --- a/tools/hexgl/css/BebasNeue-webfont.svg +++ /dev/null @@ -1,245 +0,0 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Copyright c 2010 by Ryoichi Tsunekawa All rights reserved -Designer : Ryoichi Tsunekawa -Foundry : Ryoichi Tsunekawa - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/tools/hexgl/css/BebasNeue-webfont.ttf b/tools/hexgl/css/BebasNeue-webfont.ttf deleted file mode 100644 index 072487c..0000000 Binary files a/tools/hexgl/css/BebasNeue-webfont.ttf and /dev/null differ diff --git a/tools/hexgl/css/BebasNeue-webfont.woff b/tools/hexgl/css/BebasNeue-webfont.woff deleted file mode 100644 index 5ff9da7..0000000 Binary files a/tools/hexgl/css/BebasNeue-webfont.woff and /dev/null differ diff --git a/tools/hexgl/css/bg.jpg b/tools/hexgl/css/bg.jpg deleted file mode 100644 index dbf5ed2..0000000 Binary files a/tools/hexgl/css/bg.jpg and /dev/null differ diff --git a/tools/hexgl/css/fonts.css b/tools/hexgl/css/fonts.css deleted file mode 100644 index f6a6361..0000000 --- a/tools/hexgl/css/fonts.css +++ /dev/null @@ -1,16 +0,0 @@ -/* Generated by Font Squirrel (http://www.fontsquirrel.com) on July 28, 2012 03:24:04 PM America/New_York */ - - - -@font-face { - font-family: 'BebasNeueRegular'; - src: url('BebasNeue-webfont.eot'); - src: url('BebasNeue-webfont.eot?#iefix') format('embedded-opentype'), - url('BebasNeue-webfont.woff') format('woff'), - url('BebasNeue-webfont.ttf') format('truetype'), - url('BebasNeue-webfont.svg#BebasNeueRegular') format('svg'); - font-weight: normal; - font-style: normal; - -} - diff --git a/tools/hexgl/css/help-0.png b/tools/hexgl/css/help-0.png deleted file mode 100644 index 27c3735..0000000 Binary files a/tools/hexgl/css/help-0.png and /dev/null differ diff --git a/tools/hexgl/css/help-1.png b/tools/hexgl/css/help-1.png deleted file mode 100644 index 28d36d2..0000000 Binary files a/tools/hexgl/css/help-1.png and /dev/null differ diff --git a/tools/hexgl/css/help-2.png b/tools/hexgl/css/help-2.png deleted file mode 100644 index 97910f0..0000000 Binary files a/tools/hexgl/css/help-2.png and /dev/null differ diff --git a/tools/hexgl/css/help-3.png b/tools/hexgl/css/help-3.png deleted file mode 100644 index 40adbb7..0000000 Binary files a/tools/hexgl/css/help-3.png and /dev/null differ diff --git a/tools/hexgl/css/mobile-controls-1.jpg b/tools/hexgl/css/mobile-controls-1.jpg deleted file mode 100644 index ec1ad87..0000000 Binary files a/tools/hexgl/css/mobile-controls-1.jpg and /dev/null differ diff --git a/tools/hexgl/css/mobile-controls-2.jpg b/tools/hexgl/css/mobile-controls-2.jpg deleted file mode 100644 index 8aa9008..0000000 Binary files a/tools/hexgl/css/mobile-controls-2.jpg and /dev/null differ diff --git a/tools/hexgl/css/mobile-over.jpg b/tools/hexgl/css/mobile-over.jpg deleted file mode 100644 index 67cd9bb..0000000 Binary files a/tools/hexgl/css/mobile-over.jpg and /dev/null differ diff --git a/tools/hexgl/css/mobile.jpg b/tools/hexgl/css/mobile.jpg deleted file mode 100644 index e518872..0000000 Binary files a/tools/hexgl/css/mobile.jpg and /dev/null differ diff --git a/tools/hexgl/css/multi.css b/tools/hexgl/css/multi.css deleted file mode 100644 index 173f27b..0000000 --- a/tools/hexgl/css/multi.css +++ /dev/null @@ -1,264 +0,0 @@ -@-webkit-keyframes anim { - 0% { -webkit-transform: translateY(10px) } - 50% { -webkit-transform: translateY(-10px) } - 100% { -webkit-transform: translateY(10px) } -} -@-moz-keyframes anim { - 0% { -moz-transform: translateY(10px) } - 50% { -moz-transform: translateY(-10px) } - 100% { -moz-transform: translateY(10px) } -} -@-o-keyframes anim { - 0% { -o-transform: translateY(10px) } - 50% { -o-transform: translateY(-10px) } - 100% { -o-transform: translateY(10px) } -} -@keyframes anim { - 0% { transform: translateY(10px) } - 50% { transform: translateY(-10px) } - 100% { transform: translateY(10px) } -} - -@-webkit-keyframes animbg { - 0% { -webkit-transform: translateY(5px) } - 50% { -webkit-transform: translateY(-5px) } - 100% { -webkit-transform: translateY(5px) } -} -@-moz-keyframes animbg { - 0% { -moz-transform: translateY(5px) } - 50% { -moz-transform: translateY(-5px) } - 100% { -moz-transform: translateY(5px) } -} -@-o-keyframes animbg { - 0% { -o-transform: translateY(5px) } - 50% { -o-transform: translateY(-5px) } - 100% { -o-transform: translateY(5px) } -} -@keyframes animbg { - 0% { transform: translateY(5px) } - 50% { transform: translateY(-5px) } - 100% { transform: translateY(5px) } -} - -* { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -html, body { - overflow: hidden; - font-family: 'BebasNeueRegular', arial, sans-serif; - background: white; -} - -#global { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 0; - background: url('bg.jpg') no-repeat center center fixed; - overflow: hidden; - text-align: center; - -moz-background-size: cover; - -webkit-background-size: cover; - -ms-background-size: cover; - -o-background-size: cover; - background-size: cover; - -webkit-transform: translateZ(0); - -moz-transform: translateZ(0); - -o-transform: translateZ(0); - transform: translateZ(0); - -webkit-animation: animbg 3s ease-in-out infinite; - -moz-animation: animbg 3s ease-in-out infinite; - -o-animation: animbg 3s ease-in-out infinite; - animation: animbg 3s ease-in-out infinite; -} - -#title { - position: absolute; - top: 5%; - right: 0; - bottom: 5%; - left: 0; - z-index: 1; - background: url('title.png') no-repeat center top; - -moz-background-size: auto 50%; - -webkit-background-size: auto 50%; - -ms-background-size: auto 50%; - -o-background-size: auto 50%; - background-size: auto 50%; - -webkit-transform: translateZ(0); - -moz-transform: translateZ(0); - -o-transform: translateZ(0); - transform: translateZ(0); - -webkit-animation: anim 3s ease-in-out infinite; - -moz-animation: anim 3s ease-in-out infinite; - -o-animation: anim 3s ease-in-out infinite; - animation: anim 3s ease-in-out infinite; -} - -#menucontainer { - position: absolute; - top: auto; - right: 0; - bottom: 10%; - left: 0; - z-index: 2; -} - -#menu { - position: relative; - display: block; - width: 100%; - max-width: 600px; - margin: auto; - text-align: center; - font-size: 2em; - font-family: 'BebasNeueRegular', arial, sans-serif; - text-transform: uppercase; - color: #4190bb; -} - -#menu div { - padding: 0.1em 0 0 0; - margin: 0 0; - cursor: pointer; - -moz-text-shadow: 0 0 10px rgb(255,255,255); - -webkit-text-shadow: 0 0 10px rgb(255,255,255); - text-shadow: 0 0 10px rgb(255,255,255); - -webkit-transform-origin-y: 50%; - -webkit-transition: -webkit-transform 0.2s; - -webkit-transform: translateZ(0px) scaleY(0.8); - transform-origin-y: 50%; - transition: transform 0.2s ease; - transform: translateZ(0px) scaleY(0.8); - background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjQwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjUiLz4KICAgIDxzdG9wIG9mZnNldD0iNjAlIiBzdG9wLWNvbG9yPSIjZmZmZmZmIiBzdG9wLW9wYWNpdHk9IjAuNSIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZmZmZmZmIiBzdG9wLW9wYWNpdHk9IjAiLz4KICA8L2xpbmVhckdyYWRpZW50PgogIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InVybCgjZ3JhZC11Y2dnLWdlbmVyYXRlZCkiIC8+Cjwvc3ZnPg==); - background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.5) 40%, rgba(255,255,255,0.5) 60%, rgba(255,255,255,0) 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(255,255,255,0)), color-stop(40%,rgba(255,255,255,0.5)), color-stop(60%,rgba(255,255,255,0.5)), color-stop(100%,rgba(255,255,255,0))); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,0.5) 40%,rgba(255,255,255,0.5) 60%,rgba(255,255,255,0) 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,0.5) 40%,rgba(255,255,255,0.5) 60%,rgba(255,255,255,0) 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,0.5) 40%,rgba(255,255,255,0.5) 60%,rgba(255,255,255,0) 100%); /* IE10+ */ - background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,0.5) 40%,rgba(255,255,255,0.5) 60%,rgba(255,255,255,0) 100%); /* W3C */ -} - -#menu div:hover { - color: #f66439; - -webkit-transform: scaleY(1.0); - transform: scaleY(1.1); -} - -#start { - font-size: 1.8em; - color: #f66439; -} - -#start:hover { - color: #f8854b !important; -} - -#step-2 { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: black; - vertical-align: bottom; - text-align: center; - padding: 20px; - color: white; - font-size: 2em; - background-repeat: no-repeat; - background-position: center center; - -moz-background-size: 60% auto; - -webkit-background-size: 60% auto; - -ms-background-size: 60% auto; - -o-background-size: 60% auto; - background-size: 60% auto; -} - -#step-3 { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: black; -} - -#step-3 #progressbar { - position: absolute; - top: 0; - right: auto; - bottom: 0; - left: 0; - width: 0%; - background: white; -} - -#step-5 { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: black; - text-align: center; - padding: 100px 20px; - color: white; - font-size: 2em; -} - -#step-5 #time { - font-size: 4em -} - -#leapinfo { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - background: rgba(0,0,0,0.8); - color: white; - text-align: center; - font-size: 3em; - padding-top: 200px; - z-index: 999999; -} - -#credits { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 9999; - background: black; - overflow-y: auto; - text-align: center; - color: white; - font-size: 1.1em; - padding: 40px 20px; -} - -#credits h3 { - font-size: 2em; - color: #666; -} - -#credits b { - font-size: 1.2em; - color: #bbb; -} - -#credits h4 { - color: #555; - font-size: 1.2em; -} diff --git a/tools/hexgl/css/title.png b/tools/hexgl/css/title.png deleted file mode 100644 index 9a3a509..0000000 Binary files a/tools/hexgl/css/title.png and /dev/null differ diff --git a/tools/hexgl/css/touchcontroller.css b/tools/hexgl/css/touchcontroller.css deleted file mode 100644 index f621264..0000000 --- a/tools/hexgl/css/touchcontroller.css +++ /dev/null @@ -1,8 +0,0 @@ -* { - -webkit-touch-callout: none; /* prevent callout to copy image, etc when tap to hold */ - -webkit-text-size-adjust: none; /* prevent webkit from resizing text to fit */ -/* make transparent link selection, adjust last value opacity 0 to 1.0 */ - -webkit-tap-highlight-color: rgba(0,0,0,0); - -webkit-user-select: none; /* prevent copy paste, to allow, change 'none' to 'text' */ - -webkit-tap-highlight-color: rgba(0,0,0,0); -} \ No newline at end of file diff --git a/tools/hexgl/favicon.png b/tools/hexgl/favicon.png deleted file mode 100644 index d7e74ff..0000000 Binary files a/tools/hexgl/favicon.png and /dev/null differ diff --git a/tools/hexgl/geometries/bonus/base/base.js b/tools/hexgl/geometries/bonus/base/base.js deleted file mode 100644 index a9d2d78..0000000 --- a/tools/hexgl/geometries/bonus/base/base.js +++ /dev/null @@ -1,45 +0,0 @@ -{ - - "metadata" : - { - "formatVersion" : 3.1, - "sourceFile" : "base.obj", - "generatedBy" : "OBJConverter", - "vertices" : 112, - "faces" : 168, - "normals" : 84, - "colors" : 0, - "uvs" : 56, - "materials" : 1 - }, - - "scale" : 1.000000, - - "materials": [ { - "DbgColor" : 15658734, - "DbgIndex" : 0, - "DbgName" : "02___Default", - "colorAmbient" : [0.588, 0.588, 0.588], - "colorDiffuse" : [0.588, 0.588, 0.588], - "colorSpecular" : [0.0, 0.0, 0.0], - "illumination" : 2, - "opticalDensity" : 1.5, - "specularCoef" : 10.0, - "transparency" : 0.0 - }], - - "vertices": [-2210.178467,382.884064,-1442.143188,-2213.186523,382.884064,-1419.211914,-2236.117920,382.884064,-1422.219849,-2233.109863,382.884064,-1445.151123,-2210.178467,383.484070,-1442.143188,-2233.109863,383.484070,-1445.151123,-2236.117920,383.484070,-1422.219849,-2213.186523,383.484070,-1419.211914,-1804.916016,424.678925,27.820803,-1782.704834,429.981842,31.486620,-1785.736572,426.967804,54.215866,-1807.947754,421.664886,50.550049,-1805.063599,425.257690,27.877861,-1808.095337,422.243652,50.607105,-1785.884155,427.546570,54.272923,-1782.852417,430.560577,31.543678,-1432.797852,370.664063,-1597.012817,-1409.794434,368.633240,-1598.283691,-1408.528564,368.521484,-1575.190796,-1431.531982,370.552307,-1573.919922,-1432.745117,371.261749,-1597.012817,-1431.479126,371.149994,-1573.919922,-1408.475830,369.119141,-1575.190796,-1409.741699,369.230896,-1598.283691,-763.344482,409.733917,-205.626923,-771.507690,412.698517,-184.191742,-793.074829,409.714691,-191.992493,-784.911621,406.750092,-213.427673,-763.390320,410.323914,-205.725967,-784.957397,407.340088,-213.526718,-793.120605,410.304688,-192.091522,-771.553528,413.288513,-184.290771,1048.997559,850.273010,-140.591934,1071.022461,850.273010,-133.534805,1063.965332,850.273010,-111.510025,1041.940430,850.273010,-118.567146,1048.997559,850.872986,-140.591934,1041.940430,850.872986,-118.567146,1063.965332,850.872986,-111.510025,1071.022461,850.872986,-133.534805,117.802750,386.019440,1342.119995,95.708839,385.415344,1335.309082,102.507782,385.921783,1313.209106,124.601692,386.525879,1320.020020,117.783905,386.619080,1342.127930,124.582848,387.125519,1320.027954,102.488937,386.521454,1313.217041,95.689995,386.014984,1335.317017,106.338600,384.754913,1379.200928,84.244690,384.150818,1372.390015,91.043633,384.657257,1350.290039,113.137543,385.261353,1357.100952,106.319756,385.354553,1379.208862,113.118698,385.860992,1357.108887,91.024788,385.256927,1350.297974,84.225845,384.750458,1372.397949,-1440.593872,382.952026,620.243225,-1462.902344,382.887726,614.142029,-1456.800903,382.673279,591.834656,-1434.492432,382.737579,597.935852,-1440.594116,383.552002,620.237427,-1434.492554,383.337555,597.929993,-1456.801025,383.273254,591.828857,-1462.902466,383.487701,614.136230,-46.466331,852.781616,2019.750000,-26.918098,848.528992,2031.354980,-38.656670,848.938110,2051.278076,-58.204903,853.190735,2039.673096,-46.365967,853.371277,2019.796997,-58.104538,853.780457,2039.720093,-38.556305,849.527832,2051.325195,-26.817734,849.118652,2031.401978,-66.098541,853.467590,2053.049805,-46.550304,849.214966,2064.654785,-58.288876,849.624084,2084.578125,-77.837112,853.876709,2072.973145,-65.998177,854.057251,2053.096924,-77.736748,854.466431,2073.020020,-58.188511,850.213806,2084.625000,-46.449940,849.804626,2064.701904,1278.894775,575.366760,2157.071045,1299.657227,566.643372,2151.806396,1303.964600,563.328796,2174.286377,1283.202148,572.052185,2179.551025,1279.134277,575.915771,2157.105957,1283.441650,572.601135,2179.585938,1304.204224,563.877747,2174.321533,1299.896851,567.192383,2151.841553,1539.023315,67.443794,-303.515442,1516.672607,65.735390,-309.209259,1522.384644,65.699715,-331.620544,1544.735352,67.408119,-325.926727,1538.980713,68.042152,-303.527283,1544.692627,68.006485,-325.938568,1522.341919,66.298080,-331.632385,1516.629883,66.333748,-309.221100,874.464111,318.963379,-2089.406494,852.437561,322.154236,-2095.694824,859.181641,325.660889,-2117.537842,881.208191,322.470032,-2111.249512,874.517578,319.550659,-2089.295654,881.261597,323.057281,-2111.138672,859.235107,326.248138,-2117.427002,852.491028,322.741486,-2095.584229,-858.552917,382.884064,-2369.478027,-881.667480,382.884064,-2370.259766,-880.885681,382.884064,-2393.374512,-857.771118,382.884064,-2392.592773,-858.552917,383.484070,-2369.478027,-857.771118,383.484070,-2392.592773,-880.885681,383.484070,-2393.374512,-881.667480,383.484070,-2370.259766], - - "morphTargets": [], - - "morphColors": [], - - "normals": [0,-1,-0,0,1,-0,0.13006,0,-0.99151,-0.99151,0,-0.13006,-0.13006,0,0.99151,0.99151,0,0.13006,0.24599,-0.96459,-0.095099,-0.24599,0.96459,0.095099,-0.96037,-0.22929,-0.1585,-0.13109,-0.13032,0.98277,0.96037,0.22929,0.1585,0.13109,0.13032,-0.98277,-0.087943,-0.99613,-0,0.087943,0.99613,0,-0.99462,0.08781,0.054949,0.054736,-0.004832,0.99849,0.99462,-0.08781,-0.054949,-0.054736,0.004832,-0.99849,0.076339,-0.98332,0.16507,-0.076339,0.98332,-0.16507,0.35296,-0.12818,-0.92682,-0.93252,-0.12901,-0.33729,-0.35296,0.12818,0.92682,0.93252,0.12901,0.33729,0,-1,-0,0,1,-0,-0.95231,0,-0.30514,-0.30514,0,0.95231,0.95231,0,0.30514,0.30514,0,-0.95231,0.031408,-0.99942,-0.013241,-0.031408,0.99942,0.013241,0.9553,0.02612,0.29449,0.29397,0.021898,-0.95556,-0.9553,-0.02612,-0.29449,-0.29397,-0.021898,0.95556,0.031408,-0.99942,-0.013241,-0.031408,0.99942,0.013241,0.9553,0.02612,0.29449,0.29397,0.021898,-0.95556,-0.9553,-0.02612,-0.29449,-0.29397,-0.021898,0.95556,0.000236,-0.99995,0.009677,-0.000236,0.99995,-0.009677,0.96457,0.002781,0.2638,0.26382,-0.009272,-0.96453,-0.96457,-0.002781,-0.2638,-0.26382,0.009272,0.96453,-0.16727,-0.98279,-0.078373,0.16727,0.98279,0.078373,-0.84523,0.18388,-0.50178,-0.50755,0.017692,0.86144,0.84523,-0.18388,0.50178,0.50755,-0.017692,-0.86144,-0.16727,-0.98279,-0.078373,0.16727,0.98279,0.078373,-0.84523,0.18388,-0.50178,-0.50755,0.017692,0.86144,0.84523,-0.18388,0.50178,0.50755,-0.017692,-0.86144,-0.39924,-0.91498,-0.058413,0.39924,0.91498,0.058413,-0.89773,0.37718,0.22763,0.18624,-0.14332,0.972,0.89773,-0.37718,-0.22763,-0.18624,0.14332,-0.972,0.0712,-0.99727,0.019734,-0.0712,0.99727,-0.019734,0.9664,0.073868,0.24619,0.24697,-0.001542,-0.96902,-0.9664,-0.073868,-0.24619,-0.24697,0.001542,0.96902,-0.089076,-0.97876,-0.18463,0.089076,0.97876,0.18463,0.95238,-0.13797,0.2719,0.2916,0.15162,-0.94445,-0.95238,0.13797,-0.2719,-0.2916,-0.15162,0.94445,0,-1,-0,0,1,-0,0.99943,0,0.033803,0.033803,0,-0.99943,-0.99943,0,-0.033803,-0.033803,0,0.99943], - - "colors": [], - - "uvs": [[0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0]], - - "faces": [42,0,1,2,0,0,1,2,0,0,0,42,2,3,0,0,2,3,0,0,0,0,42,4,5,6,0,0,3,2,1,1,1,42,6,7,4,0,2,1,0,1,1,1,42,0,3,5,0,0,3,3,2,2,2,42,5,4,0,0,3,0,0,2,2,2,42,3,2,6,0,3,2,2,3,3,3,42,6,5,3,0,2,3,3,3,3,3,42,2,1,7,0,2,1,1,4,4,4,42,7,6,2,0,1,2,2,4,4,4,42,1,0,4,0,1,0,0,5,5,5,42,4,7,1,0,0,1,1,5,5,5,42,8,9,10,0,4,5,6,6,6,6,42,10,11,8,0,6,7,4,6,6,6,42,12,13,14,0,4,7,6,7,7,7,42,14,15,12,0,6,5,4,7,7,7,42,8,11,13,0,4,7,7,8,8,8,42,13,12,8,0,7,4,4,8,8,8,42,11,10,14,0,7,6,6,9,9,9,42,14,13,11,0,6,7,7,9,9,9,42,10,9,15,0,6,5,5,10,10,10,42,15,14,10,0,5,6,6,10,10,10,42,9,8,12,0,5,4,4,11,11,11,42,12,15,9,0,4,5,5,11,11,11,42,16,17,18,0,8,9,10,12,12,12,42,18,19,16,0,10,11,8,12,12,12,42,20,21,22,0,8,11,10,13,13,13,42,22,23,20,0,10,9,8,13,13,13,42,16,19,21,0,8,11,11,14,14,14,42,21,20,16,0,11,8,8,14,14,14,42,19,18,22,0,11,10,10,15,15,15,42,22,21,19,0,10,11,11,15,15,15,42,18,17,23,0,10,9,9,16,16,16,42,23,22,18,0,9,10,10,16,16,16,42,17,16,20,0,9,8,8,17,17,17,42,20,23,17,0,8,9,9,17,17,17,42,24,25,26,0,12,13,14,18,18,18,42,26,27,24,0,14,15,12,18,18,18,42,28,29,30,0,12,15,14,19,19,19,42,30,31,28,0,14,13,12,19,19,19,42,24,27,29,0,12,15,15,20,20,20,42,29,28,24,0,15,12,12,20,20,20,42,27,26,30,0,15,14,14,21,21,21,42,30,29,27,0,14,15,15,21,21,21,42,26,25,31,0,14,13,13,22,22,22,42,31,30,26,0,13,14,14,22,22,22,42,25,24,28,0,13,12,12,23,23,23,42,28,31,25,0,12,13,13,23,23,23,42,32,33,34,0,16,17,18,24,24,24,42,34,35,32,0,18,19,16,24,24,24,42,36,37,38,0,16,19,18,25,25,25,42,38,39,36,0,18,17,16,25,25,25,42,32,35,37,0,16,19,19,26,26,26,42,37,36,32,0,19,16,16,26,26,26,42,35,34,38,0,19,18,18,27,27,27,42,38,37,35,0,18,19,19,27,27,27,42,34,33,39,0,18,17,17,28,28,28,42,39,38,34,0,17,18,18,28,28,28,42,33,32,36,0,17,16,16,29,29,29,42,36,39,33,0,16,17,17,29,29,29,42,40,41,42,0,20,21,22,30,30,30,42,42,43,40,0,22,23,20,30,30,30,42,44,45,46,0,20,23,22,31,31,31,42,46,47,44,0,22,21,20,31,31,31,42,40,43,45,0,20,23,23,32,32,32,42,45,44,40,0,23,20,20,32,32,32,42,43,42,46,0,23,22,22,33,33,33,42,46,45,43,0,22,23,23,33,33,33,42,42,41,47,0,22,21,21,34,34,34,42,47,46,42,0,21,22,22,34,34,34,42,41,40,44,0,21,20,20,35,35,35,42,44,47,41,0,20,21,21,35,35,35,42,48,49,50,0,24,25,26,36,36,36,42,50,51,48,0,26,27,24,36,36,36,42,52,53,54,0,24,27,26,37,37,37,42,54,55,52,0,26,25,24,37,37,37,42,48,51,53,0,24,27,27,38,38,38,42,53,52,48,0,27,24,24,38,38,38,42,51,50,54,0,27,26,26,39,39,39,42,54,53,51,0,26,27,27,39,39,39,42,50,49,55,0,26,25,25,40,40,40,42,55,54,50,0,25,26,26,40,40,40,42,49,48,52,0,25,24,24,41,41,41,42,52,55,49,0,24,25,25,41,41,41,42,56,57,58,0,28,29,30,42,42,42,42,58,59,56,0,30,31,28,42,42,42,42,60,61,62,0,28,31,30,43,43,43,42,62,63,60,0,30,29,28,43,43,43,42,56,59,61,0,28,31,31,44,44,44,42,61,60,56,0,31,28,28,44,44,44,42,59,58,62,0,31,30,30,45,45,45,42,62,61,59,0,30,31,31,45,45,45,42,58,57,63,0,30,29,29,46,46,46,42,63,62,58,0,29,30,30,46,46,46,42,57,56,60,0,29,28,28,47,47,47,42,60,63,57,0,28,29,29,47,47,47,42,64,65,66,0,32,33,34,48,48,48,42,66,67,64,0,34,35,32,48,48,48,42,68,69,70,0,32,35,34,49,49,49,42,70,71,68,0,34,33,32,49,49,49,42,64,67,69,0,32,35,35,50,50,50,42,69,68,64,0,35,32,32,50,50,50,42,67,66,70,0,35,34,34,51,51,51,42,70,69,67,0,34,35,35,51,51,51,42,66,65,71,0,34,33,33,52,52,52,42,71,70,66,0,33,34,34,52,52,52,42,65,64,68,0,33,32,32,53,53,53,42,68,71,65,0,32,33,33,53,53,53,42,72,73,74,0,36,37,38,54,54,54,42,74,75,72,0,38,39,36,54,54,54,42,76,77,78,0,36,39,38,55,55,55,42,78,79,76,0,38,37,36,55,55,55,42,72,75,77,0,36,39,39,56,56,56,42,77,76,72,0,39,36,36,56,56,56,42,75,74,78,0,39,38,38,57,57,57,42,78,77,75,0,38,39,39,57,57,57,42,74,73,79,0,38,37,37,58,58,58,42,79,78,74,0,37,38,38,58,58,58,42,73,72,76,0,37,36,36,59,59,59,42,76,79,73,0,36,37,37,59,59,59,42,80,81,82,0,40,41,42,60,60,60,42,82,83,80,0,42,43,40,60,60,60,42,84,85,86,0,40,43,42,61,61,61,42,86,87,84,0,42,41,40,61,61,61,42,80,83,85,0,40,43,43,62,62,62,42,85,84,80,0,43,40,40,62,62,62,42,83,82,86,0,43,42,42,63,63,63,42,86,85,83,0,42,43,43,63,63,63,42,82,81,87,0,42,41,41,64,64,64,42,87,86,82,0,41,42,42,64,64,64,42,81,80,84,0,41,40,40,65,65,65,42,84,87,81,0,40,41,41,65,65,65,42,88,89,90,0,44,45,46,66,66,66,42,90,91,88,0,46,47,44,66,66,66,42,92,93,94,0,44,47,46,67,67,67,42,94,95,92,0,46,45,44,67,67,67,42,88,91,93,0,44,47,47,68,68,68,42,93,92,88,0,47,44,44,68,68,68,42,91,90,94,0,47,46,46,69,69,69,42,94,93,91,0,46,47,47,69,69,69,42,90,89,95,0,46,45,45,70,70,70,42,95,94,90,0,45,46,46,70,70,70,42,89,88,92,0,45,44,44,71,71,71,42,92,95,89,0,44,45,45,71,71,71,42,96,97,98,0,48,49,50,72,72,72,42,98,99,96,0,50,51,48,72,72,72,42,100,101,102,0,48,51,50,73,73,73,42,102,103,100,0,50,49,48,73,73,73,42,96,99,101,0,48,51,51,74,74,74,42,101,100,96,0,51,48,48,74,74,74,42,99,98,102,0,51,50,50,75,75,75,42,102,101,99,0,50,51,51,75,75,75,42,98,97,103,0,50,49,49,76,76,76,42,103,102,98,0,49,50,50,76,76,76,42,97,96,100,0,49,48,48,77,77,77,42,100,103,97,0,48,49,49,77,77,77,42,104,105,106,0,52,53,54,78,78,78,42,106,107,104,0,54,55,52,78,78,78,42,108,109,110,0,52,55,54,79,79,79,42,110,111,108,0,54,53,52,79,79,79,42,104,107,109,0,52,55,55,80,80,80,42,109,108,104,0,55,52,52,80,80,80,42,107,106,110,0,55,54,54,81,81,81,42,110,109,107,0,54,55,55,81,81,81,42,106,105,111,0,54,53,53,82,82,82,42,111,110,106,0,53,54,54,82,82,82,42,105,104,108,0,53,52,52,83,83,83,42,108,111,105,0,52,53,53,83,83,83] - -} diff --git a/tools/hexgl/geometries/booster/booster.js b/tools/hexgl/geometries/booster/booster.js deleted file mode 100644 index 746a236..0000000 --- a/tools/hexgl/geometries/booster/booster.js +++ /dev/null @@ -1,45 +0,0 @@ -{ - - "metadata" : - { - "formatVersion" : 3.1, - "sourceFile" : "booster.obj", - "generatedBy" : "OBJConverter", - "vertices" : 48, - "faces" : 72, - "normals" : 48, - "colors" : 0, - "uvs" : 52, - "materials" : 1 - }, - - "scale" : 1.000000, - - "materials": [ { - "DbgColor" : 15658734, - "DbgIndex" : 0, - "DbgName" : "02___Default", - "colorAmbient" : [0.588235, 0.588235, 0.588235], - "colorDiffuse" : [0.588235, 0.588235, 0.588235], - "colorSpecular" : [0.0, 0.0, 0.0], - "illumination" : 2, - "opticalDensity" : 1.5, - "specularCoef" : 9.999999, - "transparency" : 0.0 - }], - - "vertices": [0.177146,0.211115,-0.000000,0.258970,0.094257,0.000000,0.369958,0.134654,-0.121302,0.253066,0.301592,-0.121302,0.271404,-0.047856,0.000000,0.387720,-0.068365,-0.121302,0.211115,-0.177146,0.000000,0.301592,-0.253066,-0.121302,0.094257,-0.258970,0.000000,0.134654,-0.369958,-0.121302,-0.047856,-0.271404,0.000000,-0.068365,-0.387720,-0.121302,-0.177146,-0.211115,0.000000,-0.253066,-0.301592,-0.121302,-0.258970,-0.094258,-0.000000,-0.369958,-0.134654,-0.121302,-0.271404,0.047856,-0.000000,-0.387720,0.068365,-0.121302,-0.211115,0.177146,-0.000000,-0.301592,0.253066,-0.121302,-0.094258,0.258970,-0.000000,-0.134654,0.369958,-0.121302,0.047856,0.271404,-0.000000,0.068365,0.387720,-0.121302,0.480945,0.175050,-0.659920,0.328986,0.392070,-0.659920,0.504035,-0.088875,-0.659920,0.392070,-0.328986,-0.659920,0.175050,-0.480945,-0.659920,-0.088875,-0.504035,-0.659920,-0.328986,-0.392070,-0.659920,-0.480945,-0.175050,-0.659920,-0.504035,0.088875,-0.659920,-0.392070,0.328985,-0.659920,-0.175050,0.480945,-0.659920,0.088875,0.504035,-0.659920,0.266370,0.096951,-2.900593,0.182208,0.217146,-2.900593,0.279158,-0.049223,-2.900593,0.217146,-0.182208,-2.900593,0.096951,-0.266370,-2.900593,-0.049223,-0.279158,-2.900593,-0.182207,-0.217146,-2.900593,-0.266369,-0.096951,-2.900593,-0.279158,0.049223,-2.900593,-0.217146,0.182207,-2.900593,-0.096951,0.266369,-2.900593,0.049223,0.279158,-2.900593], - - "morphTargets": [], - - "morphColors": [], - - "normals": [0.46054,0.54885,0.69762,0.67326,0.24505,0.69762,0.83624,0.30436,0.45615,0.57202,0.68171,0.45615,0.70559,-0.12441,0.69762,0.87638,-0.15453,0.45615,0.54885,-0.46054,0.69762,0.68171,-0.57202,0.45615,0.24505,-0.67326,0.69762,0.30436,-0.83624,0.45615,-0.12441,-0.70559,0.69762,-0.15453,-0.87638,0.45615,-0.46054,-0.54885,0.69762,-0.57202,-0.68171,0.45615,-0.67326,-0.24505,0.69762,-0.83624,-0.30436,0.45615,-0.70559,0.12441,0.69762,-0.87638,0.15453,0.45615,-0.54885,0.46054,0.69762,-0.68171,0.57202,0.45615,-0.24505,0.67326,0.69762,-0.30436,0.83624,0.45615,0.12441,0.70559,0.69762,0.15453,0.87638,0.45615,0.93823,0.34149,0.055692,0.64179,0.76486,0.055692,0.98328,-0.17338,0.055692,0.76486,-0.64179,0.055692,0.34149,-0.93823,0.055692,-0.17338,-0.98328,0.055692,-0.64179,-0.76486,0.055692,-0.93823,-0.34149,0.055692,-0.98328,0.17338,0.055692,-0.76486,0.64179,0.055692,-0.34149,0.93823,0.055692,0.17338,0.98328,0.055692,0.93485,0.34026,-0.10139,0.63948,0.7621,-0.10139,0.97973,-0.17275,-0.10139,0.7621,-0.63948,-0.10139,0.34026,-0.93485,-0.10139,-0.17275,-0.97973,-0.10139,-0.63948,-0.7621,-0.10139,-0.93485,-0.34026,-0.10139,-0.97973,0.17275,-0.10139,-0.7621,0.63948,-0.10139,-0.34026,0.93485,-0.10139,0.17275,0.97973,-0.10139], - - "colors": [], - - "uvs": [[0.58311,1.0001,0.49977,1.0001,0.49977,0.9583,0.58311,0.9583,0.41644,1.0001,0.41644,0.9583,0.33311,1.0001,0.33311,0.9583,0.24977,1.0001,0.24977,0.9583,0.16644,1.0001,0.16644,0.9583,0.083106,1.0001,0.083106,0.9583,-0.000227,1.0001,-0.000227,0.9583,0.99977,1.0001,0.91644,1.0001,0.91644,0.9583,0.99977,0.9583,0.83311,1.0001,0.83311,0.9583,0.74977,1.0001,0.74977,0.9583,0.66644,1.0001,0.66644,0.9583,0.49977,0.77261,0.58311,0.77261,0.41644,0.77261,0.33311,0.77261,0.24977,0.77261,0.16644,0.77261,0.083106,0.77261,-0.000227,0.77261,0.91644,0.77261,0.99977,0.77261,0.83311,0.77261,0.74977,0.77261,0.66644,0.77261,0.49977,0.000123,0.58311,0.000123,0.41644,0.000123,0.33311,0.000123,0.24977,0.000123,0.16644,0.000123,0.083106,0.000123,-0.000227,0.000123,0.91644,0.000123,0.99977,0.000123,0.83311,0.000123,0.74977,0.000123,0.66644,0.000123]], - - "faces": [42,0,1,2,0,0,1,2,0,1,2,42,2,3,0,0,2,3,0,2,3,0,42,1,4,5,0,1,4,5,1,4,5,42,5,2,1,0,5,2,1,5,2,1,42,4,6,7,0,4,6,7,4,6,7,42,7,5,4,0,7,5,4,7,5,4,42,6,8,9,0,6,8,9,6,8,9,42,9,7,6,0,9,7,6,9,7,6,42,8,10,11,0,8,10,11,8,10,11,42,11,9,8,0,11,9,8,11,9,8,42,10,12,13,0,10,12,13,10,12,13,42,13,11,10,0,13,11,10,13,11,10,42,12,14,15,0,12,14,15,12,14,15,42,15,13,12,0,15,13,12,15,13,12,42,14,16,17,0,16,17,18,14,16,17,42,17,15,14,0,18,19,16,17,15,14,42,16,18,19,0,17,20,21,16,18,19,42,19,17,16,0,21,18,17,19,17,16,42,18,20,21,0,20,22,23,18,20,21,42,21,19,18,0,23,21,20,21,19,18,42,20,22,23,0,22,24,25,20,22,23,42,23,21,20,0,25,23,22,23,21,20,42,22,0,3,0,24,0,3,22,0,3,42,3,23,22,0,3,25,24,3,23,22,42,3,2,24,0,3,2,26,3,2,24,42,24,25,3,0,26,27,3,24,25,3,42,2,5,26,0,2,5,28,2,5,26,42,26,24,2,0,28,26,2,26,24,2,42,5,7,27,0,5,7,29,5,7,27,42,27,26,5,0,29,28,5,27,26,5,42,7,9,28,0,7,9,30,7,9,28,42,28,27,7,0,30,29,7,28,27,7,42,9,11,29,0,9,11,31,9,11,29,42,29,28,9,0,31,30,9,29,28,9,42,11,13,30,0,11,13,32,11,13,30,42,30,29,11,0,32,31,11,30,29,11,42,13,15,31,0,13,15,33,13,15,31,42,31,30,13,0,33,32,13,31,30,13,42,15,17,32,0,19,18,34,15,17,32,42,32,31,15,0,34,35,19,32,31,15,42,17,19,33,0,18,21,36,17,19,33,42,33,32,17,0,36,34,18,33,32,17,42,19,21,34,0,21,23,37,19,21,34,42,34,33,19,0,37,36,21,34,33,19,42,21,23,35,0,23,25,38,21,23,35,42,35,34,21,0,38,37,23,35,34,21,42,23,3,25,0,25,3,27,23,3,25,42,25,35,23,0,27,38,25,25,35,23,42,25,24,36,0,27,26,39,25,24,36,42,36,37,25,0,39,40,27,36,37,25,42,24,26,38,0,26,28,41,24,26,38,42,38,36,24,0,41,39,26,38,36,24,42,26,27,39,0,28,29,42,26,27,39,42,39,38,26,0,42,41,28,39,38,26,42,27,28,40,0,29,30,43,27,28,40,42,40,39,27,0,43,42,29,40,39,27,42,28,29,41,0,30,31,44,28,29,41,42,41,40,28,0,44,43,30,41,40,28,42,29,30,42,0,31,32,45,29,30,42,42,42,41,29,0,45,44,31,42,41,29,42,30,31,43,0,32,33,46,30,31,43,42,43,42,30,0,46,45,32,43,42,30,42,31,32,44,0,35,34,47,31,32,44,42,44,43,31,0,47,48,35,44,43,31,42,32,33,45,0,34,36,49,32,33,45,42,45,44,32,0,49,47,34,45,44,32,42,33,34,46,0,36,37,50,33,34,46,42,46,45,33,0,50,49,36,46,45,33,42,34,35,47,0,37,38,51,34,35,47,42,47,46,34,0,51,50,37,47,46,34,42,35,25,37,0,38,27,40,35,25,37,42,37,47,35,0,40,51,38,37,47,35] - -} diff --git a/tools/hexgl/geometries/ships/feisar/feisar.js b/tools/hexgl/geometries/ships/feisar/feisar.js deleted file mode 100644 index 0a53910..0000000 --- a/tools/hexgl/geometries/ships/feisar/feisar.js +++ /dev/null @@ -1,45 +0,0 @@ -{ - - "metadata" : - { - "formatVersion" : 3.1, - "sourceFile" : "feisar2.obj", - "generatedBy" : "OBJConverter", - "vertices" : 832, - "faces" : 1676, - "normals" : 1110, - "colors" : 0, - "uvs" : 1326, - "materials" : 1 - }, - - "scale" : 1.000000, - - "materials": [ { - "DbgColor" : 15658734, - "DbgIndex" : 0, - "DbgName" : "orig_default", - "colorAmbient" : [0.588, 0.588, 0.588], - "colorDiffuse" : [0.588, 0.588, 0.588], - "colorSpecular" : [0.0, 0.0, 0.0], - "illumination" : 2, - "opticalDensity" : 1.5, - "specularCoef" : 10.0, - "transparency" : 0.0 - }], - - "vertices": [0.576229,0.448690,3.900594,0.576229,0.484810,3.900594,0.318468,0.581075,3.900594,0.318468,0.532615,3.900594,-0.000000,0.209948,1.460475,-0.000000,0.212922,0.243115,0.188059,0.212922,0.243115,0.184631,0.209948,1.460475,-0.000000,0.766662,1.586820,-0.000000,0.700924,2.606517,0.327768,0.700922,2.606555,0.335611,0.766665,1.586782,0.846831,0.545460,1.586698,0.723008,0.517709,2.606642,0.723011,0.448690,2.606610,0.846829,0.448690,1.586728,0.324801,0.613817,2.606489,0.330139,0.593260,1.586847,-0.000000,0.581075,3.900594,-0.000000,0.532615,3.900594,0.383306,0.866475,0.116933,1.028326,0.547175,0.116873,1.186586,0.547175,-1.163820,0.563901,0.855114,-1.163820,1.133791,0.479517,-3.432902,1.133791,0.448690,-3.432902,1.133791,0.444575,-3.432896,1.116468,0.444612,-3.660583,1.116471,0.479555,-3.660586,0.184121,0.209965,1.586857,0.178784,0.210703,2.605612,-0.000000,0.210703,2.605612,-0.000000,0.209965,1.586857,1.752969,0.650145,-1.863503,1.850876,0.618697,-1.861695,1.850839,0.618714,-2.429439,1.752663,0.649962,-2.429451,1.679093,1.045472,-1.163820,1.679093,1.045472,-1.818914,1.122566,1.246100,-1.818914,1.122566,1.246100,-1.163820,0.332384,0.228862,-3.295243,1.186586,0.363730,-3.295243,1.186586,0.363730,-2.767032,0.332384,0.228862,-2.425643,-0.000000,0.228862,-3.295243,-0.000000,0.228862,-2.423500,0.332384,0.228862,-3.607350,1.186586,0.363730,-4.180372,1.186586,0.448690,-4.180372,1.186586,0.547175,-4.180372,1.186586,0.547175,-3.295243,1.186586,0.448690,-3.295243,0.332384,0.855114,-3.607350,0.332384,0.855114,-3.295243,-0.000000,0.855114,-3.607350,-0.000000,0.855114,-3.295243,-0.000000,0.228862,-3.607350,1.824844,0.448690,-1.163820,1.576736,0.547175,-1.163820,1.186586,0.448690,-1.163820,1.186586,0.448690,-2.474013,1.824844,0.448690,-2.474013,1.824844,0.448690,-1.816466,1.186586,0.448690,-1.818914,0.841606,0.815869,-3.295243,1.576736,0.547175,-3.295243,1.824844,0.448690,-3.295243,1.870911,0.524538,1.542980,1.640712,0.616434,1.542980,1.576736,0.547175,1.542980,1.824844,0.448690,1.542980,1.579726,0.647052,-1.349825,0.862871,0.924584,-1.349825,0.894991,0.861327,-1.349825,1.554866,0.620140,-1.349825,2.617699,0.143833,-2.386005,2.663763,0.219680,-2.386005,2.663763,0.219680,-1.813250,2.617699,0.143833,-1.813428,0.862871,0.924584,-3.109236,1.579726,0.647052,-3.109236,1.554866,0.620140,-3.109236,0.894991,0.861327,-3.109236,1.640712,0.616434,-3.295243,1.870911,0.524538,-3.295243,-0.000000,1.001827,-3.295243,0.332384,1.001827,-3.295243,0.786508,0.924375,-3.295243,2.617699,0.143833,0.009110,2.663763,0.219680,0.009110,1.870911,0.524538,-1.816370,1.870911,0.524538,-2.474013,1.640712,0.616434,-1.163820,1.870911,0.524538,-1.163820,2.663763,0.219680,-1.163820,2.617699,0.143833,-1.163820,1.857536,0.864265,-2.429437,1.857536,0.864280,-1.863490,0.786508,0.924375,-1.163820,0.910616,1.173214,-1.163820,0.910616,1.173214,-1.818914,0.786508,0.924375,-1.818914,1.745208,1.100747,-2.429437,1.745208,1.100747,-1.863490,0.862871,0.924584,-1.163820,0.963899,1.127152,-1.163820,1.121934,1.181495,-1.163820,1.624911,1.000169,-1.163820,1.688830,0.865814,-1.163820,1.764821,0.865275,-1.163820,1.579726,0.647052,-1.163820,1.554866,0.620140,-1.163820,0.894991,0.861327,-3.295243,1.554866,0.620140,-3.295243,1.579726,0.647052,-3.295243,1.688830,0.865814,-3.295243,1.764821,0.865275,-3.295243,1.624911,1.000169,-3.295243,1.679093,1.045472,-3.295243,1.121934,1.181495,-3.295243,1.122566,1.246100,-3.295243,0.963899,1.127152,-3.295243,0.910616,1.173214,-3.295243,0.862871,0.924584,-3.295243,0.894991,0.861327,-1.163820,0.963899,1.127152,-1.349825,1.121934,1.181495,-1.349825,1.624911,1.000169,-1.349825,1.688830,0.865814,-1.349825,1.688830,0.865814,-3.109236,1.624911,1.000169,-3.109236,1.121934,1.181495,-3.109236,0.963899,1.127152,-3.109236,0.563901,0.928472,-1.818914,-0.000000,1.001827,-2.778860,0.563901,1.001827,-2.654188,0.841606,0.815869,-1.163820,0.372624,0.859980,0.243042,-0.000000,0.863232,0.242040,-0.000000,0.773652,1.460505,0.337899,0.773652,1.460540,1.012744,0.547175,0.242973,0.862276,0.547175,1.460612,0.493599,0.878250,-1.197991,0.496604,0.941845,-1.787361,0.304461,1.235332,-1.784240,0.304561,1.223019,-1.193559,0.304804,1.206520,-1.132167,0.335154,0.893610,-0.027693,0.491293,0.873314,-1.135012,0.386423,0.910429,-0.023402,0.356074,1.223339,-1.127875,0.337594,1.275817,-1.160365,0.372786,0.888399,0.120378,0.542563,0.890137,-1.130722,1.123341,1.324930,-1.863490,1.123341,1.324930,-2.429437,1.640712,0.616434,-1.818914,1.764821,0.865275,-1.818914,0.730064,1.008210,-1.863490,0.845804,1.229592,-1.863490,0.845804,1.229592,-2.429437,0.730064,1.008210,-2.429437,0.786508,0.924375,-2.474013,0.291291,1.244607,-1.784150,-0.000000,1.304967,-1.784150,-0.000000,1.304847,-1.193405,0.291291,1.228817,-1.193405,0.492386,0.947395,-1.853062,0.495673,1.010822,-2.602197,0.309331,1.182405,-2.454212,0.308279,1.237445,-1.850287,0.546771,0.961494,-1.785733,0.545223,0.894974,-1.196595,0.356214,1.239767,-1.193639,0.354666,1.255007,-1.784320,0.337594,1.291607,-1.817190,0.357553,1.205387,-2.454275,0.544406,1.032949,-2.600762,0.337594,1.240909,-2.474013,0.542853,0.966524,-1.851814,0.358766,1.256590,-1.850350,0.491106,1.035399,-2.636935,0.308141,1.207337,-2.491265,-0.000000,1.206342,-2.615932,-0.000000,1.239915,-2.598685,0.327256,0.886959,0.123653,-0.000000,0.886959,0.123653,0.292139,1.262654,-1.129227,0.291291,1.291607,-1.784150,0.291291,1.275817,-1.193405,-0.000000,1.351847,-1.193405,-0.000000,1.352427,-1.160365,0.291291,1.240909,-2.440972,0.291291,1.291607,-1.850227,-0.000000,1.351967,-1.850227,-0.000000,1.352427,-1.817190,0.491106,1.010857,-2.603295,0.308141,1.182794,-2.457625,-0.000000,1.181800,-2.582292,0.291291,1.193910,-2.440972,0.291291,1.244607,-1.850227,-0.000000,1.304967,-1.850227,0.327256,0.842665,0.090455,-0.000000,0.842665,0.090455,0.292139,1.218360,-1.142415,0.338041,0.594980,-2.014925,-0.000000,0.594980,-2.139598,1.028328,0.448690,0.116863,0.334434,0.594980,0.116732,0.338041,0.594980,-1.163820,0.188416,0.212922,0.116732,-0.000000,0.212922,0.116732,-0.000000,0.378120,-1.163820,0.192023,0.378120,-1.163820,-0.000000,0.446412,-1.640222,0.192023,0.446412,-1.515550,0.338041,0.594980,-1.818914,1.817746,0.419252,-1.810913,2.628999,0.116087,-1.807897,2.629091,0.116107,-1.169350,1.817746,0.419252,-1.169350,2.696364,0.229348,-1.807720,2.696393,0.229320,-1.169350,1.892225,0.548500,-1.810813,1.892225,0.548500,-1.169350,1.012744,0.448690,0.242985,0.862276,0.448690,1.460608,0.330646,0.594980,1.460475,0.334076,0.594980,0.243115,1.152851,0.448690,-4.157743,1.152851,0.518135,-4.157743,0.327291,0.815750,-3.603935,0.046651,0.815750,-3.607350,0.046651,0.594980,-3.607350,-0.000000,0.594980,-3.607350,0.046651,0.268230,-3.607350,0.330111,0.268230,-3.605828,1.152851,0.398128,-4.157743,1.152851,0.448690,-3.946171,1.152851,0.518135,-3.946171,0.327291,0.815750,-3.392365,0.046651,0.815750,-3.395782,0.046651,0.594980,-3.395782,0.046651,0.268230,-3.395782,0.330111,0.268230,-3.394258,1.152851,0.398128,-3.946171,1.150824,0.448690,-3.431580,1.150824,0.489095,-3.431580,0.493259,0.720095,-3.480123,0.278251,0.720137,-3.480125,0.278248,0.524220,-3.480125,0.278251,0.330592,-3.480125,0.494896,0.330597,-3.480123,1.150824,0.432527,-3.431580,0.476279,0.538785,-3.480125,0.476139,0.705532,-3.480123,0.493423,0.524220,-3.480125,0.295384,0.705567,-3.480125,0.295381,0.538785,-3.480125,0.476401,0.509655,-3.480125,0.295381,0.509655,-3.480125,0.295384,0.345160,-3.480125,0.477651,0.345162,-3.480123,0.476209,0.622157,-3.480123,0.453648,0.559628,-3.480123,0.453561,0.684692,-3.480123,0.385761,0.705550,-3.480123,0.317979,0.684715,-3.480123,0.295384,0.622176,-3.480125,0.317993,0.559633,-3.480125,0.385831,0.538785,-3.480125,0.385891,0.509655,-3.480125,0.453931,0.489092,-3.480123,0.318009,0.489092,-3.480125,0.295384,0.427408,-3.480125,0.318166,0.365722,-3.480123,0.386519,0.345162,-3.480123,0.454711,0.365725,-3.480123,0.477026,0.427410,-3.480123,0.453646,0.559625,-2.965962,0.476206,0.622155,-2.965962,0.453559,0.684689,-2.965962,0.385759,0.705547,-2.965962,0.317974,0.684712,-2.965962,0.295378,0.622174,-2.965962,0.317991,0.559630,-2.965962,0.385826,0.538783,-2.965962,0.453928,0.489095,-2.965962,0.385891,0.509655,-2.965962,0.318009,0.489092,-2.965962,0.295381,0.427408,-2.965962,0.318166,0.365722,-2.965962,0.386516,0.345162,-2.965962,0.454711,0.365725,-2.965962,0.477026,0.427410,-2.965962,0.510309,0.697936,-3.478802,0.510456,0.524273,-3.478802,0.511793,0.348187,-3.478802,0.524694,0.697974,-3.993559,0.524841,0.524310,-3.993559,0.526179,0.348225,-3.993559,1.106536,0.452631,-3.355652,0.536028,0.359473,-3.681330,0.534769,0.524340,-3.681315,0.534641,0.684124,-3.681327,1.106549,0.473037,-3.355672,1.106549,0.473037,-3.664254,0.534641,0.684124,-3.989909,0.534769,0.524340,-3.989900,0.536028,0.359473,-3.989912,1.106536,0.452631,-3.664234,1.668721,0.625543,-2.443482,1.844926,0.563078,-2.443482,1.640712,0.616434,-2.474013,1.844926,0.563078,-1.847330,1.668949,0.625537,-1.849447,1.794809,0.865062,-1.849447,1.700473,1.063349,-1.849447,1.122816,1.271595,-1.849447,0.889589,1.191392,-1.849447,0.775601,0.967819,-1.849447,0.775601,0.967819,-2.443482,0.889589,1.191392,-2.443482,0.910616,1.173214,-2.474013,1.764821,0.865275,-2.474013,1.794809,0.865062,-2.443482,1.741878,0.646112,-2.443492,1.864571,0.603129,-2.443482,1.864591,0.603121,-1.847330,1.742009,0.646312,-1.849455,1.845842,0.864284,-1.849447,1.736866,1.093776,-1.849447,1.123243,1.314987,-1.849447,0.853944,1.222452,-1.849447,0.732824,0.988886,-1.849447,0.732824,0.988886,-2.443482,0.853944,1.222452,-2.443482,1.123243,1.314987,-2.443482,1.122816,1.271595,-2.443482,1.736866,1.093776,-2.443482,1.700473,1.063349,-2.443482,1.845842,0.864269,-2.443482,-0.000000,0.217052,3.405804,0.172454,0.217052,3.405804,0.177938,0.210745,2.731995,0.324161,0.610497,2.732852,-0.000000,0.594980,-1.943590,0.326831,0.693709,2.732797,-0.000000,0.693707,2.732827,0.708226,0.448690,2.732749,0.708229,0.514396,2.732720,0.077046,0.043077,2.994906,0.073681,0.043070,3.156672,-0.000000,0.000232,3.156672,-0.000000,0.000240,2.994910,-0.000000,0.210745,2.731995,0.361276,0.541120,1.586840,0.708981,0.443832,1.586758,0.263014,0.283182,1.586845,0.264006,0.278155,0.243105,0.366184,0.545502,0.243105,0.841088,0.443135,0.243015,0.599806,0.441197,2.606482,0.354641,0.513125,2.606407,0.264746,0.294678,2.605867,0.722021,0.443927,1.460577,0.361921,0.543017,1.460487,0.263016,0.282215,1.460487,-0.000000,1.010857,-2.727962,-0.000000,1.192922,-2.564700,-0.000000,1.294392,-1.142415,-0.000000,1.035399,-2.761605,-0.000000,1.338687,-1.129227,-0.000000,1.351967,-1.784150,-0.000000,1.239922,-2.564700,-0.000000,0.251432,3.173012,0.129184,0.251432,3.173012,0.134164,0.245707,2.763047,-0.000000,0.245707,2.763047,-0.000000,0.251103,3.149415,0.096394,0.251103,3.149415,0.100801,0.246037,2.987649,-0.000000,0.246037,2.987652,-0.000000,0.170707,3.153682,0.096394,0.170707,3.153682,0.100801,0.170712,2.991920,-0.000000,0.170712,2.991920,0.096394,0.102982,3.155177,0.100801,0.102990,2.993414,0.100801,0.103022,2.848467,-0.000000,0.103022,2.848470,-0.000000,0.170747,2.846974,0.100801,0.170747,2.846974,0.077046,0.043112,2.849962,-0.000000,0.000272,2.849962,0.037013,0.072795,3.678885,-0.000000,0.051375,3.678885,-0.000000,0.000000,3.678949,0.073681,0.042840,3.678949,-0.000000,0.170788,3.298630,0.096394,0.170788,3.298630,0.096394,0.103143,3.612432,0.073681,0.043232,3.612184,-0.000000,0.000392,3.612184,0.096394,0.102750,3.678820,0.070081,0.104671,3.947032,0.053591,0.061172,3.947127,0.053591,0.061458,3.860502,0.070081,0.104955,3.860682,-0.000000,0.030070,3.947127,-0.000000,0.030355,3.860502,-0.000000,0.179267,3.860822,-0.000000,0.179200,3.947129,0.056391,0.151800,3.947129,0.056391,0.151868,3.860822,0.056391,0.152100,3.680022,-0.000000,0.179500,3.680022,0.070081,0.105187,3.679879,0.056391,0.152330,3.611874,-0.000000,0.179732,3.611874,0.070081,0.105420,3.611734,0.053591,0.061167,4.028942,-0.000000,0.030065,3.972210,0.070081,0.104667,4.108294,0.056391,0.151797,4.180252,-0.000000,0.179197,4.180252,0.039141,0.070320,4.043892,-0.000000,0.047657,4.003679,0.052361,0.105192,4.108284,0.041579,0.142313,4.180234,-0.000000,0.162470,4.180221,0.024021,0.079900,4.060734,-0.000000,0.066070,4.039790,0.033818,0.105742,4.108590,0.026079,0.132390,4.160979,-0.000000,0.144970,4.180372,0.024021,0.079955,3.690960,-0.000000,0.066125,3.690927,0.033818,0.105800,3.690882,0.026079,0.132445,3.690964,-0.000000,0.145027,3.690937,2.690881,0.227720,-1.813250,2.627071,0.120752,-1.813428,1.882746,0.546785,-1.816370,1.882746,0.546785,-1.163820,2.690891,0.227700,-1.163820,2.627131,0.120770,-1.163820,1.813008,0.426442,-1.163820,1.813008,0.426442,-1.816466,1.122566,1.246100,-2.474013,1.679093,1.045472,-2.474013,-0.318471,0.581075,3.900594,-0.576228,0.484810,3.900594,-0.576228,0.448690,3.900594,-0.318471,0.532615,3.900594,-0.188061,0.212922,0.243115,-0.184631,0.209948,1.460475,-0.327768,0.700922,2.606555,-0.335613,0.766665,1.586782,-0.723013,0.448690,2.606610,-0.723009,0.517709,2.606642,-0.846834,0.545460,1.586698,-0.846828,0.448690,1.586728,-0.324801,0.613817,2.606489,-0.330139,0.593260,1.586847,-1.186588,0.547175,-1.163820,-1.028328,0.547175,0.116873,-0.383306,0.866475,0.116933,-0.563901,0.855114,-1.163820,-1.133793,0.479517,-3.432902,-1.116471,0.444612,-3.660583,-1.133793,0.444575,-3.432896,-1.133793,0.448690,-3.432902,-1.116471,0.479555,-3.660586,-0.178783,0.210703,2.605612,-0.184123,0.209965,1.586857,-1.850838,0.618714,-2.429439,-1.850875,0.618697,-1.861695,-1.752968,0.650145,-1.863503,-1.752663,0.649962,-2.429451,-1.122568,1.246100,-1.818914,-1.679093,1.045472,-1.818914,-1.679093,1.045472,-1.163820,-1.122568,1.246100,-1.163820,-1.186588,0.363730,-2.767032,-1.186588,0.363730,-3.295243,-0.332384,0.228862,-3.295243,-0.332384,0.228862,-2.425643,-1.186588,0.363730,-4.180372,-0.332384,0.228862,-3.607350,-1.186588,0.547175,-3.295243,-1.186588,0.547175,-4.180372,-1.186588,0.448690,-4.180372,-1.186588,0.448690,-3.295243,-0.332384,0.855114,-3.295243,-0.332384,0.855114,-3.607350,-1.576736,0.547175,-1.163820,-1.824845,0.448690,-1.163820,-1.186588,0.448690,-1.163820,-1.824845,0.448690,-1.816466,-1.824845,0.448690,-2.474013,-1.186588,0.448690,-2.474013,-1.186588,0.448690,-1.818914,-1.576736,0.547175,-3.295243,-0.841606,0.815869,-3.295243,-1.824845,0.448690,-3.295243,-1.576736,0.547175,1.542980,-1.640713,0.616434,1.542980,-1.870911,0.524538,1.542980,-1.824845,0.448690,1.542980,-0.894994,0.861327,-1.349825,-0.862871,0.924584,-1.349825,-1.579725,0.647052,-1.349825,-1.554866,0.620140,-1.349825,-2.663766,0.219680,-1.813250,-2.663766,0.219680,-2.386005,-2.617698,0.143833,-2.386005,-2.617698,0.143833,-1.813428,-1.554866,0.620140,-3.109236,-1.579725,0.647052,-3.109236,-0.862871,0.924584,-3.109236,-0.894994,0.861327,-3.109236,-1.870911,0.524538,-3.295243,-1.640713,0.616434,-3.295243,-0.332384,1.001827,-3.295243,-0.786508,0.924375,-3.295243,-2.663766,0.219680,0.009110,-2.617698,0.143833,0.009110,-1.870911,0.524538,-1.816370,-1.870911,0.524538,-2.474013,-1.640713,0.616434,-1.163820,-1.870911,0.524538,-1.163820,-2.663766,0.219680,-1.163820,-2.617698,0.143833,-1.163820,-1.857538,0.864280,-1.863490,-1.857538,0.864265,-2.429437,-0.910616,1.173214,-1.818914,-0.910616,1.173214,-1.163820,-0.786508,0.924375,-1.163820,-0.786508,0.924375,-1.818914,-1.745209,1.100747,-1.863490,-1.745209,1.100747,-2.429437,-0.963901,1.127152,-1.163820,-0.862871,0.924584,-1.163820,-1.121933,1.181495,-1.163820,-1.624913,1.000169,-1.163820,-1.764821,0.865275,-1.163820,-1.688833,0.865814,-1.163820,-1.579725,0.647052,-1.163820,-1.554866,0.620140,-1.163820,-1.554866,0.620140,-3.295243,-0.894994,0.861327,-3.295243,-1.579725,0.647052,-3.295243,-1.764821,0.865275,-3.295243,-1.688833,0.865814,-3.295243,-1.679093,1.045472,-3.295243,-1.624913,1.000169,-3.295243,-1.122568,1.246100,-3.295243,-1.121933,1.181495,-3.295243,-0.910616,1.173214,-3.295243,-0.963901,1.127152,-3.295243,-0.862871,0.924584,-3.295243,-0.894994,0.861327,-1.163820,-0.963901,1.127152,-1.349825,-1.121933,1.181495,-1.349825,-1.624913,1.000169,-1.349825,-1.688833,0.865814,-1.349825,-1.688833,0.865814,-3.109236,-1.624913,1.000169,-3.109236,-1.121933,1.181495,-3.109236,-0.963901,1.127152,-3.109236,-0.563901,0.928472,-1.818914,-0.563901,1.001827,-2.654188,-0.841606,0.815869,-1.163820,-0.372623,0.859980,0.243042,-0.337899,0.773652,1.460540,-1.012745,0.547175,0.242973,-0.862276,0.547175,1.460612,-0.304463,1.235332,-1.784240,-0.496604,0.941845,-1.787361,-0.493599,0.878250,-1.197991,-0.304561,1.223019,-1.193559,-0.335156,0.893610,-0.027693,-0.304806,1.206520,-1.132167,-0.491296,0.873314,-1.135012,-0.372789,0.888399,0.120378,-0.337596,1.275817,-1.160365,-0.386423,0.910429,-0.023402,-0.356074,1.223339,-1.127875,-0.542563,0.890137,-1.130722,-1.123343,1.324930,-1.863490,-1.123343,1.324930,-2.429437,-1.764821,0.865275,-1.818914,-1.640713,0.616434,-1.818914,-0.845803,1.229592,-2.429437,-0.845803,1.229592,-1.863490,-0.730064,1.008210,-1.863490,-0.730064,1.008210,-2.429437,-0.786508,0.924375,-2.474013,-0.291291,1.244607,-1.784150,-0.291291,1.228817,-1.193405,-0.309334,1.182405,-2.454212,-0.495676,1.010822,-2.602197,-0.492388,0.947395,-1.853062,-0.308278,1.237445,-1.850287,-0.545226,0.894974,-1.196595,-0.546771,0.961494,-1.785733,-0.356214,1.239767,-1.193639,-0.337596,1.291607,-1.817190,-0.354669,1.255007,-1.784320,-0.544406,1.032949,-2.600762,-0.357556,1.205387,-2.454275,-0.337596,1.240909,-2.474013,-0.542854,0.966524,-1.851814,-0.358766,1.256590,-1.850350,-0.308141,1.207337,-2.491265,-0.491109,1.035399,-2.636935,-0.327259,0.886959,0.123653,-0.292141,1.262654,-1.129227,-0.291291,1.275817,-1.193405,-0.291291,1.291607,-1.784150,-0.291291,1.291607,-1.850227,-0.291291,1.240909,-2.440972,-0.308141,1.182794,-2.457625,-0.491109,1.010857,-2.603295,-0.291291,1.244607,-1.850227,-0.291291,1.193910,-2.440972,-0.327259,0.842665,0.090455,-0.292138,1.218360,-1.142415,-0.338041,0.594980,-2.014925,-0.334434,0.594980,0.116732,-1.028328,0.448690,0.116863,-0.338041,0.594980,-1.163820,-0.188415,0.212922,0.116732,-0.192024,0.378120,-1.163820,-0.192024,0.446412,-1.515550,-0.338041,0.594980,-1.818914,-2.629091,0.116107,-1.169350,-2.628999,0.116087,-1.807897,-1.817746,0.419252,-1.810913,-1.817746,0.419252,-1.169350,-2.696393,0.229320,-1.169350,-2.696363,0.229348,-1.807720,-1.892228,0.548500,-1.169350,-1.892226,0.548500,-1.810813,-0.330648,0.594980,1.460475,-0.862278,0.448690,1.460608,-1.012743,0.448690,0.242985,-0.334078,0.594980,0.243115,-1.152853,0.518135,-4.157743,-1.152853,0.448690,-4.157743,-0.327291,0.815750,-3.603935,-0.046651,0.815750,-3.607350,-0.046651,0.594980,-3.607350,-0.046651,0.268230,-3.607350,-0.330111,0.268230,-3.605828,-1.152853,0.398128,-4.157743,-1.152853,0.518135,-3.946171,-1.152853,0.448690,-3.946171,-0.327291,0.815750,-3.392365,-0.046651,0.815750,-3.395782,-0.046651,0.594980,-3.395782,-0.046651,0.268230,-3.395782,-0.330111,0.268230,-3.394258,-1.152853,0.398128,-3.946171,-1.150826,0.489095,-3.431580,-1.150826,0.448690,-3.431580,-0.493258,0.720095,-3.480123,-0.278253,0.720137,-3.480125,-0.278251,0.524220,-3.480125,-0.278251,0.330592,-3.480125,-0.494896,0.330597,-3.480123,-1.150826,0.432527,-3.431580,-0.476138,0.705532,-3.480123,-0.476281,0.538785,-3.480125,-0.493426,0.524220,-3.480125,-0.295386,0.705567,-3.480125,-0.295384,0.538785,-3.480125,-0.295384,0.509655,-3.480125,-0.476404,0.509655,-3.480125,-0.295384,0.345160,-3.480125,-0.477653,0.345162,-3.480123,-0.476211,0.622157,-3.480123,-0.453651,0.559628,-3.480123,-0.453564,0.684692,-3.480123,-0.385761,0.705550,-3.480123,-0.317979,0.684715,-3.480123,-0.295384,0.622176,-3.480125,-0.317996,0.559633,-3.480125,-0.385831,0.538785,-3.480125,-0.385893,0.509655,-3.480125,-0.453931,0.489092,-3.480123,-0.318011,0.489092,-3.480125,-0.295384,0.427408,-3.480125,-0.318166,0.365722,-3.480123,-0.386518,0.345162,-3.480123,-0.454714,0.365725,-3.480123,-0.477029,0.427410,-3.480123,-0.476206,0.622155,-2.965962,-0.453646,0.559625,-2.965962,-0.453558,0.684689,-2.965962,-0.385758,0.705547,-2.965962,-0.317976,0.684712,-2.965962,-0.295381,0.622174,-2.965962,-0.317991,0.559630,-2.965962,-0.385829,0.538783,-2.965962,-0.385891,0.509655,-2.965962,-0.453931,0.489095,-2.965962,-0.318009,0.489092,-2.965962,-0.295381,0.427408,-2.965962,-0.318166,0.365722,-2.965962,-0.386516,0.345162,-2.965962,-0.454711,0.365725,-2.965962,-0.477026,0.427410,-2.965962,-0.510309,0.697936,-3.478802,-0.510456,0.524273,-3.478802,-0.511793,0.348187,-3.478802,-0.524696,0.697974,-3.993559,-0.524841,0.524310,-3.993559,-0.526181,0.348225,-3.993559,-1.106536,0.452631,-3.355652,-0.534641,0.684124,-3.681327,-0.534769,0.524340,-3.681315,-0.536031,0.359473,-3.681330,-1.106551,0.473037,-3.355672,-0.534641,0.684124,-3.989909,-1.106551,0.473037,-3.664254,-0.534769,0.524340,-3.989900,-0.536031,0.359473,-3.989912,-1.106536,0.452631,-3.664234,-1.844927,0.563078,-2.443482,-1.668724,0.625543,-2.443482,-1.640713,0.616434,-2.474013,-1.844926,0.563078,-1.847330,-1.668949,0.625537,-1.849447,-1.794809,0.865062,-1.849447,-1.700476,1.063349,-1.849447,-1.122818,1.271595,-1.849447,-0.889588,1.191392,-1.849447,-0.775603,0.967819,-1.849447,-0.775603,0.967819,-2.443482,-0.910616,1.173214,-2.474013,-0.889588,1.191392,-2.443482,-1.764821,0.865275,-2.474013,-1.794809,0.865062,-2.443482,-1.864571,0.603129,-2.443482,-1.741881,0.646112,-2.443492,-1.864590,0.603121,-1.847330,-1.742008,0.646312,-1.849455,-1.845843,0.864284,-1.849447,-1.736866,1.093776,-1.849447,-1.123244,1.314987,-1.849447,-0.853946,1.222452,-1.849447,-0.732826,0.988886,-1.849447,-0.732826,0.988886,-2.443482,-0.853946,1.222452,-2.443482,-1.122818,1.271595,-2.443482,-1.123244,1.314987,-2.443482,-1.700476,1.063349,-2.443482,-1.736866,1.093776,-2.443482,-1.845840,0.864269,-2.443482,-0.172454,0.217052,3.405804,-0.324161,0.610497,2.732852,-0.177939,0.210745,2.731995,-0.326831,0.693709,2.732797,-0.708231,0.514396,2.732720,-0.708229,0.448690,2.732749,-0.073681,0.043070,3.156672,-0.077046,0.043077,2.994906,-0.708981,0.443832,1.586758,-0.361279,0.541120,1.586840,-0.263016,0.283182,1.586845,-0.366183,0.545502,0.243105,-0.264008,0.278155,0.243105,-0.841088,0.443135,0.243015,-0.354644,0.513125,2.606407,-0.599806,0.441197,2.606482,-0.264746,0.294678,2.605867,-0.361921,0.543017,1.460487,-0.722021,0.443927,1.460577,-0.263016,0.282215,1.460487,-0.129186,0.251432,3.173012,-0.134166,0.245707,2.763047,-0.096395,0.251103,3.149415,-0.100803,0.246037,2.987652,-0.096395,0.170707,3.153682,-0.100803,0.170712,2.991920,-0.100803,0.102990,2.993414,-0.096395,0.102982,3.155177,-0.100803,0.103022,2.848467,-0.100803,0.170747,2.846974,-0.077046,0.043112,2.849962,-0.037013,0.072795,3.678885,-0.073681,0.042840,3.678949,-0.096395,0.170788,3.298630,-0.096395,0.103143,3.612432,-0.073681,0.043232,3.612184,-0.096395,0.102750,3.678820,-0.053591,0.061458,3.860502,-0.053591,0.061172,3.947127,-0.070083,0.104671,3.947032,-0.070083,0.104955,3.860682,-0.056390,0.151800,3.947129,-0.056390,0.151868,3.860822,-0.056390,0.152100,3.680022,-0.070083,0.105187,3.679879,-0.056390,0.152330,3.611874,-0.070083,0.105420,3.611734,-0.053591,0.061167,4.028942,-0.070083,0.104667,4.108294,-0.056390,0.151797,4.180252,-0.039141,0.070320,4.043892,-0.052363,0.105192,4.108284,-0.041578,0.142313,4.180234,-0.024021,0.079900,4.060734,-0.033821,0.105742,4.108590,-0.026078,0.132390,4.160979,-0.024021,0.079955,3.690960,-0.033821,0.105800,3.690882,-0.026078,0.132445,3.690964,-2.627073,0.120752,-1.813428,-2.690883,0.227720,-1.813250,-1.882746,0.546785,-1.816370,-1.882746,0.546785,-1.163820,-2.690891,0.227700,-1.163820,-2.627133,0.120770,-1.163820,-1.813010,0.426442,-1.163820,-1.813010,0.426442,-1.816466,-1.122568,1.246100,-2.474013,-1.679093,1.045472,-2.474013], - - "morphTargets": [], - - "morphColors": [], - - "normals": [0,0,1,0,-1,-0.002443,-0,0.99821,0.059795,-0,0.99816,0.06069,1e-06,0.99816,0.060704,-3e-06,0.99821,0.05976,0.99271,-1.7e-05,0.12052,0.99271,1.2e-05,0.12052,-0.38262,-0.92274,-0.046452,-0.2694,-0.96286,0.018002,0.4404,0.89521,0.068128,0.44298,0.89486,0.05474,0.44275,0.89499,0.054563,0.12911,0.99073,0.042295,-1,0,-0,0.99712,-1.3e-05,-0.075864,0.99712,-8.6e-05,-0.075852,0.41792,0.90617,0.064809,0.41939,0.90476,0.074313,0.39892,0.91483,0.062912,0.39641,0.91611,0.059981,0,-1,0.000724,0.30582,0.95209,9e-06,0.3033,0.9529,-0.000471,0.33914,0.94074,-0,0.15596,-0.98776,-0,0,-1,-0,1,0,-0,0,1,-0,0,0,-1,0.85472,-0.51909,-0,-0.35889,-0.93338,-0,0.7505,-0.4558,0.47852,0.75049,-0.45582,0.47852,0.36484,0.93107,-0,0.35889,0.93338,-0,0.36285,0.93185,-0,0.62921,-0.38214,-0.6768,0.62921,-0.38216,-0.6768,-0.36894,-0.92945,-0,-0.73457,0.67853,-0,0.37075,0.92873,-0,0.36787,0.92988,-0,0.36681,0.9303,-0,0.89821,-0.43956,1.2e-05,0.89858,-0.4388,-0.000344,-0.89487,0.44632,-0,0.90327,0.42907,-0,0.90328,0.42905,-1.1e-05,-0.32519,0.94565,-0,0.34329,0.93923,-0,0.89164,0.45274,-0,0.89488,-0.44631,-0,0.32518,-0.94565,-0,-0.33914,-0.94074,-0,-0.90301,-0.42961,-0,-0.89488,0.44631,-0,-0.73455,0.67856,-0,-0.90301,-0.42961,-0,-0.29709,0.95485,-0,-0.015882,0.9989,0.044193,0.045259,0.99687,0.064763,0.004924,0.98912,0.14705,-0,0.99047,0.13776,0,0.998,0.063239,-7e-06,0.99801,0.06311,0.43484,0.89832,0.062678,0.43766,0.89561,0.079536,0.40331,0.91321,0.058198,0.3959,0.91667,0.054523,0.86341,0.5037,0.028247,0.83528,0.54618,0.063193,0.85172,0.52221,0.043294,0.87686,0.48065,0.00987,0.8674,0.4845,0.11343,0.92337,0.37528,0.080948,0.76247,0.62482,0.16805,0.87186,0.48758,0.046156,0.85297,0.45676,0.2526,0.89487,-0.44632,-0,-0.8862,0.46331,-0,0.90302,0.4296,-0,-0.32488,0.94576,-0,0.24941,0.96793,0.030243,0.39514,0.91365,-0.095445,0.21783,0.97596,0.007891,-0,1,0.000204,-0,0.99982,0.018784,0.25246,0.96726,0.025855,0.81109,0.58463,-0.018432,0.70268,0.70871,0.063088,0.74143,0.67005,0.036174,0.84313,0.53562,-0.047346,0.8863,0.45992,0.054259,0.90531,0.42212,0.04727,0.87637,0.48067,-0.030362,0.87855,0.47199,0.073356,0.9032,0.42913,0.008706,0.89248,0.45096,0.010841,0.83113,0.54452,-0.11284,0.83992,0.52275,0.14582,0.52534,0.80455,-0.27698,0.78758,0.57111,0.2314,0.85614,0.51456,0.047412,0.87753,0.47768,0.04195,0.84395,0.53574,-0.026894,0.84685,0.52744,0.068251,0.88077,0.47169,-0.04176,0.83682,0.54586,-0.042133,-0.14157,0.54788,-0.82449,0.14156,0.67775,-0.72153,0.37061,0.1462,-0.91721,0.31092,0.43431,-0.8454,-0.001979,0.97583,0.21852,-0.014575,0.9741,0.22566,0,0.9805,0.19651,-0.009613,0.95774,0.28746,-0.0771,0.95373,0.29062,-0.019063,0.99946,0.026715,0.017147,0.99956,0.02403,0.23808,0.91214,-0.33364,0.22127,0.97506,-0.017126,0.060896,0.99449,-0.085347,-0.054833,0.99553,-0.076842,0.19517,0.94185,-0.27353,0.17729,0.98406,-0.013695,-0.77552,-0.51001,-0.3721,-0.77552,-0.51002,-0.37208,0.23434,-0.78536,-0.57296,0.23435,-0.78535,-0.57298,0,0.59973,-0.8002,-0.99958,-0.017372,0.023179,-0.99964,-0.007658,0.025723,-0.3091,0.94571,0.10047,-0.36566,0.92498,0.10348,-0.004849,0.010195,-0.99994,0.020599,0.019862,-0.99959,0.36477,-0.93089,-0.019466,0.30829,-0.95095,-0.025343,-0.022513,-0.02537,0.99943,0.002771,-0.003,0.99999,-0.30656,0.94992,-0.060637,-0.3066,0.9499,-0.060641,0.32052,-0.90903,-0.26634,0.32051,-0.90903,-0.26635,-0.068093,-0.04662,0.99659,-0.068131,-0.046648,0.99659,0.20371,-0.50312,0.83986,0.22764,-0.4753,0.84987,-0.35506,0.93164,0.077322,-0.41406,0.90677,0.079563,-0.003929,0.007073,-0.99997,0.018382,0.016712,-0.99969,0.42885,-0.89958,0.082732,0.35356,-0.93213,0.078318,0.25429,-0.92887,0.26932,0.22423,-0.729,0.64675,0.004289,-0.7465,0.66538,-0.27981,-0.58831,0.75868,-0.20622,-0.97817,-0.025483,-0.16989,-0.98546,-0.000479,0,-0.99178,-0.12795,0.12281,-0.97424,-0.18916,0,-0.98988,-0.1419,-0.16989,-0.98546,-0,-0.35006,-0.93673,8e-05,-0.35,-0.93675,-0,0.85947,-0.51119,-6.2e-05,0.85958,-0.511,-0.000109,0.36889,0.92947,-0,0.36891,0.92946,2.3e-05,-0.26516,-0.96365,-0.032767,-0.21071,-0.97755,-0.000594,0.99245,1.3e-05,0.12264,0.99245,0,0.12264,0.99245,1.5e-05,0.12264,0.99245,-5e-06,0.12264,-0.55707,0,-0.83047,-0.55708,3.2e-05,-0.83046,-0.55708,2.4e-05,-0.83046,0.012166,0.014418,-0.99982,0,-0.086426,-0.99626,0.005367,0.038952,-0.99923,-0.55709,-2.4e-05,-0.83045,-0.55709,-4.5e-05,-0.83046,-0.33914,-0.94074,-0,-0.33914,-0.94074,-0,-0.15595,0.98777,-0,-0.99999,0,-0.00394,-0.37038,-0.92732,-0.053791,0.33448,0.88284,-0.32972,0.000136,0.66171,-0.74976,0.008878,0.68433,-0.72912,-0.34219,5e-06,-0.93963,-0.34219,0,-0.93963,-0.34219,-5e-06,-0.93963,-0.34219,0,-0.93963,2.3e-05,-0.80912,-0.58765,0.003168,-0.80821,-0.58889,-0.19876,0.97781,-0.066149,0.16902,-0.9229,-0.34597,-1e-05,1.1e-05,-1,8e-06,1e-05,-1,1.1e-05,1.2e-05,-1,9e-06,-1e-05,-1,1e-05,1.2e-05,-1,1e-05,-1.2e-05,-1,-8e-06,-1e-05,-1,-0.99247,-0.000836,0.12249,-6.3e-05,2.3e-05,-1,-0.000178,-0.89447,0.44712,2.1e-05,-6.9e-05,-1,8.4e-05,0,-1,0,0,-0,0,9.2e-05,-1,0,-9.3e-05,-1,0,0.68966,-0.72414,2.1e-05,7e-05,-1,-0.93932,-0.007141,-0.34296,-6.3e-05,-2.4e-05,-1,-0.94065,0.33937,-4e-06,-0.94065,0.33939,-2e-06,-0.94024,-0.34051,-5e-06,-0.94024,-0.34052,-6e-06,-0.29403,-0.9558,-7e-06,-0.29404,-0.95579,-6e-06,0.2938,-0.95587,-2e-06,0.29381,-0.95586,-4e-06,0.94049,-0.33981,9e-06,0.9405,-0.33979,7e-06,0.94042,0.34001,5e-06,0.94044,0.33997,1.1e-05,0.29377,0.95588,7e-06,0.29376,0.95588,6e-06,-0.29376,0.95588,3e-06,-0.29377,0.95588,2e-06,-0.28927,-0.95725,-0,-0.2893,-0.95724,4e-06,0.28991,-0.95705,-0,0.93883,-0.34439,5e-06,0.93884,-0.34436,-0,0.93805,0.3465,-0,0.93807,0.34646,5e-06,0.28806,0.95761,2e-06,0.28805,0.95762,-0,-0.28869,0.95742,-0,-0.2887,0.95742,-2e-06,-0.94036,0.34018,-0,-0.9365,-0.35067,-3e-06,-0.93651,-0.35065,-0,0.077417,0,-0.997,0.072005,-0.004057,-0.9974,0.075081,0.004177,-0.99717,0.077436,6.6e-05,-0.997,0.077344,7.5e-05,-0.997,0.077336,0.000587,-0.99701,0.077434,0.000579,-0.997,0.074225,-0.004034,-0.99723,0.073078,0.004701,-0.99731,0.077417,-0.001479,-0.997,0.077062,0,-0.99703,0.34148,0.93984,0.009613,0.33216,0.94289,-0.025113,-0.99961,-0.000848,-0.027934,-0.99958,-0.007595,-0.027935,-0.99958,-0.007591,-0.027934,0.16826,-0.98566,-0.012963,0.15283,-0.98824,0.004198,0.49528,0.003863,-0.86872,0.49495,0.000329,-0.86892,0.49451,-0.001126,-0.86917,0.53318,0.16424,-0.8299,0.43621,-0.16631,-0.88434,0.34583,0.000222,-0.9383,0.34482,0.000292,-0.93867,0.34457,0.002698,-0.93876,0.34582,0.002628,-0.9383,0.46503,0.18138,-0.86651,0.50498,-0.16763,-0.84669,0.34744,-0.001138,-0.9377,0.34501,-0.00012,-0.9386,-0.34626,-0.93814,-0,1,0.000798,-0,0.99997,0.007641,-0,-0.16115,0.98693,-0,-1,0.000603,-0,0.24769,0.69869,-0.67118,0.31549,0.79031,-0.52524,0.82914,0.55904,-0,0.28329,0.81528,0.50505,0.27547,0.70805,0.65021,0.66697,-0.35047,0.65751,0.735,-0.36658,0.57044,0.67661,0.3219,0.66225,0.6766,0.32188,0.66227,0.26634,0.7388,0.61907,0.26634,0.7388,0.61906,-0.25555,0.74314,0.61841,-0.25555,0.74313,0.61842,-0.64122,0.32693,0.69423,-0.67113,0.33472,0.66147,-0.9699,-0.2435,-0,-0.9699,-0.2435,-0,-0.66747,0.34031,-0.66233,-0.64723,0.32281,-0.69057,0.7373,-0.36773,-0.56671,0.6668,-0.35102,-0.6574,6.4e-05,-3.1e-05,-1,-7e-05,-0.000197,-1,0.8976,-0.44082,-3.7e-05,0.89782,-0.44037,-0,-0.00768,0.027395,0.9996,-0.010246,0.005032,0.99994,-1e-06,-3.6e-05,1,0.000129,-6.8e-05,1,-0.44181,-0.89711,-0,-0.000158,0.000117,-1,0.24144,0.75835,-0.60549,0.29424,0.83979,-0.45627,0.75051,0.66086,-2.9e-05,0.75028,0.66112,-1.7e-05,0.26693,0.85642,0.44191,0.26064,0.76849,0.58437,0.71939,-0.35133,0.59921,0.77856,-0.37089,0.50625,0.72276,0.34333,0.59978,0.72193,0.34281,0.60108,0.28195,0.7821,0.55572,-0.27,0.78601,0.55614,-0.2703,0.78664,0.5551,-0.68805,0.35972,0.63023,-0.71066,0.36852,0.5993,-0.98995,-0.14141,-0,-0.70926,0.37081,-0.59954,-0.69057,0.35811,-0.62839,-0.27025,0.7867,-0.55503,-0.27009,0.78602,-0.55609,0.28196,0.78214,-0.55565,0.72195,0.34292,-0.60099,0.72288,0.34324,-0.59969,0.78055,-0.38194,-0.49483,0.72158,-0.34385,-0.60091,0.9341,-0.357,0.001758,0.93502,-0.35459,0.002634,0.82748,-0.55717,-0.069547,0.9341,-0.357,0.002631,0,-0.84312,0.53772,0.939,-0.34343,-0.018327,0.90056,-0.43457,0.011398,0.51627,-0.84072,-0.16323,0.82949,-0.55852,-0,0.27458,-0.86357,-0.42291,0.14023,-0.9142,-0.38022,2e-06,0.99707,0.076446,-0,0.99707,0.076542,0,0.99538,0.096005,0.99367,9e-06,0.11231,0.99367,0,0.11231,-0.3094,-0.95029,-0.034971,-0.38749,-0.9197,-0.063229,0.41677,0.90571,0.077391,0.42438,0.90261,0.072092,0.36566,0.92818,0.06904,0.34917,0.93493,0.06315,0.50259,-0.86446,0.010413,0.48594,-0.87399,-4.2e-05,0.9402,-0.34058,0.005173,0.93442,-0.35597,0.012068,0.90317,0.41795,0.098029,0,-1,0.000134,0.99258,-5e-06,0.12157,0.99258,1.2e-05,0.12158,0.99245,1.5e-05,0.12263,0.99245,1.3e-05,0.12263,0.9932,1.1e-05,0.11643,0.9932,-1.5e-05,0.11642,0,-1,0.000332,0.33862,-0.94001,0.041474,0.33229,-0.94318,0.001467,0.40886,-0.91134,0.047924,0.40065,-0.91622,0.002985,0.27472,-0.96092,0.033946,0.27026,-0.96279,0.000764,-0.000551,-0.001942,1,0.000174,-6.6e-05,-1,0.000218,-6.5e-05,1,0.000229,-8e-06,1,0.000223,-7.3e-05,1,0.000218,-6.3e-05,1,0.000169,-4.4e-05,1,0.000202,-5.1e-05,1,0.000206,-7.9e-05,1,0.000175,-6.5e-05,1,0.00017,-0.000102,1,0.000165,-3.1e-05,1,0.000175,-6.1e-05,1,0.000596,0.000991,-1,0.000942,0.001543,-1,0.000927,0.002091,-1,0.002067,0.001427,-1,0.000907,0.002122,-1,0.000912,0.002105,-1,0.000222,-0.000101,-1,0.000239,-9.1e-05,-1,0.000221,-7.2e-05,-1,0.000221,-7.1e-05,-1,0,0.69168,-0.72221,0.2401,0.76346,-0.59956,0.2204,0.71476,-0.66373,0,0.6486,-0.76113,-0,0.9941,-0.1085,-0,0.98793,-0.15493,0.16041,0.97762,-0.13612,0.032923,0.9958,-0.085459,-0,0.9555,0.29499,0,0.93896,0.34404,0.035083,0.94135,0.3356,0.24205,0.93003,0.27652,0.17125,0.71803,-0.67462,0.19294,0.44854,-0.87269,0.19891,0.76427,0.61345,0.20328,0.89579,0.39528,0.19517,0.94186,0.27351,0.17729,0.98406,0.013694,-0.002125,0.99999,-0.002977,-0.002865,1,-0.000222,-0.14796,0.79899,0.58286,-0.14797,0.79897,0.58289,-0.39095,0,0.92041,-0.074061,-0.28456,0.95579,-0.074062,-0.28457,0.95579,0,-0.98927,-0.1461,-0.62261,-0.78252,0.003364,-0.62917,-0.77727,0.002155,0,-0.66406,0.74768,0,-0.9999,0.013972,0.23874,-0.97038,0.036889,6e-06,-0.9999,0.013963,0,-1,0.001469,0,0.053009,0.99859,0.99963,0.001544,0.027234,0.99963,0.001443,0.027188,0,-0.056564,-0.9984,-2.8e-05,-0.056602,-0.9984,0.99963,0.000601,0.027234,-3e-05,-0.022077,-0.99976,0,-0.022032,-0.99976,0.92959,-0.3681,0.019317,0.93497,-0.35381,0.025456,0.008076,-0.014524,-0.99986,-0.000726,0.001255,1,-0.000731,0.001257,1,-3e-05,-0.024944,-0.99969,0,1,-0.000556,0.93506,-0.35449,0.000127,0.93507,-0.35447,0.000125,0.50264,-0.8645,0.000304,0.50262,-0.86451,0.000309,0,1,0.000241,0.48596,-0.87398,-0.000211,0.48594,-0.87399,-0.000194,0.92959,-0.3686,-8.3e-05,0.92959,-0.36858,-8.9e-05,0.93506,-0.35449,-0.002085,0.93506,-0.35448,-0.0021,0.50263,-0.86449,-0.005082,0.50263,-0.86449,-0.005086,0.93506,-0.35448,-0.001168,0.93506,-0.35449,-0.001166,0.50195,-0.86489,-0.002846,0.50196,-0.86489,-0.00285,0.43703,0.89945,0.000699,0.43703,0.89945,0.000703,0.9603,0.27896,0.000218,0.95996,0.28014,0.000921,0.43703,0.89945,0.001158,0.43703,0.89945,0.001157,0.95996,0.28014,0.00036,0.43707,0.89942,0.003069,0.43703,0.89944,0.003029,0.95995,0.28016,0.000943,0.95996,0.28014,0.000956,0,0.99959,-0.028543,0.4345,0.89415,0.10818,0.95091,0.27711,0.13776,0.086115,0.99628,0.003399,0.092475,0.9957,0.005898,-0.014626,-0.015752,0.99977,0.03904,-0.012644,0.99916,0.078752,0.97451,0.21007,0.502,-0.86487,-5e-05,0.50196,-0.86489,-0.000173,0.93507,-0.35446,-8e-06,0.93506,-0.35448,-2.1e-05,0.96031,0.27895,4e-06,0.9603,0.27896,6e-06,0.43704,0.89944,1e-05,0.43703,0.89945,1.2e-05,-0.021605,-0.86184,0.50672,-0.009982,-0.87282,0.48794,-0.026254,-0.87676,0.48021,-0.047506,-0.8717,0.48773,0.47896,-0.74882,0.4581,-0.025157,-0.83846,0.54438,-0.001206,-0.001824,1,-0.0005,-0.001029,1,0.03819,-0.85346,0.51975,0.049059,-0.8898,0.4537,-0.018185,-0.87819,0.47796,-0.021673,-0.87725,0.47954,0.006265,-0.89094,0.45409,-0.018885,-0.88969,0.45618,0.59884,0.006896,0.80084,-0.33832,-0.69745,0.63175,-0.49895,0.86663,0.000129,-0.49904,0.86658,0.000137,-0.93507,0.35445,4.9e-05,-0.9351,0.3544,5.3e-05,-0.96031,-0.27894,-3.3e-05,-0.96034,-0.27885,-3.9e-05,-0.43454,-0.90065,-0.000106,-0.43454,-0.90065,-0.000106,-0.000599,0.002019,-1,0.002313,0.000939,-1,0.003191,-0.001697,-0.99999,0.001713,-0.005779,-0.99998,-0.88284,0.46967,-0,-0.88285,0.46966,-0,0.004404,0.001788,-0.99999,0.003182,-0.001693,-0.99999,0.70373,-0.41766,-0.57474,0.6938,-0.41289,-0.59006,0.27362,0.68286,-0.67737,0.31114,0.78278,-0.53893,-0.17799,0.98403,-0,0.3108,0.78307,0.53871,0.27056,0.68525,0.67619,0.69245,-0.41165,0.5925,0.70215,-0.41868,0.57593,-0.25783,-0.69007,0.67626,-0.29273,-0.77964,0.5536,-0.835,-0.55024,-0,-0.28905,-0.77903,-0.55639,-0.25701,-0.69114,-0.67548,0.36692,0.93025,-0,0.20807,0.97785,-0.022838,0.16813,0.98577,-0,-0.25554,0.74311,-0.61846,-0.25554,0.74311,-0.61845,0.67657,0.32187,-0.66231,0.67659,0.32189,-0.66228,0.26633,0.73877,-0.6191,0.26633,0.73877,-0.6191,0.49948,-0.86062,-0.099316,0.49839,-0.8612,-0.099676,0.69733,-0.70858,-0.10789,0.93506,-0.35449,-0.000456,-1e-06,0.99816,0.060704,3e-06,0.99821,0.05976,-0.99271,1.2e-05,0.12052,-0.99271,-1.7e-05,0.12052,0.38262,-0.92274,-0.04645,0.2694,-0.96286,0.018002,-0.44274,0.89499,0.054562,-0.44298,0.89486,0.054741,-0.4404,0.89521,0.068129,-0.12911,0.99073,0.042295,-0.99712,-1.3e-05,-0.07586,-0.99712,-7e-06,-0.075861,-0.39892,0.91483,0.062909,-0.41938,0.90476,0.074311,-0.41792,0.90617,0.06481,-0.39641,0.91611,0.059978,-0.30581,0.95209,9e-06,-0.3033,0.9529,-0.000471,-0.33914,0.94074,-0,-0.15596,-0.98776,-0,-0.33913,0.94074,-0,-0.8547,-0.51912,-0,0.35889,-0.93338,-0,0.35889,-0.93338,-0,-0.75049,-0.45583,0.47852,-0.7505,-0.45581,0.47852,-0.35889,0.93338,-0,-0.36484,0.93107,-0,-0.36285,0.93185,-0,-0.6292,-0.38216,-0.6768,-0.62921,-0.38215,-0.6768,0.36894,-0.92945,-0,0.73456,0.67854,-0,-0.36681,0.9303,-0,-0.36787,0.92988,-0,-0.37076,0.92873,-0,-0.89821,-0.43956,1.2e-05,-0.89858,-0.43881,-0.000342,0.89488,0.44632,-0,-0.90327,0.42908,-0,-0.90328,0.42906,-1.1e-05,0.32519,0.94565,-0,-0.34329,0.93923,-0,-0.89162,0.45278,-0,-0.89487,-0.44632,-0,-0.32518,-0.94565,-0,0.33914,-0.94074,-0,0.90301,-0.42962,-0,0.89487,0.44632,-0,0.73457,0.67854,-0,0.73457,0.67854,-0,0.015882,0.9989,0.044193,0.29709,0.95485,-0,-0.045259,0.99687,0.064763,-0.004924,0.98912,0.14705,7e-06,0.99801,0.06311,-0.40331,0.91321,0.058195,-0.43766,0.89561,0.079537,-0.43484,0.89832,0.062679,-0.3959,0.91667,0.05452,-0.85172,0.52221,0.043295,-0.83529,0.54617,0.063193,-0.86342,0.5037,0.028249,-0.87686,0.48065,0.009874,-0.8674,0.4845,0.11343,-0.76251,0.62477,0.16804,-0.90056,0.40874,0.14803,-0.92339,0.37525,0.080938,-0.87186,0.48758,0.04615,-0.85296,0.45675,0.25264,-0.89488,-0.44631,-0,0.8862,0.46331,-0,-0.90302,0.4296,-0,0.32488,0.94576,-0,-0.24941,0.96793,0.030243,-0.39514,0.91365,-0.095445,-0.21783,0.97596,0.007891,-0.25246,0.96726,0.025855,-0.74143,0.67005,0.036175,-0.70268,0.70871,0.063089,-0.81109,0.58463,-0.018429,-0.84313,0.53563,-0.047342,-0.88633,0.45986,0.054248,-0.90531,0.42212,0.04727,-0.87637,0.48068,-0.030422,-0.87854,0.47198,0.073429,-0.9032,0.42914,0.008709,-0.8925,0.45092,0.01084,-0.83113,0.54451,-0.11283,-0.83993,0.52275,0.14581,-0.52535,0.80455,-0.27697,-0.78758,0.57112,0.23139,-0.85615,0.51455,0.04741,-0.87753,0.47769,0.041951,-0.84395,0.53574,-0.026953,-0.84685,0.52743,0.068265,-0.88077,0.47171,-0.041757,-0.83684,0.54582,-0.04213,0.14156,0.54788,-0.82449,-0.14157,0.67776,-0.72153,-0.37061,0.14618,-0.91721,-0.31092,0.43431,-0.8454,0.001979,0.97583,0.21852,0.014576,0.9741,0.22566,0.009613,0.95774,0.28746,0.077101,0.95373,0.29062,0.019062,0.99946,0.026715,-0.017146,0.99956,0.02403,-0.23808,0.91214,-0.33366,-0.22127,0.97506,-0.017126,-0.060893,0.99449,-0.085347,0.054831,0.99553,-0.076842,-0.19517,0.94185,-0.27354,-0.17728,0.98406,-0.013695,0.77552,-0.51002,-0.3721,0.77552,-0.51002,-0.37209,-0.23434,-0.78536,-0.57296,-0.23435,-0.78535,-0.57298,0.99958,-0.017373,0.02318,0.99964,-0.007602,0.02574,0.30908,0.94571,0.10047,0.36566,0.92498,0.10348,0.004849,0.010195,-0.99994,-0.020598,0.019862,-0.99959,-0.36477,-0.93089,-0.019465,-0.30829,-0.95095,-0.025341,0.022513,-0.02537,0.99943,-0.002771,-0.003,0.99999,0.30657,0.94991,-0.060639,0.30662,0.9499,-0.060643,-0.32053,-0.90902,-0.26634,-0.32052,-0.90902,-0.26634,0.068096,-0.046622,0.99659,0.068133,-0.046649,0.99659,-0.20372,-0.50311,0.83987,-0.22764,-0.4753,0.84986,0.35507,0.93164,0.077321,0.41408,0.90675,0.079563,0.003929,0.007073,-0.99997,-0.018383,0.016712,-0.99969,-0.42885,-0.89958,0.082735,-0.35356,-0.93213,0.07832,-0.25429,-0.92887,0.26932,-0.22423,-0.729,0.64675,-0.004289,-0.7465,0.66538,0.27981,-0.58831,0.75868,0.20622,-0.97817,-0.025483,0.16989,-0.98546,-0.000479,-0.12281,-0.97424,-0.18916,0.16989,-0.98546,-0,0.35006,-0.93673,8e-05,0.35,-0.93675,-0,-0.85947,-0.51119,-6.3e-05,-0.85958,-0.511,-0.000109,-0.36889,0.92947,-1e-06,-0.36891,0.92946,2.3e-05,0.26516,-0.96365,-0.032767,0.21072,-0.97755,-0.000594,-0.99245,-1.2e-05,0.12264,-0.99245,0,0.12264,-0.99245,-4e-06,0.12264,-0.99245,2.3e-05,0.12264,0.55707,0,-0.83047,0.55708,2.5e-05,-0.83046,0.55708,2.6e-05,-0.83046,-0.012166,0.014418,-0.99982,-0.005367,0.038952,-0.99923,0.55709,-2.6e-05,-0.83046,0.55708,-4.9e-05,-0.83046,0.33914,-0.94074,-0,0.15595,0.98777,-0,0.99999,0,-0.003939,0.37038,-0.92732,-0.053791,-0.33448,0.88284,-0.32972,-0.000136,0.66171,-0.74976,-0.008878,0.68433,-0.72912,0.34219,5e-06,-0.93963,0.34219,0,-0.93963,0.34219,0,-0.93963,-2.3e-05,-0.80912,-0.58765,-0.003168,-0.80821,-0.58889,0.19875,0.97781,-0.066149,-0.16902,-0.9229,-0.34597,1e-05,1.1e-05,-1,-8e-06,1e-05,-1,-1.1e-05,1.2e-05,-1,-9e-06,-1e-05,-1,-1e-05,1.2e-05,-1,-1e-05,-1.2e-05,-1,8e-06,-1e-05,-1,0.61019,-0.00053,0.79225,6.3e-05,2.3e-05,-1,0.000178,-0.89452,0.44702,-2.1e-05,-6.9e-05,-1,-8.4e-05,-0,-1,-8.4e-05,0,-1,-2.1e-05,7e-05,-1,0.91702,-0.00696,0.39878,6.3e-05,-2.4e-05,-1,0.94065,0.33937,-8e-06,0.94065,0.33938,-8e-06,0.94024,-0.34051,-1.1e-05,0.94024,-0.34051,-1.1e-05,0.29403,-0.9558,-7e-06,0.29403,-0.9558,-8e-06,-0.29381,-0.95586,-4e-06,-0.29381,-0.95586,-4e-06,-0.9405,-0.3398,4e-06,-0.9405,-0.3398,3e-06,-0.94044,0.33997,1e-05,-0.94042,0.34001,6e-06,-0.29376,0.95588,6e-06,-0.29377,0.95588,8e-06,0.29378,0.95587,1e-06,0.29376,0.95588,3e-06,0.28926,-0.95725,-1e-06,0.2893,-0.95724,6e-06,-0.28991,-0.95705,1e-06,-0.28991,-0.95705,1e-06,-0.93883,-0.34439,5e-06,-0.93805,0.34649,-0,-0.93807,0.34646,5e-06,-0.28806,0.95761,1e-06,-0.28805,0.95762,-0,0.28869,0.95742,-2e-06,0.28869,0.95742,-1e-06,0.94036,0.34018,-5e-06,0.94036,0.34018,-5e-06,0.93651,-0.35063,2e-06,0.93649,-0.35068,-5e-06,-0.077416,0,-0.997,-0.072005,-0.004056,-0.9974,-0.07508,0.004176,-0.99717,-0.077448,6.6e-05,-0.997,-0.077345,7.6e-05,-0.997,-0.077335,0.000587,-0.99701,-0.077447,0.000578,-0.997,-0.074224,-0.004033,-0.99723,-0.073078,0.0047,-0.99731,-0.077416,-0.001479,-0.997,-0.077061,0,-0.99703,-0.34148,0.93984,0.009614,-0.33216,0.94289,-0.025116,0.99961,-0.000836,-0.027934,0.99961,-0.000849,-0.027938,0.99958,-0.007605,-0.027939,0.99958,-0.00759,-0.027934,-0.16826,-0.98566,-0.012962,-0.15283,-0.98824,0.004199,-0.49495,0.00033,-0.86892,-0.49528,0.003871,-0.86872,-0.49449,-0.001191,-0.86918,-0.53316,0.16412,-0.82994,-0.43624,-0.16623,-0.88434,-0.34583,0.000223,-0.9383,-0.34489,0.000288,-0.93864,-0.34454,0.002704,-0.93877,-0.34582,0.002631,-0.9383,-0.465,0.18155,-0.8665,-0.50499,-0.16768,-0.84668,-0.34753,-0.001184,-0.93767,-0.34492,-9.2e-05,-0.93863,0.34626,-0.93814,-0,-1,0.000801,-0,-0.99997,0.007658,-0,0.16116,0.98693,-0,1,0.000734,-0,-0.24769,0.69869,-0.67118,-0.31549,0.7903,-0.52525,-0.82914,0.55904,2e-06,-0.82916,0.55901,-0,-0.28329,0.81528,0.50503,-0.27548,0.70806,0.65021,-0.66698,-0.35047,0.6575,-0.73502,-0.36659,0.57041,-0.67659,0.32188,0.66228,-0.6766,0.32189,0.66226,-0.26634,0.7388,0.61907,-0.26633,0.73879,0.61908,0.25555,0.74314,0.61841,0.25555,0.74313,0.61842,0.64125,0.32693,0.6942,0.67113,0.33472,0.66147,0.96991,-0.24346,-0,0.66747,0.3403,-0.66233,0.64725,0.32281,-0.69055,-0.66681,-0.35101,-0.65739,-0.7373,-0.36772,-0.56672,-6.4e-05,-3.1e-05,-1,7e-05,-0.000197,-1,-0.89761,-0.4408,-3.5e-05,-0.89783,-0.44034,2e-06,0.00768,0.027395,0.9996,0.010246,0.005032,0.99994,1e-06,-3.6e-05,1,-0.000129,-6.8e-05,1,0.44181,-0.89711,-0,0.000158,0.000117,-1,-0.24145,0.75835,-0.60548,-0.29425,0.8398,-0.45623,-0.75053,0.66084,-2.9e-05,-0.75027,0.66113,-1.5e-05,-0.26693,0.85642,0.44191,-0.26064,0.76848,0.58438,-0.71938,-0.35134,0.59922,-0.77856,-0.3709,0.50624,-0.72274,0.34333,0.59981,-0.72192,0.34281,0.6011,-0.28194,0.78208,0.55575,-0.28194,0.78209,0.55573,0.26999,0.78598,0.55618,0.27031,0.78666,0.55507,0.68801,0.35969,0.63029,0.71059,0.36849,0.5994,0.98994,-0.14151,-0,0.7092,0.37077,-0.59964,0.69052,0.35808,-0.62845,0.27025,0.78672,-0.55501,0.27008,0.78599,-0.55613,-0.28196,0.78214,-0.55566,-0.28196,0.78213,-0.55568,-0.72187,0.34289,-0.6011,-0.72286,0.34323,-0.59972,-0.78061,-0.38198,-0.49472,-0.72151,-0.3438,-0.60103,-0.9341,-0.357,0.00176,-0.93502,-0.35459,0.002635,-0.82748,-0.55717,-0.069546,-0.9341,-0.357,0.002632,-0.939,-0.34343,-0.01833,-0.90056,-0.43458,0.011399,-0.51627,-0.84072,-0.16323,-0.82949,-0.55852,-0,-0.27458,-0.86357,-0.42291,-0.14023,-0.9142,-0.38022,-2e-06,0.99707,0.076446,-0.99367,2.1e-05,0.11231,-0.99367,0,0.11231,0.30941,-0.95029,-0.034972,0.38749,-0.9197,-0.063228,-0.36566,0.92818,0.069041,-0.42437,0.90261,0.072092,-0.41677,0.90571,0.077388,-0.34917,0.93493,0.063151,-0.50259,-0.86446,0.010416,-0.48594,-0.87399,-4.2e-05,-0.9402,-0.34058,0.005175,-0.93442,-0.35597,0.012068,-0.90321,0.41786,0.098032,-0.99258,2.3e-05,0.12159,-0.99258,-1.6e-05,0.12156,-0.99245,-1.2e-05,0.12264,-0.9932,2.2e-05,0.11642,-0.9932,1.4e-05,0.11641,-0.33863,-0.94001,0.041482,-0.33229,-0.94318,0.001462,-0.40886,-0.91134,0.047922,-0.40065,-0.91622,0.002982,-0.27472,-0.96092,0.033947,-0.27026,-0.96279,0.000758,0.000551,-0.001942,1,-0.000174,-6.6e-05,-1,-0.000218,-6.5e-05,1,-0.000229,-8e-06,1,-0.000223,-7.3e-05,1,-0.000218,-6.3e-05,1,-0.000169,-4.4e-05,1,-0.000202,-5.1e-05,1,-0.000206,-7.9e-05,1,-0.000175,-6.5e-05,1,-0.00017,-0.000102,1,-0.000165,-3.1e-05,1,-0.000175,-6.1e-05,1,-0.000596,0.000991,-1,-0.000942,0.001542,-1,-0.000927,0.002091,-1,-0.002067,0.001427,-1,-0.000907,0.002122,-1,-0.000912,0.002105,-1,-0.000222,-0.000101,-1,-0.000239,-9.1e-05,-1,-0.000221,-7.2e-05,-1,-0.000221,-7.1e-05,-1,-0.2204,0.71476,-0.66373,-0.2401,0.76347,-0.59956,-0.16041,0.97762,-0.13612,-0.032923,0.9958,-0.085459,-0.035083,0.94135,0.3356,-0.24205,0.93003,0.27651,-0.17126,0.71802,-0.67463,-0.19294,0.44854,-0.87269,-0.19891,0.76427,0.61345,-0.20328,0.89579,0.39528,-0.19517,0.94186,0.27352,-0.17728,0.98406,0.013694,0.002125,0.99999,-0.002977,0.002865,1,-0.000222,0.14796,0.79899,0.58286,0.14797,0.79897,0.58289,0.39095,0,0.92041,0.074061,-0.28456,0.95579,0.62263,-0.78251,0.003364,0.62918,-0.77725,0.002154,-0.23877,-0.97038,0.036892,-6e-06,-0.9999,0.013963,-0.99963,0.001543,0.02724,-0.99963,0.001444,0.027195,-0.99963,0.000601,0.02724,3e-05,-0.022077,-0.99976,-0.92958,-0.36813,0.019321,-0.93496,-0.35384,0.025461,-0.008076,-0.014524,-0.99986,0.000726,0.001255,1,0.000731,0.001257,1,3e-05,-0.024944,-0.99969,-0.93505,-0.35452,0.000127,-0.93505,-0.3545,0.000125,-0.50264,-0.8645,0.000304,-0.50262,-0.86451,0.000309,-0.48596,-0.87398,-0.000211,-0.48594,-0.87399,-0.000194,-0.92958,-0.36862,-8.3e-05,-0.92958,-0.36861,-8.9e-05,-0.93505,-0.35452,-0.002086,-0.93505,-0.35451,-0.0021,-0.50263,-0.86448,-0.005082,-0.50264,-0.86448,-0.005086,-0.93504,-0.35453,-0.001168,-0.93504,-0.35453,-0.001166,-0.50196,-0.86489,-0.002846,-0.50196,-0.86488,-0.00285,-0.43704,0.89944,0.000699,-0.43704,0.89944,0.000703,-0.96029,0.27901,0.000218,-0.95994,0.2802,0.000921,-0.43704,0.89944,0.001158,-0.43704,0.89944,0.001157,-0.95994,0.2802,0.00036,-0.43707,0.89942,0.003069,-0.43704,0.89944,0.003029,-0.95994,0.28021,0.000944,-0.95994,0.2802,0.000956,-0.43451,0.89415,0.10818,-0.95089,0.27716,0.13777,-0.086117,0.99628,0.003399,-0.092477,0.9957,0.005898,0.014626,-0.015751,0.99977,-0.039041,-0.012645,0.99916,-0.078753,0.97451,0.21007,-0.502,-0.86487,-5e-05,-0.50196,-0.86489,-0.000173,-0.93505,-0.35451,-8e-06,-0.93505,-0.35453,-2.1e-05,-0.96029,0.279,4e-06,-0.96029,0.27901,6e-06,-0.43705,0.89944,1e-05,-0.43704,0.89944,1.2e-05,0.021605,-0.86184,0.50672,0.009982,-0.87282,0.48794,0.026255,-0.87676,0.48022,0.047504,-0.8717,0.48773,-0.47896,-0.74881,0.45812,0.025157,-0.83846,0.54438,0.001206,-0.001824,1,0.0005,-0.001029,1,-0.038191,-0.85346,0.51975,-0.049061,-0.8898,0.4537,0.018186,-0.87819,0.47796,0.021672,-0.87725,0.47954,-0.006265,-0.89094,0.45409,0.018886,-0.88969,0.45617,-0.59885,0.006895,0.80083,0.33832,-0.69744,0.63175,0.49896,0.86663,0.000129,0.49905,0.86657,0.000137,0.93504,0.35454,4.9e-05,0.93506,0.35449,5.3e-05,0.96028,-0.27905,-3.3e-05,0.9603,-0.27896,-3.9e-05,0.43455,-0.90065,-0.000106,0.43455,-0.90065,-0.000106,0.000599,0.002019,-1,-0.002312,0.000939,-1,-0.003191,-0.001697,-0.99999,-0.001713,-0.005779,-0.99998,0.88286,0.46964,-0,0.88285,0.46965,-0,-0.004405,0.001789,-0.99999,-0.003182,-0.001693,-0.99999,-0.70384,-0.41773,-0.57455,-0.69389,-0.41295,-0.5899,-0.27361,0.68282,-0.67741,-0.31116,0.78284,-0.53884,0.17792,0.98404,1e-06,0.17796,0.98404,-0,-0.31081,0.78307,0.53871,-0.27053,0.68516,0.67629,-0.69257,-0.41172,0.59231,-0.70215,-0.41867,0.57593,0.25781,-0.69002,0.67632,0.2927,-0.77959,0.55369,0.83513,-0.55006,-0,0.83513,-0.55006,-0,0.28904,-0.77898,-0.55646,0.25699,-0.69109,-0.67553,-0.36692,0.93025,-0,-0.20807,0.97785,-0.022838,-0.16813,0.98577,-0,0.25554,0.74311,-0.61846,0.25554,0.74312,-0.61845,-0.67658,0.32188,-0.6623,-0.67657,0.32187,-0.66231,-0.26633,0.73877,-0.6191,-0.26632,0.73877,-0.61911,-0.49948,-0.86061,-0.099315,-0.49839,-0.8612,-0.099676,-0.69731,-0.7086,-0.10788,-0.93504,-0.35454,-0.000456,-0.001347,-4e-06,1,0,0.003011,0.99999,0.003944,0.004507,0.99998,0.001221,-0.000348,1,0,-0.003092,0.99999,-0.00296,-0.003952,0.99999,-0.93048,0.34319,0.12816,-0.89368,0.43289,0.11808,0.94887,0.28589,0.1338,0.89368,0.4329,0.11808,0.90211,0.41344,0.12354,-0.93502,0.35459,-0.00255,-0.9341,0.357,-0.00195,0.33229,-0.94317,0.003416,0.27477,-0.96112,0.027496,0.26522,0.96386,0.025309,0.21071,0.97754,0.002733,-0.92475,0.38054,0.004431,-0.93449,0.356,-0.002428,0.40063,-0.91619,0.009655,0.33872,-0.94028,0.033835,0.28136,0.95905,0.032601,0.26935,0.96263,0.028185,0.92475,0.38057,-0.002723,0.93448,0.356,0.003694,-0.2814,0.95918,0.028169,-0.26933,0.96254,0.031322,-0.40027,-0.9155,0.040489,-0.3389,-0.94077,0.010037,0.93502,0.35459,-0.001945,0.9341,0.357,-0.002541,-0.26531,0.96416,0.002897,-0.21068,0.97735,0.019966,-0.3321,-0.94266,0.03309,-0.27487,-0.96147,0.003431], - - "colors": [], - - "uvs": [[0.24511,0.72979,0.24698,0.72827,0.26907,0.72766,0.26832,0.7315,0.62981,0.52229,0.63374,0.42223,0.64924,0.42266,0.64493,0.52257,0.29448,0.53704,0.29471,0.62098,0.26787,0.62112,0.26697,0.53719,0.22135,0.53876,0.23217,0.62252,0.22657,0.62346,0.21352,0.54002,0.7224,0.53127,0.71591,0.6152,0.68069,0.61647,0.67849,0.53292,0.29499,0.72773,0.295,0.73179,0.2627,0.41557,0.20379,0.41827,0.1885,0.31262,0.24585,0.31131,0.96651,0.67942,0.96903,0.67981,0.96936,0.67985,0.96668,0.69842,0.96396,0.69797,0.6448,0.53311,0.6456,0.61683,0.63085,0.61676,0.62963,0.53298,0.10107,0.81417,0.10194,0.80561,0.14827,0.80638,0.14892,0.81494,0.81328,0.010926,0.81322,0.064625,0.76472,0.064563,0.76479,0.010864,0.32134,0.86766,0.39232,0.86928,0.3912,0.91263,0.32106,0.93868,0.29404,0.86764,0.29516,0.93965,0.32172,0.84188,0.3935,0.79728,0.43796,0.76547,0.43197,0.76954,0.38362,0.71598,0.38976,0.71058,0.3459,0.78543,0.3288,0.76602,0.32514,0.80261,0.3084,0.78362,0.29363,0.84161,0.1381,0.29268,0.16002,0.29618,0.18253,0.31671,0.72691,0.18682,0.77878,0.18009,0.78563,0.23359,0.73365,0.24014,0.22497,0.11749,0.17065,0.080522,0.20205,0.08787,0.26578,0.12525,0.15457,0.064501,0.20424,0.080216,0.77016,0.11331,0.71828,0.12003,0.4869,0.70501,0.50534,0.70504,0.51023,0.70852,0.48478,0.7102,0.85557,0.9313,0.79394,0.92754,0.79783,0.92591,0.85467,0.92962,0.056159,0.029323,0.055755,0.03575,0.013223,0.053511,0.010799,0.046383,0.96604,0.92351,0.90458,0.91826,0.90541,0.91754,0.96227,0.92057,0.16146,0.084762,0.15086,0.068504,0.29292,0.13538,0.26624,0.13562,0.29288,0.12341,0.22911,0.13104,0.84876,0.1783,0.85477,0.22486,0.4096,0.58386,0.41596,0.58151,0.040734,0.11773,0.090482,0.096457,0.89877,0.23296,0.87689,0.23266,0.87997,0.010799,0.90184,0.011102,0.50398,0.48403,0.51182,0.48465,0.48346,0.48352,0.41342,0.48565,0.40605,0.4864,0.97014,0.1082,0.97146,0.012063,0.14761,0.83435,0.10162,0.83365,0.72363,0.010799,0.74642,0.010837,0.74634,0.064536,0.72354,0.064498,0.14746,0.85508,0.10118,0.85442,0.786,0.92524,0.79115,0.94876,0.78692,0.95024,0.78186,0.92388,0.80611,0.96017,0.80471,0.96391,0.85477,0.95965,0.85712,0.96335,0.86724,0.94809,0.87159,0.94942,0.86391,0.92363,0.86785,0.92262,0.85742,0.91854,0.85968,0.91423,0.96559,0.91026,0.90193,0.90867,0.8995,0.90497,0.96768,0.90654,0.89568,0.91494,0.89201,0.91465,0.89804,0.94019,0.89361,0.94206,0.91107,0.95207,0.90863,0.95568,0.95978,0.952,0.96106,0.95579,0.97436,0.94067,0.97835,0.94182,0.97475,0.91774,0.97864,0.91529,0.79412,0.9168,0.80067,0.94265,0.81093,0.94941,0.85061,0.94869,0.85752,0.94467,0.90807,0.93559,0.91625,0.94223,0.95584,0.94046,0.96418,0.93586,0.2281,0.30425,0.23013,0.25478,0.24786,0.25555,0.29317,0.17761,0.24667,0.18706,0.22298,0.30708,0.79172,0.91361,0.26362,0.42607,0.29416,0.42583,0.29445,0.52637,0.26675,0.52654,0.20532,0.42866,0.21995,0.52828,0.18986,0.45076,0.18675,0.49766,0.16003,0.49808,0.15966,0.45138,0.38362,0.6602,0.38907,0.56749,0.41224,0.65495,0.12065,0.31953,0.11378,0.41424,0.11017,0.41813,0.11836,0.30759,0.14664,0.40882,0.14969,0.41338,0.10033,0.90758,0.1468,0.90822,0.85237,0.064668,0.82957,0.064644,0.82964,0.010945,0.85243,0.01097,0.09991,0.95002,0.10027,0.93048,0.14623,0.9311,0.14605,0.95063,0.22735,0.20116,0.41808,0.28184,0.39485,0.28163,0.3952,0.23346,0.4187,0.23397,0.040657,0.86887,0.028208,0.92748,0.012028,0.91242,0.01489,0.86476,0.14463,0.47192,0.14758,0.42069,0.14631,0.47923,0.11354,0.4215,0.11381,0.47189,0.11016,0.47574,0.1089,0.53121,0.12889,0.54688,0.12859,0.55309,0.10675,0.53216,0.14282,0.48468,0.1132,0.47984,0.12074,0.55427,0.10492,0.53578,0.07952,0.54612,0.079516,0.5441,0.11272,0.30452,0.084401,0.29158,0.11767,0.29609,0.084167,0.30028,0.10646,0.41273,0.10627,0.47126,0.10669,0.42213,0.080369,0.41865,0.080388,0.41652,0.10441,0.52974,0.10607,0.48044,0.07996,0.47778,0.079973,0.47584,0.11942,0.55425,0.10399,0.538,0.079525,0.54787,0.1014,0.52933,0.10316,0.48143,0.079936,0.4809,0.10993,0.3061,0.084047,0.30434,0.10439,0.41079,0.14235,0.4697,0.14546,0.42279,0.11525,0.42342,0.11562,0.47012,0.14392,0.40742,0.12075,0.31996,0.11529,0.41268,0.10323,0.47053,0.10384,0.42266,0.080348,0.42215,0.11157,0.52967,0.12775,0.54474,0.1402,0.48613,0.11444,0.48201,0.39425,0.93695,0.32652,0.98278,0.39933,0.86953,0.29575,0.97779,0.39936,0.79615,0.74055,0.29354,0.74101,0.39955,0.6832,0.40698,0.67065,0.30266,0.64962,0.41157,0.63395,0.41158,0.63442,0.30564,0.64986,0.3056,0.63458,0.26643,0.65018,0.27634,0.66326,0.24913,0.79248,0.28668,0.98193,0.395,0.98119,0.46516,0.92875,0.46473,0.9294,0.39456,0.98109,0.47509,0.92868,0.47465,0.98071,0.54531,0.92816,0.54486,0.48583,0.42981,0.50614,0.43043,0.73976,0.42647,0.72367,0.52573,0.67858,0.52384,0.68286,0.42415,0.19584,0.41969,0.19737,0.42992,0.21195,0.52952,0.43929,0.76918,0.43257,0.77206,0.34741,0.78863,0.32861,0.80476,0.31887,0.8226,0.31588,0.8203,0.29828,0.84013,0.32096,0.83868,0.39206,0.79503,0.39733,0.79251,0.47563,0.75582,0.47637,0.76167,0.45886,0.76335,0.45833,0.75755,0.52931,0.82596,0.51226,0.83099,0.53229,0.84666,0.5232,0.85702,0.54637,0.84656,0.54656,0.86391,0.56921,0.84432,0.57842,0.85405,0.57022,0.82276,0.58755,0.82677,0.61835,0.75912,0.63623,0.75973,0.47515,0.75164,0.45788,0.75337,0.5176,0.7508,0.51802,0.75397,0.53098,0.80965,0.53595,0.82673,0.55045,0.82569,0.56455,0.82503,0.56686,0.80768,0.57603,0.75405,0.51743,0.74946,0.69108,0.97473,0.6911,0.9884,0.68969,0.98959,0.68968,0.97353,0.70591,0.9884,0.70732,0.98959,0.70591,0.97473,0.70732,0.97353,0.69107,0.97234,0.70591,0.97234,0.70591,0.95886,0.70732,0.95766,0.69097,0.95886,0.68956,0.95766,0.69109,0.98156,0.76845,0.9647,0.76844,0.95786,0.7703,0.95957,0.7703,0.96982,0.76845,0.97153,0.77586,0.97153,0.78327,0.97153,0.78142,0.96982,0.78327,0.9647,0.78327,0.95786,0.78141,0.95957,0.77585,0.95786,0.77644,0.98925,0.78385,0.98925,0.76902,0.98925,0.77086,0.98757,0.782,0.98757,0.78385,0.98251,0.78385,0.97577,0.78199,0.97745,0.77638,0.97577,0.76891,0.97577,0.7708,0.97746,0.76897,0.98251,0.27586,0.20519,0.28131,0.2052,0.28124,0.24735,0.2758,0.24734,0.28676,0.20521,0.28669,0.24735,0.29257,0.20522,0.29251,0.24736,0.29838,0.20522,0.29832,0.24737,0.30383,0.20523,0.30377,0.24738,0.30929,0.20524,0.30922,0.24739,0.31511,0.20525,0.31503,0.2474,0.27004,0.20518,0.26998,0.24733,0.43814,0.79928,0.44397,0.79932,0.44361,0.84147,0.43778,0.84142,0.44978,0.79937,0.44943,0.84152,0.45517,0.79942,0.45481,0.84157,0.46056,0.79947,0.4602,0.84161,0.46641,0.79952,0.46605,0.84166,0.42152,0.79914,0.42736,0.79919,0.42701,0.84133,0.42117,0.84128,0.43274,0.79923,0.43238,0.84138,0.51906,0.75077,0.51935,0.75397,0.5331,0.80754,0.54895,0.8071,0.54906,0.80848,0.56484,0.80614,0.57466,0.75509,0.51897,0.75033,0.91134,0.72237,0.91216,0.68024,0.89753,0.72227,0.89781,0.68003,0.88346,0.7222,0.88328,0.68004,0.83374,0.69686,0.83153,0.67819,0.42431,0.34379,0.4786,0.34389,0.47679,0.3573,0.47505,0.37033,0.42446,0.34508,0.96393,0.69895,0.91148,0.72287,0.89754,0.72316,0.88331,0.72274,0.8342,0.69797,0.9658,0.69922,0.47564,0.39566,0.42501,0.36997,0.50186,0.36058,0.50015,0.37357,0.50363,0.34719,0.43665,0.32181,0.49103,0.32184,0.42333,0.36982,0.158,0.81566,0.15018,0.80212,0.152,0.79795,0.16145,0.81548,0.10022,0.80123,0.098541,0.79698,0.092027,0.81445,0.088553,0.81419,0.096707,0.83628,0.093243,0.83732,0.096357,0.85578,0.093093,0.85626,0.095547,0.90794,0.092387,0.90805,0.095936,0.93019,0.092851,0.92995,0.098292,0.953,0.095609,0.9552,0.14759,0.95366,0.15021,0.95592,0.15057,0.93091,0.15366,0.93075,0.15579,0.83785,0.15235,0.83701,0.15175,0.8152,0.14899,0.80468,0.10129,0.80386,0.098247,0.81434,0.1005,0.83454,0.099868,0.85486,0.098883,0.90772,0.099239,0.93034,0.099055,0.9508,0.14689,0.95144,0.14726,0.93098,0.14824,0.90839,0.15157,0.90868,0.14877,0.85554,0.15226,0.85649,0.14864,0.83524,0.62901,0.68272,0.64115,0.68311,0.6581,0.72864,0.62762,0.7307,0.64589,0.6281,0.68097,0.63472,0.63469,0.23913,0.26803,0.6315,0.29474,0.63144,0.22827,0.63402,0.23358,0.63306,0.71388,0.64386,0.67966,0.73391,0.75217,0.90846,0.73925,0.90587,0.74041,0.8987,0.75333,0.90125,0.12079,0.30767,0.63068,0.6271,0.17488,0.70899,0.16451,0.70802,0.16324,0.6503,0.17359,0.65011,0.42649,0.45117,0.41958,0.44338,0.45172,0.40821,0.45933,0.41523,0.15224,0.63738,0.14189,0.63627,0.14105,0.56597,0.15142,0.56588,0.41685,0.40932,0.17856,0.58556,0.14313,0.67361,0.16082,0.69734,0.13823,0.67276,0.15997,0.65849,0.13771,0.57346,0.11911,0.58776,0.11447,0.5864,0.1383,0.62266,0.43547,0.44651,0.45622,0.44373,0.46181,0.45028,0.45569,0.42438,0.17809,0.69794,0.195,0.67242,0.19985,0.67131,0.17722,0.65806,0.63476,0.22321,0.66207,0.23299,0.40892,0.6878,0.43339,0.67792,0.44881,0.69417,0.4089,0.70398,0.77534,0.39721,0.77575,0.33874,0.79898,0.33927,0.79722,0.38717,0.96465,0.66362,0.96817,0.5565,0.99404,0.55826,0.98851,0.66296,0.079504,0.56699,0.079509,0.56931,0.080437,0.41438,0.079982,0.4737,0.079515,0.54226,0.079506,0.56405,0.079531,0.53937,0.080534,0.41146,0.079999,0.47032,0.62957,0.66354,0.63951,0.66419,0.64155,0.6309,0.63057,0.63069,0.62962,0.66184,0.63733,0.66227,0.6382,0.64912,0.63002,0.64893,0.74218,0.87063,0.74138,0.86257,0.74769,0.86177,0.74824,0.86936,0.73775,0.91678,0.75068,0.91922,0.74994,0.92537,0.73683,0.92333,0.77167,0.87037,0.76599,0.87662,0.762,0.87235,0.76726,0.86627,0.73852,0.91123,0.75148,0.91372,0.78458,0.88181,0.779,0.88787,0.77482,0.88413,0.78044,0.8781,0.7869,0.88658,0.78517,0.89361,0.69455,0.87081,0.69306,0.8742,0.68898,0.87473,0.69191,0.86803,0.7309,0.87158,0.72988,0.86357,0.72612,0.91538,0.70134,0.90684,0.70219,0.90168,0.7033,0.8948,0.76486,0.90386,0.76379,0.9107,0.76313,0.91586,0.76232,0.92133,0.69598,0.90601,0.69678,0.90084,0.69786,0.89401,0.01992,0.26403,0.016129,0.26442,0.015879,0.25725,0.019681,0.25696,0.011064,0.26487,0.010799,0.25738,0.02902,0.25667,0.028962,0.26359,0.023894,0.26371,0.023769,0.25674,0.023675,0.24196,0.029143,0.2419,0.019412,0.24215,0.70478,0.86781,0.70599,0.87267,0.70181,0.87311,0.69998,0.86927,0.70313,0.86439,0.69737,0.86728,0.70253,0.86257,0.69685,0.86521,0.01689,0.27125,0.011285,0.26738,0.021064,0.27722,0.024878,0.28258,0.028803,0.28251,0.016449,0.27325,0.012214,0.27056,0.02019,0.27828,0.02486,0.28315,0.028795,0.28356,0.016011,0.27532,0.013333,0.27386,0.019268,0.27945,0.024135,0.28387,0.028788,0.28442,0.20157,0.044153,0.19962,0.013911,0.20189,0.01376,0.20374,0.042292,0.19955,0.048487,0.19733,0.013784,0.19746,0.053538,0.19608,0.015372,0.19501,0.055573,0.19401,0.015872,0.98321,0.47499,0.9817,0.47499,0.98182,0.46528,0.98338,0.465,0.98161,0.54693,0.9811,0.54588,0.92723,0.54647,0.92775,0.54543,0.92657,0.47452,0.92808,0.47454,0.92657,0.46451,0.92812,0.46483,0.92861,0.39309,0.929,0.39435,0.98274,0.39355,0.98233,0.3948,0.099746,0.11494,0.15472,0.90886,0.15551,0.85702,0.74084,0.63742,0.80815,0.63743,0.80815,0.68593,0.74083,0.68591,0.74084,0.62107,0.80815,0.62107,0.74084,0.59827,0.80815,0.59828,0.74082,0.72708,0.74083,0.70428,0.80814,0.7043,0.80814,0.72709,0.015541,0.24227,0.011977,0.24227,0.3209,0.72751,0.343,0.72799,0.34487,0.72951,0.32168,0.73135,0.61827,0.42191,0.61467,0.52187,0.32155,0.62096,0.32199,0.53702,0.36286,0.62306,0.35726,0.62215,0.36762,0.53832,0.37546,0.53953,0.58155,0.61756,0.54652,0.61793,0.5361,0.5344,0.58026,0.53399,0.39896,0.31188,0.38445,0.41766,0.32553,0.41534,0.34159,0.31092,0.8888,0.79461,0.88935,0.77561,0.89166,0.79422,0.89132,0.79427,0.88662,0.776,0.61621,0.61665,0.61436,0.53295,0.77594,0.4254,0.82226,0.42637,0.82281,0.43496,0.77496,0.43394,0.58552,0.88559,0.63401,0.88566,0.63394,0.93936,0.58544,0.93929,0.19832,0.91563,0.19585,0.87233,0.26675,0.86851,0.26924,0.93948,0.19243,0.80041,0.26556,0.84275,0.2017,0.71737,0.1542,0.77168,0.14815,0.7677,0.19548,0.71207,0.2573,0.76656,0.2405,0.78622,0.27797,0.78383,0.26153,0.80309,0.42736,0.29529,0.44926,0.29167,0.40496,0.31594,0.48376,0.23247,0.49097,0.17903,0.5428,0.1861,0.5357,0.23936,0.3817,0.084977,0.41273,0.07586,0.3603,0.11589,0.31992,0.12524,0.379,0.077552,0.42733,0.05851,0.50004,0.11231,0.55188,0.11937,0.012312,0.85538,0.017205,0.8519,0.035645,0.85188,0.037768,0.85707,0.96441,0.84734,0.96817,0.8503,0.90672,0.84484,0.90756,0.84412,0.5659,0.029255,0.52144,0.017129,0.52022,0.010799,0.56739,0.021866,0.64744,0.16669,0.64839,0.16836,0.58668,0.16603,0.59053,0.16431,0.43136,0.061949,0.42267,0.079274,0.31959,0.13545,0.35659,0.13005,0.41469,0.22329,0.421,0.17677,0.10663,0.7284,0.11299,0.73076,0.54689,0.096494,0.49479,0.081835,0.90656,0.25563,0.90472,0.47751,0.88282,0.47732,0.88469,0.25545,0.018641,0.6309,0.010799,0.63151,0.039163,0.63039,0.1092,0.63254,0.11658,0.6333,0.81425,0.351,0.81507,0.25486,0.82153,0.4544,0.77554,0.45338,0.56715,0.88556,0.56707,0.93926,0.54428,0.93923,0.54435,0.88553,0.8212,0.47518,0.77492,0.4741,0.98041,0.86865,0.97644,0.86748,0.9769,0.84455,0.9808,0.84212,0.96308,0.88256,0.96181,0.87877,0.91065,0.88228,0.91311,0.87867,0.89567,0.8686,0.90011,0.86675,0.89417,0.8412,0.89784,0.84149,0.90169,0.83153,0.90411,0.83524,0.65209,0.15119,0.64994,0.15554,0.58661,0.1553,0.58413,0.15216,0.66046,0.15938,0.65654,0.16048,0.66482,0.18609,0.66044,0.18485,0.65069,0.20035,0.64825,0.19671,0.59831,0.20214,0.59962,0.19836,0.58019,0.18889,0.58439,0.18732,0.57451,0.16266,0.57869,0.16393,0.96777,0.83705,0.96627,0.86264,0.95791,0.86721,0.91832,0.86885,0.91015,0.86218,0.65064,0.18166,0.64383,0.18585,0.60418,0.1875,0.59376,0.18098,0.35691,0.25423,0.35931,0.30377,0.33917,0.25516,0.33979,0.18661,0.36446,0.30651,0.96987,0.83333,0.32469,0.42585,0.32216,0.52636,0.383,0.42808,0.36896,0.52781,0.19072,0.55874,0.16401,0.55865,0.16115,0.51177,0.19137,0.51203,0.9847,0.10612,0.98553,0.19895,0.95721,0.19253,0.049918,0.30502,0.050525,0.41716,0.044765,0.319,0.045914,0.3066,0.047008,0.41382,0.010799,0.4141,0.014272,0.40729,0.82005,0.52833,0.77359,0.52723,0.6503,0.93938,0.65037,0.88568,0.67316,0.8857,0.6731,0.9394,0.77331,0.55011,0.81926,0.55121,0.81888,0.57075,0.77275,0.56964,0.35928,0.20046,0.37164,0.28136,0.37169,0.23348,0.080454,0.90927,0.064239,0.92433,0.052432,0.86559,0.078213,0.86157,0.012833,0.4207,0.015524,0.47188,0.013684,0.47904,0.046916,0.42103,0.049815,0.47528,0.046344,0.47144,0.030553,0.55284,0.030327,0.54664,0.050343,0.53098,0.052422,0.53188,0.017051,0.4843,0.04669,0.47956,0.054209,0.53557,0.038341,0.55404,0.050525,0.29413,0.055427,0.30285,0.054531,0.41132,0.053992,0.42156,0.053733,0.47072,0.05381,0.48009,0.054774,0.52941,0.055124,0.53781,0.039654,0.55401,0.056706,0.48112,0.057794,0.52905,0.058133,0.30458,0.056769,0.40945,0.014959,0.42273,0.017819,0.46962,0.045185,0.423,0.044537,0.46971,0.044607,0.31953,0.017119,0.40593,0.045438,0.41235,0.056839,0.42217,0.056781,0.47004,0.031467,0.54449,0.047682,0.52943,0.01966,0.48575,0.045441,0.48173,0.19603,0.94004,0.26515,0.98374,0.18885,0.8728,0.18654,0.79946,0.58483,0.40651,0.5271,0.39865,0.52841,0.29268,0.59822,0.30231,0.6183,0.41125,0.61898,0.30541,0.6189,0.27618,0.60603,0.24886,0.47654,0.28549,0.98354,0.28845,0.93109,0.28763,0.93203,0.21745,0.98456,0.21827,0.98337,0.29839,0.93096,0.29757,0.98221,0.36861,0.92967,0.36779,0.016503,0.57729,0.03681,0.57667,0.58096,0.52043,0.53582,0.51863,0.52789,0.41839,0.58474,0.42072,0.39241,0.41902,0.39095,0.42929,0.37697,0.529,0.15363,0.77421,0.14687,0.77143,0.23904,0.78945,0.25809,0.80529,0.27107,0.82063,0.26812,0.82297,0.28893,0.84023,0.26622,0.83953,0.1938,0.79811,0.18845,0.79576,0.18814,0.15177,0.17069,0.14954,0.17162,0.14372,0.18885,0.14598,0.13267,0.2177,0.11579,0.21216,0.12098,0.2434,0.1122,0.23277,0.097428,0.24959,0.098131,0.23226,0.065877,0.2388,0.075361,0.22935,0.057545,0.21127,0.074993,0.20776,0.010799,0.14288,0.028687,0.14278,0.17222,0.13956,0.18943,0.14182,0.12931,0.14056,0.12982,0.13741,0.1146,0.19581,0.10912,0.21273,0.094668,0.21128,0.08059,0.21021,0.078791,0.19279,0.071144,0.13892,0.13003,0.13607,0.73449,0.98934,0.73308,0.98814,0.73309,0.97447,0.7345,0.97328,0.71686,0.98934,0.71827,0.98815,0.71686,0.97328,0.71827,0.97447,0.71827,0.97209,0.7331,0.97209,0.71686,0.95741,0.71827,0.9586,0.73462,0.95741,0.73321,0.9586,0.76224,0.98939,0.76225,0.98255,0.76225,0.97572,0.7604,0.97743,0.76039,0.98768,0.74743,0.98939,0.75483,0.98939,0.74928,0.98768,0.74743,0.97572,0.74743,0.98255,0.74928,0.97743,0.72568,0.97447,0.75484,0.97572,0.74772,0.97142,0.75514,0.97142,0.76256,0.97142,0.76072,0.96973,0.74957,0.96973,0.74772,0.95793,0.74772,0.96467,0.74959,0.95962,0.76266,0.95793,0.75519,0.95793,0.76078,0.95962,0.73316,0.96535,0.76261,0.96467,0.86237,0.50111,0.86224,0.54326,0.85679,0.54324,0.85692,0.5011,0.86782,0.50113,0.86769,0.54328,0.87364,0.50115,0.87351,0.5433,0.87945,0.50117,0.87932,0.54331,0.8849,0.50118,0.88478,0.54333,0.89035,0.5012,0.89023,0.54334,0.89617,0.50121,0.89605,0.54336,0.85097,0.54323,0.85111,0.50108,0.18227,0.21168,0.1823,0.25383,0.17647,0.25383,0.17644,0.21169,0.18808,0.21168,0.18812,0.25383,0.19347,0.21167,0.1935,0.25382,0.19886,0.21167,0.19889,0.25382,0.20471,0.21166,0.20475,0.25381,0.16566,0.2117,0.1657,0.25384,0.15985,0.25385,0.15983,0.2117,0.17104,0.21169,0.17108,0.25384,0.12797,0.14052,0.12836,0.13732,0.11255,0.19364,0.096557,0.19411,0.096714,0.19274,0.080857,0.19131,0.072478,0.14,0.12847,0.13689,0.83445,0.79268,0.8345,0.75053,0.8201,0.79258,0.82068,0.75035,0.80556,0.79227,0.80661,0.75012,0.75378,0.79305,0.75638,0.77443,0.86984,0.83894,0.81887,0.86504,0.81724,0.852,0.81555,0.83857,0.86968,0.84023,0.83465,0.75004,0.88661,0.77502,0.82071,0.74946,0.80647,0.74958,0.75685,0.77333,0.88849,0.77479,0.81806,0.89036,0.86891,0.86512,0.79215,0.85506,0.79374,0.86806,0.7905,0.84165,0.8577,0.81686,0.80331,0.81641,0.8706,0.86498,0.77252,0.41685,0.77418,0.42107,0.76586,0.43431,0.76242,0.434,0.82598,0.41787,0.82414,0.42205,0.83531,0.43545,0.83183,0.43558,0.82976,0.45839,0.82634,0.45722,0.8292,0.47732,0.82596,0.47671,0.82797,0.5291,0.82482,0.52887,0.82669,0.55096,0.8236,0.55108,0.82299,0.57609,0.82039,0.5738,0.76839,0.57477,0.7711,0.57261,0.76589,0.54949,0.76898,0.54976,0.76724,0.45657,0.7707,0.45587,0.77527,0.42368,0.77213,0.43409,0.82297,0.42464,0.82562,0.43523,0.82261,0.45533,0.82249,0.47567,0.82149,0.52853,0.82029,0.55111,0.81971,0.57157,0.77189,0.57042,0.77228,0.54996,0.76881,0.52751,0.77215,0.52734,0.77007,0.47533,0.7736,0.47451,0.77448,0.45423,0.5973,0.72695,0.61688,0.68247,0.58,0.63185,0.61542,0.62739,0.32144,0.63135,0.35591,0.63271,0.36122,0.63364,0.57546,0.73094,0.5466,0.63903,0.74169,0.89139,0.75473,0.89399,0.04686,0.92657,0.047069,0.98431,0.036726,0.98554,0.036507,0.92664,0.2787,0.26999,0.31197,0.3041,0.30532,0.31211,0.27132,0.27726,0.94028,0.73657,0.93959,0.80688,0.92924,0.80801,0.92992,0.7365,0.3136,0.26998,0.90281,0.75623,0.050485,0.97353,0.067558,0.94935,0.07244,0.94838,0.050342,0.93467,0.96691,0.75696,0.96227,0.75833,0.94364,0.74406,0.94315,0.79326,0.26998,0.31238,0.27535,0.30565,0.29619,0.30775,0.27526,0.28629,0.010799,0.94851,0.015672,0.9495,0.033231,0.97458,0.033087,0.93468,0.60735,0.23273,0.36905,0.69394,0.38452,0.67773,0.75252,0.33896,0.75361,0.38689,0.94225,0.55675,0.94089,0.66161,0.61962,0.66366,0.61958,0.63033,0.62191,0.66185,0.62183,0.64866,0.74827,0.87548,0.744,0.87955,0.75779,0.87758,0.75896,0.88302,0.75628,0.88859,0.74296,0.88571,0.77329,0.89384,0.76933,0.88981,0.77826,0.89583,0.69536,0.87711,0.69354,0.88048,0.73152,0.87944,0.70508,0.88296,0.70436,0.88796,0.76606,0.89741,0.76722,0.89339,0.69884,0.88723,0.69917,0.88201,0.04215,0.25747,0.04178,0.26464,0.037995,0.26418,0.038353,0.25711,0.047227,0.25768,0.046836,0.26517,0.034028,0.2638,0.034268,0.25683,0.034609,0.24205,0.038871,0.24231,0.70593,0.87765,0.70094,0.87726,0.70509,0.88122,0.69893,0.87982,0.046572,0.26767,0.040903,0.27145,0.036629,0.27735,0.032727,0.28265,0.04559,0.27084,0.04131,0.27346,0.037485,0.27842,0.032737,0.28322,0.044416,0.27411,0.041713,0.27553,0.038388,0.2796,0.03345,0.28395,0.18656,0.014364,0.18885,0.014427,0.18798,0.04472,0.18574,0.042944,0.19117,0.014273,0.19017,0.048897,0.19234,0.015366,0.19247,0.053716,0.93045,0.28773,0.93034,0.29746,0.92883,0.29742,0.92889,0.2874,0.92926,0.36835,0.92873,0.36939,0.9826,0.36919,0.9831,0.37024,0.98399,0.29829,0.9855,0.29831,0.98418,0.28857,0.98574,0.28829,0.98496,0.21808,0.98538,0.21683,0.93163,0.21725,0.93125,0.21598,0.48791,0.10138,0.76565,0.52758,0.7668,0.47574,0.26796,0.011298,0.31646,0.011015,0.31684,0.078331,0.26836,0.078614,0.33282,0.010923,0.33319,0.078239,0.35598,0.078115,0.35562,0.010799,0.24958,0.011408,0.24999,0.078724,0.2272,0.078865,0.22678,0.011548,0.04274,0.2425,0.046303,0.24256,0.19385,0.010799,0.19596,0.011703,0.1919,0.012046,0.73708,0.94825,0.74828,0.93814,0.74822,0.94825,0.74264,0.94994,0.73709,0.93814,0.73522,0.9432,0.74269,0.93646,0.75011,0.9432,0.77041,0.94705,0.7593,0.9368,0.77042,0.9368,0.77227,0.94193,0.7593,0.94705,0.76485,0.94876,0.75745,0.94193,0.76486,0.93509,0.71548,0.93896,0.7266,0.94921,0.71549,0.94921,0.71363,0.94409,0.7266,0.93896,0.72104,0.93725,0.72845,0.94409,0.72104,0.95092,0.69217,0.94897,0.7033,0.93886,0.70331,0.94897,0.69774,0.95066,0.6921,0.93886,0.69027,0.94392,0.69769,0.93717,0.70516,0.94392,0.49561,0.87661,0.51843,0.87529,0.5245,0.9749,0.50108,0.97625,0.45579,0.87876,0.45198,0.97896,0.42545,0.87473,0.41253,0.97368,0.71064,0.75644,0.72998,0.75546,0.73636,0.83882,0.71377,0.83992,0.6807,0.75732,0.67495,0.84118,0.66005,0.75378,0.64579,0.83616,0.92863,0.65522,0.90932,0.65371,0.91471,0.57035,0.93726,0.57206,0.87941,0.65202,0.85868,0.655,0.84665,0.57226,0.87594,0.56803,0.66603,0.13504,0.64451,0.12734,0.67785,0.033291,0.69994,0.041192,0.60692,0.11406,0.57667,0.10938,0.59215,0.010799,0.6315,0.016841]], - - "faces": [42,0,1,2,0,0,1,2,0,0,0,42,2,3,0,0,2,3,0,0,0,0,42,4,5,6,0,4,5,6,1,1,1,42,6,7,4,0,6,7,4,1,1,1,42,8,9,10,0,8,9,10,2,3,4,42,10,11,8,0,10,11,8,4,5,2,42,12,13,14,0,12,13,14,6,6,6,42,14,15,12,0,14,15,12,7,7,7,42,15,14,16,0,16,17,18,8,8,8,42,16,17,15,0,18,19,16,9,9,9,42,3,2,18,0,3,2,20,0,0,0,42,18,19,3,0,20,21,3,0,0,0,42,20,21,22,0,22,23,24,10,11,12,42,22,23,20,0,24,25,22,12,13,10,42,24,25,26,0,26,27,28,14,14,14,42,26,27,24,0,28,29,26,15,15,15,42,24,27,28,0,26,29,30,16,16,16,42,10,13,12,0,10,13,12,17,18,19,42,12,11,10,0,12,11,10,19,20,17,42,29,30,31,0,31,32,33,21,21,21,42,31,32,29,0,33,34,31,21,21,21,42,33,34,35,0,35,36,37,22,22,22,42,35,36,33,0,37,38,35,23,23,23,42,37,38,39,0,39,40,41,24,24,24,42,39,40,37,0,41,42,39,24,24,24,42,41,42,43,0,43,44,45,25,25,25,42,43,44,41,0,45,46,43,25,25,25,42,45,41,44,0,47,43,46,26,26,26,42,44,46,45,0,46,48,47,26,26,26,42,47,48,42,0,49,50,44,25,25,25,42,42,41,47,0,44,43,49,25,25,25,42,49,50,51,0,51,52,53,27,27,27,42,51,52,49,0,53,54,51,27,27,27,42,50,53,54,0,52,55,56,24,24,24,42,54,51,50,0,56,53,52,24,24,24,42,53,55,56,0,55,57,58,28,28,28,42,56,54,53,0,58,56,55,28,28,28,42,57,47,41,0,59,49,43,26,26,26,42,41,45,57,0,43,47,59,26,26,26,42,58,59,22,0,60,61,24,0,0,0,42,22,60,58,0,24,62,60,0,0,0,42,61,62,63,0,63,64,65,26,26,26,42,63,64,61,0,65,66,63,26,26,26,42,65,66,51,0,67,68,69,29,29,29,42,51,54,65,0,69,70,67,29,29,29,42,66,67,52,0,68,71,72,29,29,29,42,52,51,66,0,72,69,68,29,29,29,42,67,62,61,0,73,64,63,26,26,26,42,61,52,67,0,63,74,73,26,26,26,42,68,69,70,0,75,76,77,0,0,0,42,70,71,68,0,77,78,75,0,0,0,42,72,73,74,0,79,80,81,0,0,0,42,74,75,72,0,81,82,79,0,0,0,42,76,77,78,0,83,84,85,30,30,30,42,78,79,76,0,85,86,83,30,30,30,42,80,81,82,0,87,88,89,29,29,29,42,82,83,80,0,89,90,87,29,29,29,42,84,85,67,0,91,92,71,29,29,29,42,67,66,84,0,71,68,91,29,29,29,42,86,87,54,0,93,94,70,29,29,29,42,54,56,86,0,70,95,93,29,29,29,42,54,87,88,0,70,94,96,29,29,29,42,88,65,54,0,96,67,70,29,29,29,42,62,76,79,0,64,97,98,31,31,31,42,79,63,62,0,98,65,64,31,31,31,42,89,90,68,0,99,100,75,32,32,32,42,68,71,89,0,75,78,99,33,33,33,42,91,78,77,0,101,85,84,34,35,35,42,77,92,91,0,84,102,101,35,36,34,42,76,62,67,0,97,64,73,31,31,31,42,77,76,67,0,84,83,71,37,37,37,42,67,85,77,0,71,92,84,38,38,38,42,71,70,59,0,103,104,105,39,39,39,42,59,58,71,0,105,106,103,39,39,39,42,70,69,93,0,77,76,107,40,40,40,42,93,59,70,0,107,108,77,40,40,40,42,69,68,94,0,76,75,109,41,42,43,42,94,93,69,0,109,107,76,43,41,41,42,68,90,95,0,75,100,110,42,35,35,42,95,94,68,0,110,109,75,35,43,42,42,90,89,96,0,100,99,111,30,30,30,42,96,95,90,0,111,110,100,30,30,30,42,89,71,58,0,112,103,106,31,31,31,42,58,96,89,0,106,113,112,31,31,31,42,36,97,98,0,38,114,115,44,44,44,42,98,33,36,0,115,35,38,45,45,45,42,99,100,101,0,116,117,118,46,46,46,42,101,102,99,0,118,119,116,46,46,46,42,103,104,98,0,120,121,115,47,47,47,42,98,97,103,0,115,114,120,48,48,48,42,40,39,101,0,42,41,118,49,49,49,42,101,100,40,0,118,117,42,49,49,49,42,105,106,100,0,122,123,124,0,0,0,42,100,99,105,0,124,125,122,0,0,0,42,106,107,40,0,123,126,127,0,0,0,42,40,100,106,0,127,124,123,0,0,0,42,107,108,37,0,126,128,129,0,0,0,42,37,40,107,0,129,127,126,0,0,0,42,108,109,110,0,128,130,131,0,0,0,42,110,37,108,0,131,129,128,0,0,0,42,109,111,93,0,130,132,133,0,0,0,42,93,110,109,0,133,131,130,0,0,0,42,111,112,59,0,132,134,135,0,0,0,42,59,93,111,0,135,133,132,0,0,0,42,113,114,66,0,136,137,138,29,29,29,42,66,65,113,0,138,139,136,29,29,29,42,114,115,84,0,137,140,141,29,29,29,42,84,66,114,0,141,138,137,29,29,29,42,115,116,117,0,140,142,143,29,29,29,42,117,84,115,0,143,141,140,29,29,29,42,116,118,119,0,142,144,145,29,29,29,42,119,117,116,0,145,143,142,29,29,29,42,118,120,121,0,144,146,147,29,29,29,42,121,119,118,0,147,145,144,29,29,29,42,120,122,123,0,146,148,149,29,29,29,42,123,121,120,0,149,147,146,29,29,29,42,122,124,88,0,148,150,151,29,29,29,42,88,123,122,0,151,149,148,29,29,29,42,124,113,65,0,150,136,139,29,29,29,42,65,88,124,0,139,151,150,29,29,29,42,75,74,125,0,82,81,152,50,50,50,42,125,112,75,0,152,134,82,50,50,50,42,74,73,105,0,81,80,122,51,51,51,42,105,125,74,0,122,152,81,51,51,51,42,73,126,106,0,80,153,123,52,52,52,42,106,105,73,0,123,122,80,52,52,52,42,126,127,107,0,153,154,126,53,53,53,42,107,106,126,0,126,123,153,53,53,53,42,127,128,108,0,154,155,128,54,54,54,42,108,107,127,0,128,126,154,54,54,54,42,128,129,109,0,155,156,130,55,55,55,42,109,108,128,0,130,128,155,55,55,55,42,129,72,111,0,156,79,132,56,56,56,42,111,109,129,0,132,130,156,56,56,56,42,72,75,112,0,79,82,134,57,57,57,42,112,111,72,0,134,132,79,57,57,57,42,83,82,114,0,90,89,137,50,50,50,42,114,113,83,0,137,136,90,50,50,50,42,82,81,115,0,89,88,140,57,57,57,42,115,114,82,0,140,137,89,57,57,57,42,81,130,116,0,88,157,142,56,56,56,42,116,115,81,0,142,140,88,56,56,56,42,130,131,118,0,157,158,144,58,58,58,42,118,116,130,0,144,142,157,58,58,58,42,131,132,120,0,158,159,146,54,54,54,42,120,118,131,0,146,144,158,54,54,54,42,132,133,122,0,159,160,148,53,53,53,42,122,120,132,0,148,146,159,53,53,53,42,133,80,124,0,160,87,150,52,52,52,42,124,122,133,0,150,148,160,52,52,52,42,80,83,113,0,87,90,136,51,51,51,42,113,124,80,0,136,150,87,51,51,51,42,23,99,102,0,25,161,162,13,59,60,42,102,134,23,0,162,163,25,60,61,13,42,135,136,87,0,164,165,94,28,28,28,42,87,86,135,0,94,93,164,28,28,28,42,137,99,23,0,166,161,25,0,0,0,42,112,125,137,0,134,152,167,0,0,0,42,137,59,112,0,167,135,134,0,0,0,42,125,105,99,0,152,122,125,0,0,0,42,99,137,125,0,125,167,152,0,0,0,42,138,139,140,0,168,169,170,62,63,64,42,140,141,138,0,170,171,168,64,65,62,42,142,138,141,0,172,168,171,66,67,68,42,141,143,142,0,171,173,172,68,69,66,42,144,145,146,0,174,175,176,70,71,72,42,146,147,144,0,176,177,174,72,73,70,42,148,149,150,0,178,179,180,74,74,74,42,151,152,153,0,181,182,183,75,75,75,42,153,154,151,0,183,184,181,76,76,76,42,152,155,23,0,182,185,186,77,77,77,42,23,153,152,0,186,183,182,78,78,78,42,156,104,103,0,187,121,120,24,24,24,42,103,157,156,0,120,188,187,24,24,24,42,158,159,110,0,189,190,191,79,79,79,42,110,93,158,0,191,192,189,79,79,79,42,160,161,162,0,193,194,195,80,80,80,42,162,163,160,0,195,196,193,80,80,80,42,159,38,37,0,190,40,39,81,81,81,42,37,110,159,0,39,191,190,81,81,81,42,161,156,157,0,194,187,188,82,82,82,42,157,162,161,0,188,195,194,82,82,82,42,134,102,164,0,163,162,197,61,60,83,42,164,136,134,0,197,165,163,83,84,61,42,165,166,167,0,198,199,200,85,86,87,42,167,168,165,0,200,201,198,87,88,85,42,169,170,171,0,202,203,204,89,90,91,42,171,172,169,0,204,205,202,91,92,89,42,173,174,23,0,206,207,186,93,93,93,42,23,134,173,0,186,208,206,94,94,94,42,174,175,153,0,207,209,183,95,95,95,42,153,23,174,0,183,186,207,96,96,96,42,175,176,177,0,209,210,211,97,97,97,42,177,153,175,0,211,183,209,98,98,98,42,176,173,134,0,210,206,208,99,99,99,42,134,177,176,0,208,211,210,100,100,100,42,178,179,136,0,212,213,214,101,101,101,42,136,180,178,0,214,215,212,102,102,102,42,179,181,134,0,213,216,208,103,103,103,42,134,136,179,0,208,214,213,104,104,104,42,181,182,177,0,216,217,211,105,105,105,42,177,134,181,0,211,208,216,106,106,106,42,182,178,180,0,217,212,215,107,107,107,42,180,177,182,0,215,211,217,108,108,108,42,183,184,180,0,218,219,215,109,109,109,42,180,136,183,0,215,214,218,110,110,110,42,180,184,185,0,215,219,220,111,111,111,42,185,186,180,0,220,221,215,112,112,112,42,187,139,138,0,222,223,224,113,63,62,42,138,154,187,0,224,184,222,62,114,113,42,139,187,188,0,223,222,225,63,113,115,42,189,187,154,0,226,222,184,116,116,116,42,154,153,189,0,184,183,226,117,117,117,42,190,191,153,0,227,228,183,118,118,118,42,153,177,190,0,183,211,227,119,119,119,42,153,191,192,0,183,228,229,120,120,120,42,192,193,153,0,229,230,183,121,121,121,42,194,195,177,0,231,232,211,122,122,122,42,177,180,194,0,211,215,231,123,123,123,42,177,195,196,0,211,232,233,124,124,124,42,196,197,177,0,233,234,211,125,125,125,42,198,199,184,0,235,236,219,126,126,126,42,184,183,198,0,219,218,235,127,127,127,42,199,200,185,0,236,237,220,128,128,128,42,185,184,199,0,220,219,236,129,129,129,42,201,202,195,0,238,239,232,14,14,14,42,195,194,201,0,232,231,238,14,14,14,42,202,203,196,0,239,240,233,29,29,29,42,196,195,202,0,233,232,239,29,29,29,42,187,204,205,0,222,241,242,130,130,130,42,205,188,187,0,242,225,222,130,130,130,42,206,204,187,0,243,241,222,131,131,131,42,187,189,206,0,222,226,243,132,132,132,42,145,144,174,0,244,245,207,133,133,133,42,174,173,145,0,207,206,244,134,134,134,42,144,147,175,0,245,246,209,135,135,135,42,175,174,144,0,209,207,245,136,136,136,42,147,146,176,0,246,247,210,137,137,137,42,176,175,147,0,210,209,246,138,138,138,42,146,145,173,0,247,244,206,139,139,139,42,173,176,146,0,206,210,247,140,140,140,42,150,149,151,0,248,249,181,141,141,141,42,151,155,150,0,181,185,248,142,142,142,42,149,148,152,0,249,250,182,143,143,143,42,152,151,149,0,182,181,249,144,144,144,42,148,150,155,0,250,248,185,145,145,145,42,155,152,148,0,185,182,250,146,146,146,42,165,168,191,0,251,252,228,14,14,14,42,191,190,165,0,228,227,251,14,14,14,42,168,167,192,0,252,253,229,29,29,29,42,192,191,168,0,229,228,252,29,29,29,42,171,170,179,0,254,255,213,147,147,147,42,179,178,171,0,213,212,254,148,148,148,42,170,169,181,0,255,256,216,149,149,149,42,181,179,170,0,216,213,255,150,150,150,42,169,172,182,0,256,257,217,151,151,151,42,182,181,169,0,217,216,256,152,152,152,42,172,171,178,0,257,254,212,153,153,153,42,178,182,172,0,212,217,257,154,154,154,42,44,43,61,0,46,45,258,155,155,155,42,61,207,44,0,258,259,46,156,156,156,42,43,42,52,0,45,44,260,27,27,27,42,52,61,43,0,260,258,45,27,27,27,42,46,44,207,0,48,46,259,157,157,157,42,207,208,46,0,259,261,48,158,158,158,42,42,48,49,0,44,50,262,27,27,27,42,49,52,42,0,262,260,44,27,27,27,42,60,209,210,0,263,264,265,159,159,159,42,210,211,60,0,265,266,263,160,160,160,42,212,213,214,0,267,268,269,161,161,161,42,214,215,212,0,269,270,267,161,161,161,42,216,217,215,0,271,272,270,162,162,162,42,215,214,216,0,270,269,271,163,163,163,42,218,64,60,0,273,66,263,164,164,164,42,60,211,218,0,263,266,273,164,164,164,42,63,58,60,0,65,274,263,26,26,26,42,60,64,63,0,263,66,65,26,26,26,42,219,220,221,0,275,276,277,165,165,165,42,221,222,219,0,277,278,275,166,166,166,42,220,223,224,0,276,279,280,167,167,167,42,224,221,220,0,280,277,276,168,168,168,42,223,225,226,0,279,281,282,169,169,169,42,226,224,223,0,282,280,279,170,170,170,42,91,158,93,0,283,284,107,34,41,41,42,93,94,91,0,107,109,283,41,43,34,42,227,228,229,0,285,286,287,171,171,171,42,229,230,227,0,287,288,285,172,172,172,42,22,21,209,0,24,23,289,173,173,173,42,209,60,22,0,289,62,24,174,174,174,42,227,142,143,0,290,172,173,175,175,175,42,143,228,227,0,173,291,290,176,176,176,42,231,232,50,0,292,293,52,177,177,177,42,50,49,231,0,52,51,292,177,177,177,42,232,233,53,0,293,294,55,178,178,178,42,53,50,232,0,55,52,293,179,179,179,42,233,234,55,0,294,295,57,180,180,180,42,55,53,233,0,57,55,294,181,181,181,42,234,235,236,0,295,296,297,29,29,29,42,236,55,234,0,297,57,295,29,29,29,42,235,237,57,0,296,298,59,29,29,29,42,57,236,235,0,59,297,296,29,29,29,42,237,238,47,0,298,299,49,182,182,182,42,47,57,237,0,49,59,298,29,29,29,42,238,239,48,0,299,300,50,183,183,183,42,48,47,238,0,50,49,299,184,184,184,42,239,231,49,0,300,301,262,177,177,177,42,49,48,239,0,262,50,300,177,177,177,42,240,241,232,0,302,303,304,14,14,14,42,232,231,240,0,304,305,302,14,14,14,42,241,242,233,0,303,306,307,185,185,185,42,233,232,241,0,307,304,303,186,186,186,42,242,243,234,0,306,308,309,26,26,26,42,234,233,242,0,309,307,306,26,26,26,42,243,244,235,0,308,310,311,27,27,27,42,235,234,243,0,311,309,308,27,27,27,42,244,245,237,0,310,312,313,27,27,27,42,237,235,244,0,313,311,310,27,27,27,42,245,246,238,0,312,314,315,28,28,28,42,238,237,245,0,315,313,312,28,28,28,42,246,247,239,0,314,316,317,187,187,187,42,239,238,246,0,317,315,314,187,187,187,42,247,240,231,0,318,302,305,14,14,14,42,231,239,247,0,305,319,318,14,14,14,42,248,249,241,0,320,321,303,188,188,188,42,241,240,248,0,303,302,320,188,188,188,42,242,241,249,0,306,303,321,189,189,189,42,249,250,242,0,321,322,306,190,190,190,42,250,251,243,0,322,323,308,191,191,191,42,243,242,250,0,308,306,322,192,192,192,42,251,252,244,0,323,324,310,193,193,193,42,244,243,251,0,310,308,323,194,194,194,42,252,253,245,0,324,325,312,195,195,195,42,245,244,252,0,312,310,324,196,196,196,42,253,254,246,0,325,326,314,197,197,197,42,246,245,253,0,314,312,325,198,198,198,42,255,247,246,0,327,316,314,199,199,199,42,246,254,255,0,314,326,327,200,200,200,42,255,248,240,0,328,320,302,188,188,188,42,240,247,255,0,302,318,328,188,188,188,42,256,257,250,0,329,330,331,201,201,201,42,250,258,256,0,331,332,329,202,202,202,42,257,259,251,0,330,333,334,203,203,203,42,251,250,257,0,334,331,330,204,204,204,42,259,260,252,0,333,335,336,29,29,29,42,252,251,259,0,336,334,333,29,29,29,42,260,256,258,0,335,329,332,29,29,29,42,258,252,260,0,332,336,335,29,29,29,42,261,262,252,0,337,338,336,29,29,29,42,252,258,261,0,336,332,337,29,29,29,42,262,263,253,0,338,339,340,29,29,29,42,253,252,262,0,340,336,338,29,29,29,42,263,264,254,0,339,341,342,205,205,205,42,254,253,263,0,342,340,339,204,204,204,42,264,261,258,0,341,337,332,206,206,206,42,258,254,264,0,332,342,341,207,207,207,42,265,257,256,0,343,330,329,208,208,208,42,265,256,266,0,344,345,346,209,209,209,42,265,267,257,0,344,347,348,29,29,29,42,268,259,257,0,349,350,348,210,210,210,42,268,257,267,0,349,348,347,29,29,29,42,268,269,259,0,349,351,350,211,211,211,42,270,260,259,0,352,353,350,29,29,29,42,270,259,269,0,352,350,351,212,212,212,42,270,271,260,0,352,354,353,29,29,29,42,272,256,260,0,355,345,353,213,213,213,42,272,260,271,0,355,353,354,29,29,29,42,272,266,256,0,355,346,345,214,214,214,42,273,262,261,0,356,357,358,213,213,213,42,273,261,274,0,356,358,359,215,215,215,42,273,275,262,0,356,360,357,29,29,29,42,276,263,262,0,361,362,357,29,29,29,42,276,262,275,0,361,357,360,29,29,29,42,276,277,263,0,361,363,362,212,212,212,42,278,264,263,0,364,365,362,216,216,216,42,278,263,277,0,364,362,363,217,217,217,42,278,279,264,0,364,366,365,29,29,29,42,280,261,264,0,367,358,365,218,218,218,42,280,264,279,0,367,365,366,29,29,29,42,280,274,261,0,367,359,358,219,219,219,42,281,282,265,0,368,369,370,220,220,220,42,265,266,281,0,370,371,368,221,221,221,42,282,283,267,0,369,372,373,222,222,222,42,267,265,282,0,373,370,369,223,223,223,42,283,284,268,0,372,374,375,224,224,224,42,268,267,283,0,375,373,372,225,225,225,42,284,285,269,0,374,376,377,226,226,226,42,269,268,284,0,377,375,374,227,227,227,42,285,286,270,0,376,378,379,228,228,228,42,270,269,285,0,379,377,376,229,229,229,42,286,287,271,0,378,380,381,230,230,230,42,271,270,286,0,381,379,378,231,231,231,42,287,288,272,0,380,382,383,232,232,232,42,272,271,287,0,383,381,380,233,233,233,42,288,281,266,0,384,368,371,234,234,234,42,266,272,288,0,371,385,384,235,235,235,42,289,290,273,0,386,387,388,236,236,236,42,273,274,289,0,388,389,386,237,237,237,42,290,291,275,0,387,390,391,238,238,238,42,275,273,290,0,391,388,387,238,238,238,42,291,292,276,0,390,392,393,239,239,239,42,276,275,291,0,393,391,390,240,240,240,42,292,293,277,0,392,394,395,241,241,241,42,277,276,292,0,395,393,392,242,242,242,42,293,294,278,0,394,396,397,243,243,243,42,278,277,293,0,397,395,394,244,244,244,42,294,295,279,0,398,399,400,245,245,245,42,279,278,294,0,400,401,398,246,246,246,42,295,296,280,0,399,402,403,247,247,247,42,280,279,295,0,403,400,399,247,247,247,42,296,289,274,0,402,386,389,248,248,248,42,274,280,296,0,389,403,402,249,249,249,42,25,24,249,0,404,405,321,250,250,250,42,249,248,25,0,321,320,404,250,250,250,42,24,297,250,0,405,406,322,251,251,251,42,250,249,24,0,322,321,405,252,252,252,42,297,298,258,0,406,407,408,253,253,253,42,258,250,297,0,408,322,406,254,254,254,42,298,299,254,0,407,409,326,255,255,255,42,254,258,298,0,326,408,407,256,256,256,42,299,26,255,0,409,410,327,257,257,257,42,255,254,299,0,327,326,409,258,258,258,42,26,25,248,0,411,404,320,259,259,259,42,248,255,26,0,320,328,411,260,260,260,42,28,300,297,0,30,412,413,261,261,261,42,297,24,28,0,413,26,30,262,262,262,42,300,301,298,0,412,414,415,263,263,263,42,298,297,300,0,415,413,412,263,263,263,42,301,302,299,0,414,416,417,264,264,264,42,299,298,301,0,417,415,414,265,265,265,42,302,27,26,0,416,418,419,266,266,266,42,26,299,302,0,419,417,416,267,267,267,42,303,304,305,0,420,421,422,268,268,268,42,305,306,303,0,422,423,420,269,269,269,42,303,306,307,0,420,423,424,270,270,270,42,308,309,300,0,425,426,412,271,271,271,42,300,28,308,0,412,30,425,272,272,272,42,309,310,301,0,426,427,414,273,273,273,42,301,300,309,0,414,412,426,274,274,274,42,310,311,302,0,427,428,416,275,275,275,42,302,301,310,0,416,414,427,276,276,276,42,311,312,27,0,428,429,418,277,277,277,42,27,302,311,0,418,416,428,278,278,278,42,312,308,28,0,430,425,30,279,279,279,42,28,27,312,0,30,29,430,280,280,280,42,307,306,309,0,424,423,431,281,281,281,42,309,308,307,0,431,432,424,281,281,281,42,306,305,310,0,423,422,433,282,282,282,42,310,309,306,0,433,434,423,282,282,282,42,305,304,311,0,422,421,435,283,283,283,42,311,310,305,0,435,433,422,283,283,283,42,304,303,312,0,421,420,436,284,284,284,42,312,311,304,0,436,437,421,284,284,284,42,303,307,308,0,420,424,432,285,285,285,42,308,312,303,0,432,438,420,285,285,285,42,313,314,92,0,439,440,441,286,286,286,42,92,315,313,0,441,442,439,287,287,287,42,314,316,91,0,440,443,444,288,288,288,42,91,92,314,0,444,441,440,288,288,288,42,316,317,158,0,443,445,446,289,289,289,42,158,91,316,0,446,444,443,290,290,290,42,317,318,159,0,445,447,448,291,291,291,42,159,158,317,0,448,446,445,292,292,292,42,318,319,38,0,447,449,450,293,293,293,42,38,159,318,0,450,448,447,294,294,294,42,319,320,39,0,449,451,452,295,295,295,42,39,38,319,0,452,450,449,296,296,296,42,320,321,101,0,451,453,454,297,297,297,42,101,39,320,0,454,452,451,298,298,298,42,321,322,102,0,453,455,456,299,299,299,42,102,101,321,0,456,454,453,300,300,300,42,322,323,164,0,455,457,458,301,301,301,42,164,102,322,0,458,456,455,302,302,302,42,323,324,325,0,457,459,460,303,303,303,42,325,164,323,0,460,458,457,304,304,304,42,326,313,315,0,461,439,442,305,305,305,42,327,313,326,0,462,439,461,306,306,306,42,328,329,314,0,463,464,440,307,307,307,42,314,313,328,0,440,439,463,308,308,308,42,329,330,316,0,464,465,443,309,309,309,42,316,314,329,0,443,440,464,310,310,310,42,330,331,317,0,465,466,445,311,311,311,42,317,316,330,0,445,443,465,312,312,312,42,331,332,318,0,466,467,447,313,313,313,42,318,317,331,0,447,445,466,314,314,314,42,332,333,319,0,467,468,449,0,0,0,42,319,318,332,0,449,447,467,0,0,0,42,333,334,320,0,468,469,451,0,0,0,42,320,319,333,0,451,449,468,0,0,0,42,334,335,321,0,469,470,453,0,0,0,42,321,320,334,0,453,451,469,0,0,0,42,335,336,322,0,470,471,455,0,0,0,42,322,321,335,0,455,453,470,0,0,0,42,336,337,323,0,471,472,457,315,315,315,42,323,322,336,0,457,455,471,315,315,315,42,337,338,324,0,472,473,459,29,29,29,42,324,323,337,0,459,457,472,29,29,29,42,338,339,340,0,473,474,475,29,29,29,42,340,324,338,0,475,459,473,29,29,29,42,339,341,342,0,474,476,477,29,29,29,42,342,340,339,0,477,475,474,29,29,29,42,341,343,327,0,476,478,462,29,29,29,42,327,342,341,0,462,477,476,29,29,29,42,343,328,313,0,478,463,439,316,316,316,42,313,327,343,0,439,462,478,29,29,29,42,36,35,329,0,38,37,464,317,317,317,42,329,328,36,0,464,463,38,318,318,318,42,35,34,330,0,37,36,465,319,319,319,42,330,329,35,0,465,464,37,320,320,320,42,34,33,331,0,36,35,466,321,321,321,42,331,330,34,0,466,465,36,322,322,322,42,33,98,332,0,35,115,467,323,323,323,42,332,331,33,0,467,466,35,324,324,324,42,98,104,333,0,115,121,468,325,325,325,42,333,332,98,0,468,467,115,326,326,326,42,104,156,334,0,121,187,469,327,327,327,42,334,333,104,0,469,468,121,327,327,327,42,156,161,335,0,187,194,470,328,328,328,42,335,334,156,0,470,469,187,329,329,329,42,161,160,336,0,194,193,471,330,330,330,42,336,335,161,0,471,470,194,331,331,331,42,160,163,337,0,193,196,472,332,332,332,42,337,336,160,0,472,471,193,332,332,332,42,163,162,338,0,196,195,473,333,333,333,42,338,337,163,0,473,472,196,334,334,334,42,162,157,339,0,195,188,474,335,335,335,42,339,338,162,0,474,473,195,336,336,336,42,157,103,341,0,188,120,476,337,337,337,42,341,339,157,0,476,474,188,337,337,337,42,103,97,343,0,120,114,478,338,338,338,42,343,341,103,0,478,476,120,339,339,339,42,97,36,328,0,114,38,463,340,340,340,42,328,343,97,0,463,478,114,341,341,341,42,7,6,230,0,7,6,288,342,342,342,42,230,229,7,0,288,287,7,343,343,343,42,212,215,211,0,267,270,266,344,344,344,42,211,210,212,0,266,265,267,345,345,345,42,344,345,3,0,479,480,481,346,346,346,42,3,19,344,0,481,482,479,346,346,346,42,346,347,3,0,483,484,481,347,347,347,42,3,345,346,0,481,480,483,348,348,348,42,215,217,218,0,270,272,273,349,349,349,42,218,211,215,0,273,266,270,350,350,350,42,217,216,348,0,272,271,485,351,351,351,42,348,218,217,0,485,273,272,352,352,352,42,349,350,18,0,486,487,20,353,354,355,42,18,2,349,0,20,2,486,355,355,353,42,351,352,1,0,488,489,1,356,356,356,42,1,0,351,0,1,0,488,357,357,357,42,351,0,3,0,490,491,481,358,358,358,42,3,347,351,0,481,484,490,359,359,359,42,352,349,2,0,489,486,2,360,361,362,42,2,1,352,0,2,1,489,362,363,360,42,353,354,355,0,492,493,494,364,364,364,42,355,356,353,0,494,495,492,365,365,365,42,16,30,29,0,18,32,31,366,366,366,42,29,17,16,0,31,19,18,367,367,367,42,20,154,138,0,496,184,224,368,368,368,42,7,29,32,0,7,31,34,369,369,369,42,32,4,7,0,34,4,7,369,369,369,42,5,213,212,0,5,268,267,26,26,26,42,212,6,5,0,267,6,5,26,26,26,42,11,141,140,0,11,171,170,5,65,64,42,140,8,11,0,170,8,11,64,2,5,42,15,228,143,0,15,291,173,370,370,370,42,143,12,15,0,173,12,15,371,371,371,42,20,138,142,0,22,168,172,10,67,66,42,142,21,20,0,172,23,22,66,11,10,42,12,143,141,0,12,173,171,19,69,68,42,141,11,12,0,171,11,12,68,20,19,42,21,142,227,0,23,172,290,372,372,372,42,227,209,21,0,290,289,23,373,373,373,42,9,350,349,0,9,487,486,3,354,353,42,349,10,9,0,486,10,9,353,4,3,42,13,352,351,0,13,489,488,374,374,374,42,351,14,13,0,488,14,13,375,375,375,42,10,349,352,0,10,486,489,17,361,360,42,352,13,10,0,489,13,10,360,18,17,42,30,346,357,0,32,483,497,376,376,376,42,357,31,30,0,497,33,32,376,376,376,42,228,15,29,0,498,499,500,377,377,377,42,29,7,228,0,500,501,498,378,378,378,42,14,351,346,0,502,503,504,379,379,379,42,346,30,14,0,504,505,502,380,380,380,42,209,227,6,0,506,507,508,381,381,381,42,6,212,209,0,508,509,506,382,382,382,42,346,351,347,0,504,503,510,383,383,383,42,209,212,210,0,506,509,511,384,384,384,42,358,359,15,0,512,513,499,385,385,385,42,15,17,358,0,499,514,512,386,386,386,42,359,360,29,0,513,515,500,387,387,387,42,29,15,359,0,500,499,513,388,388,388,42,360,358,17,0,515,512,514,389,389,389,42,17,29,360,0,514,500,515,390,390,390,42,361,362,230,0,516,517,518,391,391,391,42,230,6,361,0,518,508,516,391,391,391,42,362,363,227,0,517,519,507,392,392,392,42,227,230,362,0,507,518,517,393,393,393,42,363,361,6,0,519,516,508,394,394,394,42,6,227,363,0,508,507,519,395,395,395,42,364,365,16,0,520,521,522,396,396,396,42,16,14,364,0,522,502,520,397,397,397,42,365,366,30,0,521,523,505,398,398,398,42,30,16,365,0,505,522,521,399,399,399,42,366,364,14,0,523,520,502,400,400,400,42,14,30,366,0,502,505,523,401,401,401,42,367,368,229,0,524,525,526,402,402,402,42,229,228,367,0,526,498,524,402,402,402,42,368,369,7,0,525,527,501,403,403,403,42,7,229,368,0,501,526,525,403,403,403,42,369,367,228,0,527,524,498,404,404,404,42,228,7,369,0,498,501,527,405,405,405,42,218,348,208,0,273,485,528,26,26,26,42,208,207,218,0,528,529,273,26,26,26,42,218,207,61,0,273,529,63,164,164,164,42,61,64,218,0,63,66,273,164,164,164,42,200,199,198,0,530,531,532,406,407,408,42,198,370,200,0,532,533,530,408,409,406,42,371,203,202,0,534,535,536,410,411,412,42,202,201,371,0,536,537,534,412,413,410,42,372,205,204,0,538,539,540,414,415,416,42,204,206,372,0,540,541,538,416,417,414,42,373,183,136,0,542,218,214,418,418,418,42,136,135,373,0,214,543,542,419,419,419,42,374,189,153,0,544,226,183,420,420,420,42,153,193,374,0,183,230,544,421,421,421,42,375,190,177,0,545,227,211,422,422,422,42,177,197,375,0,211,234,545,423,423,423,42,376,194,180,0,546,231,215,424,424,424,42,180,186,376,0,215,221,546,425,425,425,42,373,370,198,0,542,547,235,426,426,426,42,198,183,373,0,235,218,542,427,427,427,42,376,371,201,0,546,548,238,428,428,428,42,201,194,376,0,238,231,546,428,428,428,42,374,372,206,0,544,549,243,429,429,429,42,206,189,374,0,243,226,544,430,430,430,42,375,166,165,0,545,550,251,0,0,0,42,165,190,375,0,251,227,545,0,0,0,42,377,378,345,0,551,552,480,431,431,431,42,345,344,377,0,480,479,551,431,431,431,42,378,379,346,0,552,553,483,432,432,432,42,346,345,378,0,483,480,552,433,433,433,42,379,380,357,0,553,554,497,434,434,434,42,357,346,379,0,497,483,553,434,434,434,42,381,382,378,0,555,556,552,435,435,435,42,378,377,381,0,552,551,555,435,435,435,42,382,383,379,0,556,557,553,436,436,436,42,379,378,382,0,553,552,556,437,437,437,42,383,384,380,0,557,558,554,438,438,438,42,380,379,383,0,554,553,557,438,438,438,42,385,386,382,0,559,560,561,439,439,439,42,382,381,385,0,561,562,559,439,439,439,42,386,387,383,0,563,564,565,440,440,440,42,383,382,386,0,565,566,563,441,441,441,42,387,388,384,0,567,568,569,442,442,442,42,384,383,387,0,569,570,567,443,443,443,42,389,390,387,0,571,572,564,444,444,444,42,387,386,389,0,564,563,571,444,444,444,42,391,392,393,0,573,574,575,445,445,445,42,393,394,391,0,575,576,573,446,446,446,42,354,353,390,0,493,492,572,447,447,447,42,390,389,354,0,572,571,493,448,448,448,42,395,396,392,0,577,578,574,449,449,449,42,397,398,399,0,579,580,581,450,450,450,42,399,400,397,0,581,582,579,451,451,451,42,392,391,395,0,574,573,577,452,452,452,42,401,402,386,0,583,584,560,453,453,453,42,386,385,401,0,560,559,583,453,453,453,42,402,403,389,0,585,586,571,27,27,27,42,389,386,402,0,571,563,585,27,27,27,42,403,404,354,0,586,587,493,454,454,454,42,354,389,403,0,493,571,586,455,455,455,42,404,405,355,0,587,588,494,456,456,456,42,355,354,404,0,494,493,587,457,457,457,42,394,393,388,0,576,575,568,458,458,458,42,388,387,394,0,568,567,576,458,458,458,42,396,395,353,0,589,590,492,459,459,459,42,353,356,396,0,492,495,589,460,460,460,42,395,391,390,0,590,591,572,461,461,461,42,390,353,395,0,572,492,590,462,462,462,42,391,394,387,0,591,592,564,27,27,27,42,387,390,391,0,564,572,591,27,27,27,42,406,400,404,0,593,594,587,463,463,463,42,404,403,406,0,587,586,593,464,464,464,42,400,399,405,0,594,595,588,465,465,465,42,405,404,400,0,588,587,594,466,466,466,42,407,408,409,0,596,597,598,467,467,467,42,409,410,407,0,598,599,596,468,468,468,42,408,411,412,0,597,600,601,469,469,469,42,412,409,408,0,601,598,597,470,470,470,42,413,414,415,0,602,603,604,471,471,471,42,415,416,413,0,604,605,602,472,472,472,42,416,415,407,0,605,604,596,473,473,473,42,407,410,416,0,596,599,605,474,474,474,42,417,418,413,0,606,607,602,475,475,475,42,413,416,417,0,602,605,606,476,476,476,42,419,417,416,0,608,606,605,477,477,477,42,416,410,419,0,605,599,608,477,477,477,42,420,421,418,0,609,610,611,478,478,478,42,418,417,420,0,611,612,609,479,479,479,42,422,420,417,0,613,609,612,480,480,480,42,417,419,422,0,612,614,613,481,481,481,42,402,401,421,0,584,583,610,482,482,482,42,421,420,402,0,610,609,584,483,483,483,42,402,420,422,0,584,609,613,484,484,484,42,403,422,419,0,615,613,614,485,485,485,42,419,406,403,0,614,616,615,486,486,486,42,419,397,400,0,614,579,582,487,487,487,42,400,406,419,0,582,616,614,488,488,488,42,422,403,402,0,613,615,584,489,489,489,42,408,423,424,0,597,617,618,490,490,490,42,424,411,408,0,618,600,597,491,491,491,42,407,425,423,0,596,619,617,492,492,492,42,423,408,407,0,617,597,596,493,493,493,42,415,426,425,0,604,620,619,494,494,494,42,425,407,415,0,619,596,604,495,495,495,42,414,427,426,0,603,621,620,496,496,496,42,426,415,414,0,620,604,603,497,497,497,42,423,428,429,0,617,622,623,498,498,498,42,429,424,423,0,623,618,617,499,499,499,42,425,430,428,0,619,624,622,500,500,500,42,428,423,425,0,622,617,619,501,501,501,42,426,431,430,0,620,625,624,502,502,502,42,430,425,426,0,624,619,620,503,503,503,42,427,432,431,0,621,626,625,504,504,504,42,431,426,427,0,625,620,621,505,505,505,42,428,433,434,0,622,627,628,506,506,506,42,434,429,428,0,628,623,622,507,507,507,42,430,435,433,0,624,629,627,508,508,508,42,433,428,430,0,627,622,624,509,509,509,42,431,436,435,0,625,630,629,510,510,510,42,435,430,431,0,629,624,625,511,511,511,42,432,437,436,0,626,631,630,512,512,512,42,436,431,432,0,630,625,626,513,513,513,42,433,438,439,0,632,633,634,514,514,514,42,439,434,433,0,634,635,632,515,515,515,42,435,440,438,0,636,637,633,516,516,516,42,438,433,435,0,633,632,636,517,517,517,42,436,441,440,0,638,639,637,518,518,518,42,440,435,436,0,637,636,638,519,519,519,42,437,442,441,0,640,641,639,520,520,520,42,441,436,437,0,639,638,640,521,521,521,42,78,443,444,0,642,643,644,522,522,522,42,444,79,78,0,644,645,642,523,523,523,42,91,445,443,0,646,647,643,524,524,524,42,443,78,91,0,643,642,646,525,525,525,42,94,446,445,0,648,649,647,526,526,526,42,445,91,94,0,647,646,648,526,526,526,42,95,447,446,0,650,651,649,0,0,0,42,446,94,95,0,649,648,650,0,0,0,42,96,448,447,0,652,653,651,0,0,0,42,447,95,96,0,651,650,652,0,0,0,42,58,449,448,0,654,655,653,0,0,0,42,448,96,58,0,653,652,654,0,0,0,42,63,450,449,0,656,657,655,527,527,527,42,449,58,63,0,655,654,656,527,527,527,42,79,444,450,0,645,644,657,528,528,528,42,450,63,79,0,657,656,645,529,529,529,42,443,223,220,0,643,279,276,530,530,530,42,220,444,443,0,276,644,643,531,531,531,42,445,225,223,0,647,281,279,532,532,532,42,223,443,445,0,279,643,647,533,533,533,42,446,226,225,0,649,282,281,534,534,534,42,225,445,446,0,281,647,649,534,534,534,42,447,224,226,0,651,280,282,535,535,535,42,226,446,447,0,282,649,651,536,536,536,42,448,221,224,0,653,277,280,537,537,537,42,224,447,448,0,280,651,653,538,538,538,42,449,222,221,0,655,278,277,539,539,539,42,221,448,449,0,277,653,655,540,540,540,42,450,219,222,0,657,275,278,541,541,541,42,222,449,450,0,278,655,657,541,541,541,42,444,220,219,0,644,276,275,542,542,542,42,219,450,444,0,275,657,644,543,543,543,42,92,77,85,0,102,84,92,36,35,544,42,87,136,164,0,94,165,197,545,84,83,42,164,88,87,0,197,96,94,83,546,545,42,92,85,84,0,102,92,91,36,544,41,42,84,315,92,0,91,658,102,41,41,36,42,340,451,325,0,475,659,460,547,547,547,42,325,324,340,0,460,459,475,548,548,548,42,327,326,452,0,462,461,660,549,549,549,42,452,342,327,0,660,477,462,550,550,550,42,452,451,340,0,660,659,475,551,551,551,42,340,342,452,0,475,477,660,552,552,552,42,452,119,121,0,661,662,663,24,24,24,42,121,451,452,0,663,664,661,24,24,24,42,326,117,119,0,665,666,662,81,81,81,42,119,452,326,0,662,661,665,81,81,81,42,117,326,315,0,666,665,667,79,79,79,42,315,84,117,0,667,668,666,79,79,79,42,164,325,123,0,669,670,671,46,46,46,42,123,88,164,0,671,672,669,46,46,46,42,123,325,451,0,671,670,664,49,49,49,42,451,121,123,0,664,663,671,49,49,49,42,397,409,412,0,673,598,601,553,553,553,42,412,398,397,0,601,674,673,554,554,554,42,409,397,419,0,598,673,608,555,555,555,42,419,410,409,0,608,599,598,556,556,556,42,453,454,455,0,675,676,677,0,0,0,42,455,456,453,0,677,678,675,0,0,0,42,457,5,4,0,679,5,4,1,1,1,42,4,458,457,0,4,680,679,1,1,1,42,459,9,8,0,681,9,8,557,3,2,42,8,460,459,0,8,682,681,2,558,557,42,461,462,463,0,683,684,685,559,559,559,42,463,464,461,0,685,686,683,560,560,560,42,465,461,464,0,687,688,689,561,561,561,42,464,466,465,0,689,690,687,562,562,562,42,18,453,456,0,20,675,678,0,0,0,42,456,19,18,0,678,21,20,0,0,0,42,467,468,469,0,691,692,693,563,564,565,42,469,470,467,0,693,694,691,565,566,563,42,471,472,473,0,695,696,697,567,567,567,42,473,474,471,0,697,698,695,27,27,27,42,472,471,475,0,696,695,699,568,568,568,42,463,462,459,0,685,684,681,569,570,571,42,459,460,463,0,681,682,685,571,572,569,42,31,476,477,0,33,700,701,21,21,21,42,477,32,31,0,701,34,33,21,21,21,42,478,479,480,0,702,703,704,573,573,573,42,480,481,478,0,704,705,702,574,574,574,42,482,483,484,0,706,707,708,575,575,575,42,484,485,482,0,708,709,706,575,575,575,42,486,487,488,0,710,711,712,576,576,576,42,488,489,486,0,712,713,710,576,576,576,42,489,488,45,0,713,712,47,26,26,26,42,45,46,489,0,47,48,713,26,26,26,42,487,490,491,0,711,714,715,576,576,576,42,491,488,487,0,715,712,711,576,576,576,42,492,493,494,0,716,717,718,14,14,14,42,494,495,492,0,718,719,716,14,14,14,42,496,497,493,0,720,721,717,577,577,577,42,493,492,496,0,717,716,720,577,577,577,42,56,55,497,0,722,723,721,28,28,28,42,497,496,56,0,721,720,722,28,28,28,42,488,491,57,0,712,715,59,26,26,26,42,57,45,488,0,59,47,712,26,26,26,42,467,498,499,0,691,724,725,0,0,0,42,499,500,467,0,725,726,691,0,0,0,42,501,502,503,0,727,728,729,26,26,26,42,503,504,501,0,729,730,727,26,26,26,42,492,505,506,0,731,732,733,29,29,29,42,506,496,492,0,733,734,731,29,29,29,42,495,507,505,0,735,736,732,29,29,29,42,505,492,495,0,732,731,735,29,29,29,42,503,502,507,0,729,728,737,26,26,26,42,507,495,503,0,737,738,729,26,26,26,42,508,509,510,0,739,740,741,0,0,0,42,510,511,508,0,741,742,739,0,0,0,42,512,513,514,0,743,744,745,0,0,0,42,514,515,512,0,745,746,743,0,0,0,42,516,517,518,0,747,748,749,578,578,578,42,518,519,516,0,749,750,747,578,578,578,42,520,521,522,0,751,752,753,29,29,29,42,522,523,520,0,753,754,751,29,29,29,42,507,524,525,0,736,755,756,29,29,29,42,525,505,507,0,756,732,736,29,29,29,42,496,526,86,0,734,757,93,29,29,29,42,86,56,496,0,93,95,734,29,29,29,42,527,526,496,0,758,757,734,29,29,29,42,496,506,527,0,734,733,758,29,29,29,42,519,518,502,0,759,760,728,579,579,579,42,502,501,519,0,728,727,759,580,580,580,42,510,528,529,0,741,761,762,581,581,581,42,529,511,510,0,762,742,741,582,582,582,42,517,516,530,0,748,747,763,583,583,584,42,530,531,517,0,763,764,748,584,585,583,42,502,518,507,0,728,760,737,579,579,579,42,507,518,517,0,736,749,748,586,586,586,42,517,524,507,0,748,755,736,587,587,587,42,498,508,511,0,765,766,767,588,588,588,42,511,499,498,0,767,768,765,588,588,588,42,532,509,508,0,769,740,739,589,589,589,42,508,498,532,0,739,770,769,589,589,589,42,533,510,509,0,771,741,740,590,591,592,42,509,532,533,0,740,769,771,592,592,590,42,534,528,510,0,772,761,741,583,583,591,42,510,533,534,0,741,771,772,591,590,583,42,535,529,528,0,773,762,761,578,578,578,42,528,534,535,0,761,772,773,578,578,578,42,499,511,529,0,768,767,774,579,579,579,42,529,535,499,0,774,775,768,580,580,580,42,536,537,481,0,776,777,705,593,593,593,42,481,480,536,0,705,704,776,594,594,594,42,538,539,540,0,778,779,780,595,595,595,42,540,541,538,0,780,781,778,595,595,595,42,536,542,543,0,776,782,783,596,596,596,42,543,537,536,0,783,777,776,597,597,597,42,538,482,485,0,778,706,709,598,598,598,42,485,539,538,0,709,779,778,598,598,598,42,539,544,545,0,784,785,786,0,0,0,42,545,540,539,0,786,787,784,0,0,0,42,485,546,544,0,788,789,785,0,0,0,42,544,539,485,0,785,784,788,0,0,0,42,484,547,546,0,790,791,789,0,0,0,42,546,485,484,0,789,788,790,0,0,0,42,548,549,547,0,792,793,791,0,0,0,42,547,484,548,0,791,790,792,0,0,0,42,532,550,549,0,794,795,793,0,0,0,42,549,548,532,0,793,792,794,0,0,0,42,498,551,550,0,796,797,795,0,0,0,42,550,532,498,0,795,794,796,0,0,0,42,505,552,553,0,798,799,800,29,29,29,42,553,506,505,0,800,801,798,29,29,29,42,525,554,552,0,802,803,799,29,29,29,42,552,505,525,0,799,798,802,29,29,29,42,555,556,554,0,804,805,803,29,29,29,42,554,525,555,0,803,802,804,29,29,29,42,557,558,556,0,806,807,805,29,29,29,42,556,555,557,0,805,804,806,29,29,29,42,559,560,558,0,808,809,807,29,29,29,42,558,557,559,0,807,806,808,29,29,29,42,561,562,560,0,810,811,809,29,29,29,42,560,559,561,0,809,808,810,29,29,29,42,527,563,562,0,812,813,811,29,29,29,42,562,561,527,0,811,810,812,29,29,29,42,506,553,563,0,801,800,813,29,29,29,42,563,527,506,0,813,812,801,29,29,29,42,564,512,515,0,814,743,746,599,599,599,42,515,551,564,0,746,797,814,599,599,599,42,545,513,512,0,786,744,743,600,600,600,42,512,564,545,0,743,814,786,600,600,600,42,544,565,513,0,785,815,744,601,601,601,42,513,545,544,0,744,786,785,601,601,601,42,546,566,565,0,789,816,815,602,602,602,42,565,544,546,0,815,785,789,602,602,602,42,547,567,566,0,791,817,816,603,603,603,42,566,546,547,0,816,789,791,603,603,603,42,549,568,567,0,793,818,817,604,604,604,42,567,547,549,0,817,791,793,604,604,604,42,550,514,568,0,795,745,818,605,605,605,42,568,549,550,0,818,793,795,605,605,605,42,551,515,514,0,797,746,745,606,606,606,42,514,550,551,0,745,795,797,606,606,606,42,552,520,523,0,799,751,754,599,599,599,42,523,553,552,0,754,800,799,599,599,599,42,554,521,520,0,803,752,751,607,607,607,42,520,552,554,0,751,799,803,607,607,607,42,556,569,521,0,805,819,752,605,605,605,42,521,554,556,0,752,803,805,605,605,605,42,558,570,569,0,807,820,819,604,604,604,42,569,556,558,0,819,805,807,604,604,604,42,560,571,570,0,809,821,820,603,603,603,42,570,558,560,0,820,807,809,603,603,603,42,562,572,571,0,811,822,821,602,602,602,42,571,560,562,0,821,809,811,602,602,602,42,563,522,572,0,813,753,822,601,601,601,42,572,562,563,0,822,811,813,601,601,601,42,553,523,522,0,800,754,753,600,600,600,42,522,563,553,0,753,813,800,600,600,600,42,541,540,470,0,823,824,694,608,609,566,42,470,573,541,0,694,825,823,566,610,608,42,526,574,135,0,757,826,164,28,28,28,42,135,86,526,0,164,93,757,28,28,28,42,540,575,470,0,824,827,694,0,0,0,42,575,564,551,0,828,814,797,0,0,0,42,551,498,575,0,797,796,828,0,0,0,42,540,545,564,0,787,786,814,0,0,0,42,564,575,540,0,814,828,787,0,0,0,42,576,577,140,0,829,830,170,611,612,64,42,140,139,576,0,170,169,829,64,63,611,42,577,576,578,0,830,829,831,613,614,615,42,578,579,577,0,831,832,830,615,616,613,42,580,581,582,0,833,834,835,617,618,619,42,582,583,580,0,835,836,833,619,620,617,42,584,585,586,0,837,838,839,621,621,621,42,587,588,589,0,840,841,842,622,622,622,42,589,469,587,0,842,843,840,623,623,623,42,589,588,590,0,842,841,844,624,624,624,42,470,591,590,0,845,846,844,625,625,625,42,590,588,470,0,844,841,845,626,626,626,42,543,542,592,0,783,782,847,575,575,575,42,592,593,543,0,847,848,783,575,575,575,42,548,594,595,0,849,850,851,627,627,627,42,595,532,548,0,851,852,849,627,627,627,42,596,597,598,0,853,854,855,628,628,628,42,598,599,596,0,855,856,853,628,628,628,42,484,483,594,0,708,707,850,629,629,629,42,594,548,484,0,850,849,708,629,629,629,42,593,592,597,0,848,847,854,630,630,630,42,597,596,593,0,854,853,848,630,630,630,42,600,541,573,0,857,823,825,631,608,610,42,573,574,600,0,825,826,857,610,632,631,42,167,166,601,0,200,199,858,87,86,633,42,601,602,167,0,858,859,200,633,634,87,42,603,604,605,0,860,861,862,635,636,637,42,605,606,603,0,862,863,860,637,638,635,42,470,607,608,0,845,864,865,639,639,639,42,608,573,470,0,865,866,845,640,640,640,42,588,609,607,0,841,867,864,641,641,641,42,607,470,588,0,864,845,841,642,642,642,42,610,611,609,0,868,869,867,643,643,643,42,609,588,610,0,867,841,868,644,644,644,42,573,608,611,0,866,865,869,645,645,645,42,611,610,573,0,869,868,866,646,646,646,42,574,612,613,0,870,871,872,647,647,647,42,613,614,574,0,872,873,870,648,648,648,42,573,615,612,0,866,874,871,649,649,649,42,612,574,573,0,871,870,866,650,650,650,42,610,616,615,0,868,875,874,651,651,651,42,615,573,610,0,874,866,868,652,652,652,42,614,613,616,0,873,872,875,653,653,653,42,616,610,614,0,875,868,873,654,654,654,42,614,617,618,0,873,876,877,655,655,655,42,618,574,614,0,877,870,873,656,656,656,42,185,617,614,0,220,876,873,657,657,657,42,614,186,185,0,873,221,220,658,658,658,42,576,139,619,0,878,223,879,611,63,659,42,619,587,576,0,879,840,878,659,660,611,42,619,139,188,0,879,223,225,659,63,115,42,587,619,620,0,840,879,880,661,661,661,42,620,588,587,0,880,841,840,662,662,662,42,588,621,622,0,841,881,882,663,663,663,42,622,610,588,0,882,868,841,664,664,664,42,192,621,588,0,229,881,841,665,665,665,42,588,193,192,0,841,230,229,666,666,666,42,610,623,624,0,868,883,884,667,667,667,42,624,614,610,0,884,873,868,668,668,668,42,196,623,610,0,233,883,868,669,669,669,42,610,197,196,0,868,234,233,670,670,670,42,617,625,626,0,876,885,886,671,671,671,42,626,618,617,0,886,877,876,672,672,672,42,185,200,625,0,220,237,885,673,673,673,42,625,617,185,0,885,876,220,674,674,674,42,623,627,628,0,883,887,888,27,27,27,42,628,624,623,0,888,884,883,27,27,27,42,196,203,627,0,233,240,887,29,29,29,42,627,623,196,0,887,883,233,29,29,29,42,205,629,619,0,242,889,879,130,130,130,42,619,188,205,0,879,225,242,130,130,130,42,619,629,630,0,879,889,890,675,675,675,42,630,620,619,0,890,880,879,676,676,676,42,607,582,581,0,864,891,892,677,677,677,42,581,608,607,0,892,865,864,678,678,678,42,609,583,582,0,867,893,891,679,679,679,42,582,607,609,0,891,864,867,680,680,680,42,611,580,583,0,869,894,893,681,681,681,42,583,609,611,0,893,867,869,682,682,682,42,608,581,580,0,865,892,894,683,683,683,42,580,611,608,0,894,869,865,684,684,684,42,589,584,586,0,842,895,896,685,685,685,42,586,591,589,0,896,846,842,686,686,686,42,590,585,584,0,844,897,895,687,687,687,42,584,589,590,0,895,842,844,688,688,688,42,591,586,585,0,846,896,897,689,689,689,42,585,590,591,0,897,844,846,690,690,690,42,621,602,601,0,881,898,899,27,27,27,42,601,622,621,0,899,882,881,27,27,27,42,192,167,602,0,229,253,898,29,29,29,42,602,621,192,0,898,881,229,29,29,29,42,612,604,603,0,871,900,901,691,691,691,42,603,613,612,0,901,872,871,692,692,692,42,615,605,604,0,874,902,900,693,693,693,42,604,612,615,0,900,871,874,694,694,694,42,616,606,605,0,875,903,902,695,695,695,42,605,615,616,0,902,874,875,696,696,696,42,613,603,606,0,872,901,903,697,697,697,42,606,616,613,0,903,875,872,698,698,698,42,503,486,489,0,904,710,713,699,699,699,42,489,631,503,0,713,905,904,700,700,700,42,495,487,486,0,906,711,710,14,14,14,42,486,503,495,0,710,904,906,14,14,14,42,631,489,46,0,905,713,48,701,701,701,42,46,208,631,0,48,261,905,702,702,702,42,494,490,487,0,907,714,711,14,14,14,42,487,495,494,0,711,906,907,14,14,14,42,632,633,500,0,908,909,910,703,703,703,42,500,634,632,0,910,911,908,704,704,704,42,214,213,635,0,269,268,912,161,161,161,42,635,636,214,0,912,913,269,161,161,161,42,636,637,216,0,913,914,271,705,705,705,42,216,214,636,0,271,269,913,163,163,163,42,500,504,638,0,910,730,915,706,706,706,42,638,634,500,0,915,911,910,706,706,706,42,500,499,501,0,910,916,727,26,26,26,42,501,504,500,0,727,730,910,26,26,26,42,639,640,641,0,917,918,919,707,707,707,42,641,642,639,0,919,920,917,708,708,708,42,643,644,640,0,921,922,918,709,709,709,42,640,639,643,0,918,917,921,710,710,710,42,645,646,644,0,923,924,922,711,711,711,42,644,643,645,0,922,921,923,712,712,712,42,532,595,530,0,769,925,926,592,592,584,42,530,533,532,0,926,771,769,584,590,592,42,647,648,649,0,927,928,929,713,713,713,42,649,650,647,0,929,930,927,714,714,714,42,633,468,467,0,931,692,691,715,715,715,42,467,500,633,0,691,726,931,716,716,716,42,579,578,649,0,832,831,932,717,717,717,42,649,648,579,0,932,933,832,718,718,718,42,493,651,652,0,717,934,935,719,719,719,42,652,494,493,0,935,718,717,719,719,719,42,497,653,651,0,721,936,934,720,720,720,42,651,493,497,0,934,717,721,721,721,721,42,55,654,653,0,723,937,936,722,722,722,42,653,497,55,0,936,721,723,181,181,181,42,236,655,654,0,938,939,937,29,29,29,42,654,55,236,0,937,723,938,29,29,29,42,57,656,655,0,59,940,939,29,29,29,42,655,236,57,0,939,938,59,29,29,29,42,491,657,656,0,715,941,940,723,723,723,42,656,57,491,0,940,59,715,29,29,29,42,490,658,657,0,714,942,941,724,724,724,42,657,491,490,0,941,715,714,725,725,725,42,494,652,658,0,907,943,942,719,719,719,42,658,490,494,0,942,714,907,719,719,719,42,651,659,660,0,944,945,946,27,27,27,42,660,652,651,0,946,947,944,27,27,27,42,653,661,659,0,948,949,945,726,726,726,42,659,651,653,0,945,944,948,726,726,726,42,654,662,661,0,950,951,949,26,26,26,42,661,653,654,0,949,948,950,26,26,26,42,655,663,662,0,952,953,951,14,14,14,42,662,654,655,0,951,950,952,14,14,14,42,656,664,663,0,954,955,953,14,14,14,42,663,655,656,0,953,952,954,14,14,14,42,657,665,664,0,956,957,955,28,28,28,42,664,656,657,0,955,954,956,28,28,28,42,658,666,665,0,958,959,957,727,727,727,42,665,657,658,0,957,956,958,727,727,727,42,652,660,666,0,947,946,960,27,27,27,42,666,658,652,0,960,961,947,27,27,27,42,659,667,668,0,945,962,963,728,728,728,42,668,660,659,0,963,946,945,728,728,728,42,667,659,661,0,962,945,949,729,729,729,42,661,669,667,0,949,964,962,730,730,730,42,662,670,669,0,951,965,964,731,731,731,42,669,661,662,0,964,949,951,732,732,732,42,663,671,670,0,953,966,965,733,733,733,42,670,662,663,0,965,951,953,734,734,734,42,664,672,671,0,955,967,966,735,735,735,42,671,663,664,0,966,953,955,735,735,735,42,665,673,672,0,957,968,967,736,736,736,42,672,664,665,0,967,955,957,737,737,737,42,665,666,674,0,957,959,969,738,738,738,42,674,673,665,0,969,968,957,739,739,739,42,660,668,674,0,946,963,970,728,728,728,42,674,666,660,0,970,960,946,728,728,728,42,669,675,676,0,971,972,973,740,740,740,42,676,677,669,0,973,974,971,741,741,741,42,670,678,675,0,975,976,972,742,742,742,42,675,669,670,0,972,971,975,743,743,743,42,671,679,678,0,977,978,976,29,29,29,42,678,670,671,0,976,975,977,29,29,29,42,677,676,679,0,974,973,978,29,29,29,42,679,671,677,0,978,977,974,29,29,29,42,671,680,681,0,977,979,980,29,29,29,42,681,677,671,0,980,974,977,29,29,29,42,672,682,680,0,981,982,979,29,29,29,42,680,671,672,0,979,977,981,29,29,29,42,673,683,682,0,983,984,982,744,744,744,42,682,672,673,0,982,981,983,743,743,743,42,677,681,683,0,974,980,984,745,745,745,42,683,673,677,0,984,983,974,746,746,746,42,675,684,676,0,985,986,987,747,747,747,42,676,684,685,0,987,986,988,748,748,748,42,686,684,675,0,989,986,985,29,29,29,42,678,687,675,0,990,991,985,749,749,749,42,675,687,686,0,985,991,989,29,29,29,42,688,687,678,0,992,991,990,750,750,750,42,679,689,678,0,993,994,990,0,0,0,42,678,689,688,0,990,994,992,751,751,751,42,690,689,679,0,995,994,993,29,29,29,42,676,691,679,0,973,996,978,213,213,213,42,679,691,690,0,993,997,995,29,29,29,42,685,691,676,0,988,997,987,214,214,214,42,680,692,681,0,998,999,1000,213,213,213,42,681,692,693,0,1000,999,1001,215,215,215,42,694,692,680,0,1002,999,998,29,29,29,42,682,695,680,0,1003,1004,998,213,213,213,42,680,695,694,0,998,1004,1002,29,29,29,42,696,695,682,0,1005,1004,1003,752,752,752,42,683,697,682,0,1006,1007,1003,216,216,216,42,682,697,696,0,1003,1007,1005,753,753,753,42,698,697,683,0,1008,1007,1006,29,29,29,42,681,699,683,0,980,1009,984,754,754,754,42,683,699,698,0,1006,1010,1008,29,29,29,42,693,699,681,0,1001,1010,1000,755,755,755,42,684,700,701,0,1011,1012,1013,756,756,756,42,701,685,684,0,1013,1014,1011,757,757,757,42,686,702,700,0,1015,1016,1012,758,758,758,42,700,684,686,0,1012,1011,1015,759,759,759,42,687,703,702,0,1017,1018,1016,760,760,760,42,702,686,687,0,1016,1015,1017,761,761,761,42,688,704,703,0,1019,1020,1018,762,762,762,42,703,687,688,0,1018,1017,1019,763,763,763,42,689,705,704,0,1021,1022,1020,764,764,764,42,704,688,689,0,1020,1019,1021,765,765,765,42,690,706,705,0,1023,1024,1022,766,766,766,42,705,689,690,0,1022,1021,1023,767,767,767,42,691,707,706,0,1025,1026,1024,768,768,768,42,706,690,691,0,1024,1023,1025,769,769,769,42,685,701,707,0,1014,1013,1027,770,770,770,42,707,691,685,0,1027,1028,1014,771,771,771,42,692,708,709,0,1029,1030,1031,772,772,772,42,709,693,692,0,1031,1032,1029,773,773,773,42,694,710,708,0,1033,1034,1030,774,774,774,42,708,692,694,0,1030,1029,1033,775,775,775,42,695,711,710,0,1035,1036,1034,776,776,776,42,710,694,695,0,1034,1033,1035,776,776,776,42,696,712,711,0,1037,1038,1036,777,777,777,42,711,695,696,0,1036,1035,1037,778,778,778,42,697,713,712,0,1039,1040,1038,779,779,779,42,712,696,697,0,1038,1037,1039,780,780,780,42,698,714,713,0,1041,1042,1043,781,781,781,42,713,697,698,0,1043,1044,1041,782,782,782,42,699,715,714,0,1045,1046,1042,783,783,783,42,714,698,699,0,1042,1041,1045,784,784,784,42,693,709,715,0,1032,1031,1046,785,785,785,42,715,699,693,0,1046,1045,1032,786,786,786,42,667,471,474,0,962,1047,1048,787,787,787,42,474,668,667,0,1048,963,962,787,787,787,42,669,716,471,0,964,1049,1047,788,788,788,42,471,667,669,0,1047,962,964,789,789,789,42,677,717,716,0,1050,1051,1049,790,790,790,42,716,669,677,0,1049,964,1050,791,791,791,42,673,718,717,0,968,1052,1051,792,792,792,42,717,677,673,0,1051,1050,968,793,793,793,42,674,473,718,0,969,1053,1052,794,794,794,42,718,673,674,0,1052,968,969,795,795,795,42,668,474,473,0,963,1048,1054,796,796,796,42,473,674,668,0,1054,970,963,797,797,797,42,716,719,475,0,1055,1056,699,798,798,798,42,475,471,716,0,699,695,1055,799,799,799,42,717,720,719,0,1057,1058,1056,800,800,800,42,719,716,717,0,1056,1055,1057,801,801,801,42,718,721,720,0,1059,1060,1058,802,802,802,42,720,717,718,0,1058,1057,1059,803,803,803,42,473,472,721,0,1061,1062,1060,804,804,804,42,721,718,473,0,1060,1059,1061,805,805,805,42,722,723,724,0,1063,1064,1065,806,806,806,42,724,725,722,0,1065,1066,1063,807,807,807,42,723,722,726,0,1064,1063,1067,808,808,808,42,719,727,728,0,1056,1068,1069,809,809,809,42,728,475,719,0,1069,699,1056,810,810,810,42,720,729,727,0,1058,1070,1068,811,811,811,42,727,719,720,0,1068,1056,1058,812,812,812,42,721,730,729,0,1060,1071,1070,813,813,813,42,729,720,721,0,1070,1058,1060,814,814,814,42,472,731,730,0,1062,1072,1071,815,815,815,42,730,721,472,0,1071,1060,1062,816,816,816,42,475,728,731,0,699,1069,1073,817,817,817,42,731,472,475,0,1073,696,699,818,818,818,42,727,723,726,0,1074,1064,1067,819,819,819,42,726,728,727,0,1067,1075,1074,819,819,819,42,729,724,723,0,1076,1065,1064,820,820,820,42,723,727,729,0,1064,1077,1076,820,820,820,42,730,725,724,0,1078,1066,1065,821,821,821,42,724,729,730,0,1065,1076,1078,821,821,821,42,731,722,725,0,1079,1063,1066,822,822,822,42,725,730,731,0,1066,1080,1079,822,822,822,42,728,726,722,0,1075,1067,1063,823,823,823,42,722,731,728,0,1063,1081,1075,823,823,823,42,531,732,733,0,1082,1083,1084,824,824,824,42,733,734,531,0,1084,1085,1082,825,825,825,42,530,735,732,0,1086,1087,1083,826,826,826,42,732,531,530,0,1083,1082,1086,827,827,827,42,595,736,735,0,1088,1089,1087,828,828,828,42,735,530,595,0,1087,1086,1088,829,829,829,42,594,737,736,0,1090,1091,1089,830,830,830,42,736,595,594,0,1089,1088,1090,831,831,831,42,483,738,737,0,1092,1093,1091,832,832,832,42,737,594,483,0,1091,1090,1092,833,833,833,42,482,739,738,0,1094,1095,1093,834,834,834,42,738,483,482,0,1093,1092,1094,835,835,835,42,538,740,739,0,1096,1097,1095,836,836,836,42,739,482,538,0,1095,1094,1096,837,837,837,42,541,741,740,0,1098,1099,1097,838,838,838,42,740,538,541,0,1097,1096,1098,839,839,839,42,600,742,741,0,1100,1101,1099,840,840,840,42,741,541,600,0,1099,1098,1100,840,840,840,42,743,744,742,0,1102,1103,1101,841,841,841,42,742,600,743,0,1101,1100,1102,842,842,842,42,745,733,746,0,1104,1084,1105,843,843,843,42,745,734,733,0,1104,1085,1084,844,844,844,42,732,747,748,0,1083,1106,1107,845,845,845,42,748,733,732,0,1107,1084,1083,846,846,846,42,735,749,747,0,1087,1108,1106,847,847,847,42,747,732,735,0,1106,1083,1087,848,848,848,42,736,750,749,0,1089,1109,1108,849,849,849,42,749,735,736,0,1108,1087,1089,850,850,850,42,737,751,750,0,1091,1110,1109,851,851,851,42,750,736,737,0,1109,1089,1091,852,852,852,42,738,752,751,0,1093,1111,1110,0,0,0,42,751,737,738,0,1110,1091,1093,0,0,0,42,739,753,752,0,1095,1112,1111,0,0,0,42,752,738,739,0,1111,1093,1095,0,0,0,42,740,754,753,0,1097,1113,1112,0,0,0,42,753,739,740,0,1112,1095,1097,0,0,0,42,741,755,754,0,1099,1114,1113,0,0,0,42,754,740,741,0,1113,1097,1099,0,0,0,42,742,756,755,0,1101,1115,1114,853,853,853,42,755,741,742,0,1114,1099,1101,853,853,853,42,744,757,756,0,1103,1116,1115,29,29,29,42,756,742,744,0,1115,1101,1103,29,29,29,42,758,759,757,0,1117,1118,1116,29,29,29,42,757,744,758,0,1116,1103,1117,29,29,29,42,760,761,759,0,1119,1120,1118,29,29,29,42,759,758,760,0,1118,1117,1119,29,29,29,42,746,762,761,0,1105,1121,1120,29,29,29,42,761,760,746,0,1120,1119,1105,29,29,29,42,733,748,762,0,1084,1107,1121,854,854,854,42,762,746,733,0,1121,1105,1084,29,29,29,42,747,478,481,0,1106,702,705,855,855,855,42,481,748,747,0,705,1107,1106,856,856,856,42,749,479,478,0,1108,703,702,857,857,857,42,478,747,749,0,702,1106,1108,858,858,858,42,750,480,479,0,1109,704,703,859,859,859,42,479,749,750,0,703,1108,1109,860,860,860,42,751,536,480,0,1110,776,704,861,861,861,42,480,750,751,0,704,1109,1110,862,862,862,42,752,542,536,0,1111,782,776,863,863,863,42,536,751,752,0,776,1110,1111,864,864,864,42,753,592,542,0,1112,847,782,865,865,865,42,542,752,753,0,782,1111,1112,866,866,866,42,754,597,592,0,1113,854,847,867,867,867,42,592,753,754,0,847,1112,1113,868,868,868,42,755,598,597,0,1114,855,854,869,869,869,42,597,754,755,0,854,1113,1114,870,870,870,42,756,599,598,0,1115,856,855,871,871,871,42,598,755,756,0,855,1114,1115,871,871,871,42,757,596,599,0,1116,853,856,872,872,872,42,599,756,757,0,856,1115,1116,873,873,873,42,759,593,596,0,1118,848,853,874,874,874,42,596,757,759,0,853,1116,1118,875,875,875,42,761,543,593,0,1120,783,848,876,876,876,42,593,759,761,0,848,1118,1120,877,877,877,42,762,537,543,0,1121,777,783,878,878,878,42,543,761,762,0,783,1120,1121,879,879,879,42,748,481,537,0,1107,705,777,880,880,880,42,537,762,748,0,777,1121,1107,881,881,881,42,650,457,458,0,930,679,680,882,882,882,42,458,647,650,0,680,927,930,883,883,883,42,634,636,635,0,911,913,912,884,884,884,42,635,632,634,0,912,908,911,885,885,885,42,456,763,344,0,1122,1123,479,346,346,346,42,344,19,456,0,479,482,1122,346,346,346,42,456,764,765,0,1122,1124,1125,886,886,886,42,765,763,456,0,1125,1123,1122,887,887,887,42,638,637,636,0,915,914,913,888,888,888,42,636,634,638,0,913,911,915,889,889,889,42,348,216,637,0,485,271,914,890,890,890,42,637,638,348,0,914,915,485,891,891,891,42,18,350,766,0,20,487,1126,355,354,892,42,766,453,18,0,1126,675,20,892,355,355,42,454,767,768,0,676,1127,1128,893,893,893,42,768,455,454,0,1128,677,676,894,894,894,42,456,455,768,0,1122,1129,1130,895,895,895,42,768,764,456,0,1130,1124,1122,896,896,896,42,453,766,767,0,675,1126,1127,897,898,899,42,767,454,453,0,1127,676,675,899,900,897,42,355,769,770,0,494,1131,1132,901,901,901,42,770,356,355,0,1132,495,494,902,902,902,42,477,476,465,0,701,700,687,903,903,903,42,465,466,477,0,687,690,701,904,904,904,42,587,469,576,0,840,843,878,905,905,905,42,32,477,458,0,34,701,680,369,369,369,42,458,4,32,0,680,4,34,369,369,369,42,635,213,5,0,912,268,5,26,26,26,42,5,457,635,0,5,679,912,26,26,26,42,140,577,460,0,170,830,682,64,612,558,42,460,8,140,0,682,8,170,558,2,64,42,579,648,464,0,832,933,686,906,906,906,42,464,463,579,0,686,685,832,907,907,907,42,578,576,469,0,831,829,693,615,614,565,42,469,468,578,0,693,692,831,565,564,615,42,577,579,463,0,830,832,685,613,616,569,42,463,460,577,0,685,682,830,569,572,613,42,649,578,468,0,932,831,692,717,717,717,42,468,633,649,0,692,931,932,908,908,908,42,766,350,9,0,1126,487,9,892,354,3,42,9,459,766,0,9,681,1126,3,557,892,42,768,767,462,0,1128,1127,684,909,909,909,42,462,461,768,0,684,683,1128,910,910,910,42,767,766,459,0,1127,1126,681,899,898,571,42,459,462,767,0,681,684,1127,571,570,899,42,357,765,476,0,497,1125,700,376,376,376,42,476,31,357,0,700,33,497,376,376,376,42,477,464,648,0,1133,1134,1135,911,911,911,42,648,458,477,0,1135,1136,1133,912,912,912,42,765,768,461,0,1137,1138,1139,913,913,913,42,461,476,765,0,1139,1140,1137,914,914,914,42,457,649,633,0,1141,1142,1143,915,915,915,42,633,635,457,0,1143,1144,1141,916,916,916,42,768,765,764,0,1138,1137,1145,917,917,917,42,635,633,632,0,1144,1143,1146,918,918,918,42,464,771,772,0,1134,1147,1148,919,919,919,42,772,466,464,0,1148,1149,1134,920,920,920,42,477,773,771,0,1133,1150,1147,921,921,921,42,771,464,477,0,1147,1134,1133,922,922,922,42,466,772,773,0,1149,1148,1150,923,923,923,42,773,477,466,0,1150,1133,1149,924,924,924,42,650,774,775,0,1151,1152,1153,925,925,925,42,775,457,650,0,1153,1141,1151,925,925,925,42,649,776,774,0,1142,1154,1152,926,926,926,42,774,650,649,0,1152,1151,1142,927,927,927,42,457,775,776,0,1141,1153,1154,928,928,928,42,776,649,457,0,1154,1142,1141,929,929,929,42,465,777,778,0,1155,1156,1157,930,930,930,42,778,461,465,0,1157,1139,1155,931,931,931,42,476,779,777,0,1140,1158,1156,932,932,932,42,777,465,476,0,1156,1155,1140,933,933,933,42,461,778,779,0,1139,1157,1158,934,934,934,42,779,476,461,0,1158,1140,1139,935,935,935,42,647,780,781,0,1159,1160,1161,936,936,936,42,781,648,647,0,1161,1135,1159,936,936,936,42,458,782,780,0,1136,1162,1160,937,937,937,42,780,647,458,0,1160,1159,1136,937,937,937,42,648,781,782,0,1135,1161,1162,938,938,938,42,782,458,648,0,1162,1136,1135,939,939,939,42,208,348,638,0,528,485,915,26,26,26,42,638,631,208,0,915,1163,528,26,26,26,42,503,631,638,0,729,1163,915,706,706,706,42,638,504,503,0,915,730,729,706,706,706,42,626,625,200,0,1164,1165,530,940,941,406,42,200,370,626,0,530,533,1164,406,409,940,42,627,203,371,0,1166,535,534,942,411,410,42,371,628,627,0,534,1167,1166,410,943,942,42,629,205,372,0,1168,539,538,944,415,414,42,372,630,629,0,538,1169,1168,414,945,944,42,574,618,373,0,870,877,542,946,946,946,42,373,135,574,0,542,543,870,947,947,947,42,588,620,374,0,841,880,544,948,948,948,42,374,193,588,0,544,230,841,949,949,949,42,610,622,375,0,868,882,545,950,950,950,42,375,197,610,0,545,234,868,951,951,951,42,614,624,376,0,873,884,546,952,952,952,42,376,186,614,0,546,221,873,953,953,953,42,626,370,373,0,886,547,542,954,954,954,42,373,618,626,0,542,877,886,955,955,955,42,628,371,376,0,888,548,546,956,956,956,42,376,624,628,0,546,884,888,956,956,956,42,630,372,374,0,890,549,544,957,957,957,42,374,620,630,0,544,880,890,957,957,957,42,601,166,375,0,899,550,545,0,0,0,42,375,622,601,0,545,882,899,0,0,0,42,763,783,377,0,1123,1170,551,431,431,431,42,377,344,763,0,551,479,1123,431,431,431,42,765,784,783,0,1125,1171,1170,958,958,958,42,783,763,765,0,1170,1123,1125,959,959,959,42,357,380,784,0,497,554,1171,434,434,434,42,784,765,357,0,1171,1125,497,434,434,434,42,783,785,381,0,1170,1172,555,435,435,435,42,381,377,783,0,555,551,1170,435,435,435,42,784,786,785,0,1171,1173,1172,960,960,960,42,785,783,784,0,1172,1170,1171,961,961,961,42,380,384,786,0,554,558,1173,438,438,438,42,786,784,380,0,1173,1171,554,438,438,438,42,785,787,385,0,1174,1175,559,439,439,439,42,385,381,785,0,559,562,1174,439,439,439,42,786,788,787,0,1176,1177,1175,962,962,962,42,787,785,786,0,1175,1174,1176,963,963,963,42,384,388,788,0,569,568,1177,442,442,442,42,788,786,384,0,1177,1176,569,442,442,442,42,788,789,790,0,1177,1178,1179,964,964,964,42,790,787,788,0,1179,1175,1177,964,964,964,42,393,392,791,0,575,574,1180,965,965,965,42,791,792,393,0,1180,1181,575,446,446,446,42,789,770,769,0,1178,1132,1131,966,966,966,42,769,790,789,0,1131,1179,1178,967,967,967,42,396,793,392,0,578,1182,574,968,968,968,42,399,398,794,0,581,580,1183,969,969,969,42,794,795,399,0,1183,1184,581,970,970,970,42,791,392,793,0,1180,574,1182,971,971,971,42,787,796,401,0,1175,1185,583,453,453,453,42,401,385,787,0,583,559,1175,453,453,453,42,790,797,796,0,1179,1186,1185,14,14,14,42,796,787,790,0,1185,1175,1179,14,14,14,42,769,798,797,0,1131,1187,1186,972,972,972,42,797,790,769,0,1186,1179,1131,973,973,973,42,355,405,798,0,494,588,1187,974,974,974,42,798,769,355,0,1187,1131,494,975,975,975,42,388,393,792,0,568,575,1181,458,458,458,42,792,788,388,0,1181,1177,568,458,458,458,42,770,793,396,0,1132,1188,589,976,976,976,42,396,356,770,0,589,495,1132,977,977,977,42,789,791,793,0,1178,1189,1188,978,978,978,42,793,770,789,0,1188,1132,1178,979,979,979,42,788,792,791,0,1177,1181,1189,14,14,14,42,791,789,788,0,1189,1178,1177,14,14,14,42,798,795,799,0,1187,1190,1191,980,980,980,42,799,797,798,0,1191,1186,1187,981,981,981,42,405,399,795,0,588,595,1190,982,982,982,42,795,798,405,0,1190,1187,588,983,983,983,42,800,801,802,0,1192,1193,1194,984,984,984,42,802,803,800,0,1194,1195,1192,985,985,985,42,412,411,801,0,1196,1197,1193,986,986,986,42,801,800,412,0,1193,1192,1196,987,987,987,42,804,414,413,0,1198,603,602,988,988,988,42,413,805,804,0,602,1199,1198,989,989,989,42,802,804,805,0,1194,1198,1199,990,990,990,42,805,803,802,0,1199,1195,1194,991,991,991,42,413,418,806,0,602,607,1200,992,992,992,42,806,805,413,0,1200,1199,602,993,993,993,42,805,806,807,0,1199,1200,1201,994,994,994,42,807,803,805,0,1201,1195,1199,994,994,994,42,418,421,808,0,611,610,1202,995,995,995,42,808,806,418,0,1202,1203,611,996,996,996,42,806,808,809,0,1203,1202,1204,997,997,997,42,809,807,806,0,1204,1205,1203,998,998,998,42,421,401,796,0,610,583,1185,482,482,482,42,796,808,421,0,1185,1202,610,999,999,999,42,808,796,809,0,1202,1185,1204,1000,1000,1000,42,807,809,797,0,1205,1204,1186,1001,1001,1001,42,797,799,807,0,1186,1191,1205,1002,1002,1002,42,795,794,807,0,1184,1183,1205,1003,1003,1003,42,807,799,795,0,1205,1191,1184,1004,1004,1004,42,797,809,796,0,1186,1204,1185,1005,1005,1005,42,424,810,801,0,1206,1207,1193,1006,1006,1006,42,801,411,424,0,1193,1197,1206,1007,1007,1007,42,810,811,802,0,1207,1208,1194,1008,1008,1008,42,802,801,810,0,1194,1193,1207,1009,1009,1009,42,811,812,804,0,1208,1209,1198,1010,1010,1010,42,804,802,811,0,1198,1194,1208,1011,1011,1011,42,812,427,414,0,1209,621,603,1012,1012,1012,42,414,804,812,0,603,1198,1209,1013,1013,1013,42,429,813,810,0,1210,1211,1207,1014,1014,1014,42,810,424,429,0,1207,1206,1210,1015,1015,1015,42,813,814,811,0,1211,1212,1208,1016,1016,1016,42,811,810,813,0,1208,1207,1211,1017,1017,1017,42,814,815,812,0,1212,1213,1209,1018,1018,1018,42,812,811,814,0,1209,1208,1212,1019,1019,1019,42,815,432,427,0,1213,626,621,1020,1020,1020,42,427,812,815,0,621,1209,1213,1021,1021,1021,42,434,816,813,0,1214,1215,1211,1022,1022,1022,42,813,429,434,0,1211,1210,1214,1023,1023,1023,42,816,817,814,0,1215,1216,1212,1024,1024,1024,42,814,813,816,0,1212,1211,1215,1025,1025,1025,42,817,818,815,0,1216,1217,1213,1026,1026,1026,42,815,814,817,0,1213,1212,1216,1027,1027,1027,42,818,437,432,0,1217,631,626,1028,1028,1028,42,432,815,818,0,626,1213,1217,1029,1029,1029,42,439,819,816,0,1218,1219,1220,1030,1030,1030,42,816,434,439,0,1220,1221,1218,1031,1031,1031,42,819,820,817,0,1219,1222,1223,1032,1032,1032,42,817,816,819,0,1223,1220,1219,1033,1033,1033,42,820,821,818,0,1222,1224,1225,1034,1034,1034,42,818,817,820,0,1225,1223,1222,1035,1035,1035,42,821,442,437,0,1224,641,640,1036,1036,1036,42,437,818,821,0,640,1225,1224,1037,1037,1037,42,822,823,516,0,1226,1227,1228,1038,1038,1038,42,516,519,822,0,1228,1229,1226,1039,1039,1039,42,823,824,530,0,1227,1230,1231,1040,1040,1040,42,530,516,823,0,1231,1228,1227,1041,1041,1041,42,824,825,533,0,1230,1232,1233,1042,1042,1042,42,533,530,824,0,1233,1231,1230,1042,1042,1042,42,825,826,534,0,1232,1234,1235,0,0,0,42,534,533,825,0,1235,1233,1232,0,0,0,42,826,827,535,0,1234,1236,1237,0,0,0,42,535,534,826,0,1237,1235,1234,0,0,0,42,827,828,499,0,1236,1238,1239,0,0,0,42,499,535,827,0,1239,1237,1236,0,0,0,42,828,829,501,0,1238,1240,1241,1043,1043,1043,42,501,499,828,0,1241,1239,1238,1043,1043,1043,42,829,822,519,0,1240,1226,1229,1044,1044,1044,42,519,501,829,0,1229,1241,1240,1045,1045,1045,42,640,644,823,0,918,922,1227,1046,1046,1046,42,823,822,640,0,1227,1226,918,1047,1047,1047,42,644,646,824,0,922,924,1230,1048,1048,1048,42,824,823,644,0,1230,1227,922,1049,1049,1049,42,646,645,825,0,924,923,1232,1050,1050,1050,42,825,824,646,0,1232,1230,924,1051,1051,1051,42,645,643,826,0,923,921,1234,1052,1052,1052,42,826,825,645,0,1234,1232,923,1053,1053,1053,42,643,639,827,0,921,917,1236,1054,1054,1054,42,827,826,643,0,1236,1234,921,1055,1055,1055,42,639,642,828,0,917,920,1238,1056,1056,1056,42,828,827,639,0,1238,1236,917,1057,1057,1057,42,642,641,829,0,920,919,1240,1058,1058,1058,42,829,828,642,0,1240,1238,920,1059,1059,1059,42,641,640,822,0,919,918,1226,1060,1060,1060,42,822,829,641,0,1226,1240,919,1061,1061,1061,42,517,531,524,0,748,764,755,583,585,1062,42,600,574,526,0,857,826,757,631,632,1063,42,526,527,600,0,757,758,857,1063,1064,631,42,525,524,531,0,756,755,764,592,1062,585,42,531,734,525,0,764,1242,756,585,592,592,42,743,830,758,0,1102,1243,1117,1065,1065,1065,42,758,744,743,0,1117,1103,1102,1066,1066,1066,42,831,745,746,0,1244,1104,1105,1067,1067,1067,42,746,760,831,0,1105,1119,1244,1068,1068,1068,42,758,830,831,0,1117,1243,1244,1069,1069,1069,42,831,760,758,0,1244,1119,1117,1070,1070,1070,42,559,557,831,0,1245,1246,1247,575,575,575,42,831,830,559,0,1247,1248,1245,575,575,575,42,831,555,745,0,1247,1249,1250,629,629,629,42,831,557,555,0,1247,1246,1249,629,629,629,42,734,745,555,0,1251,1250,1249,627,627,627,42,555,525,734,0,1249,1252,1251,627,627,627,42,561,743,600,0,1253,1254,1255,595,595,595,42,600,527,561,0,1255,1256,1253,595,595,595,42,830,743,561,0,1248,1254,1253,598,598,598,42,561,559,830,0,1253,1245,1248,598,598,598,42,412,800,794,0,1196,1192,1257,1071,1071,1071,42,794,398,412,0,1257,1258,1196,1072,1072,1072,42,807,794,800,0,1201,1257,1192,1073,1073,1073,42,800,803,807,0,1192,1195,1201,1074,1074,1074,42,820,439,438,0,1222,1259,1260,1075,1075,1075,42,438,440,820,0,1260,637,1222,1076,1076,1076,42,820,819,439,0,1222,1261,1259,1077,1077,1077,42,440,442,821,0,637,641,1224,1078,1078,1078,42,821,820,440,0,1224,1222,637,1079,1079,1079,42,442,440,441,0,641,637,639,1080,1080,1080,42,23,22,59,0,25,24,61,0,0,0,42,59,137,23,0,61,166,25,0,0,0,42,470,575,498,0,694,827,724,0,0,0,42,498,467,470,0,724,691,694,0,0,0,42,470,469,589,0,845,843,842,1081,1081,1081,42,589,591,470,0,842,846,845,1082,1082,1082,42,151,154,23,0,181,184,186,1083,1083,1083,42,23,155,151,0,186,185,181,1084,1084,1084,42,23,154,20,0,186,184,496,1085,1085,1085,42,567,514,565,0,817,745,815,0,0,0,42,565,566,567,0,815,816,817,0,0,0,42,567,568,514,0,817,818,745,0,0,0,42,513,565,514,0,744,815,745,0,0,0,42,571,522,569,0,821,753,819,29,29,29,42,569,570,571,0,819,820,821,29,29,29,42,571,572,522,0,821,822,753,29,29,29,42,521,569,522,0,752,819,753,29,29,29,42,131,81,133,0,158,88,160,29,29,29,42,133,132,131,0,160,159,158,29,29,29,42,131,130,81,0,158,157,88,29,29,29,42,80,133,81,0,87,160,88,29,29,29,42,127,73,129,0,154,80,156,0,0,0,42,129,128,127,0,156,155,154,0,0,0,42,127,126,73,0,154,153,80,0,0,0,42,72,129,73,0,79,156,80,0,0,0,42,710,714,709,0,1262,1263,1264,29,29,29,42,709,708,710,0,1264,1265,1262,29,29,29,42,712,714,710,0,1266,1263,1262,29,29,29,42,710,711,712,0,1262,1267,1266,29,29,29,42,712,713,714,0,1266,1268,1263,29,29,29,42,715,709,714,0,1269,1264,1263,29,29,29,42,702,706,701,0,1270,1271,1272,29,29,29,42,701,700,702,0,1272,1273,1270,29,29,29,42,704,706,702,0,1274,1271,1270,29,29,29,42,702,703,704,0,1270,1275,1274,29,29,29,42,704,705,706,0,1274,1276,1271,29,29,29,42,707,701,706,0,1277,1272,1271,29,29,29,42,281,285,283,0,1278,1279,1280,29,29,29,42,283,282,281,0,1280,1281,1278,29,29,29,42,287,285,281,0,1282,1279,1278,29,29,29,42,281,288,287,0,1278,1283,1282,29,29,29,42,287,286,285,0,1282,1284,1279,29,29,29,42,284,283,285,0,1285,1280,1279,29,29,29,42,289,293,291,0,1286,1287,1288,29,29,29,42,291,290,289,0,1288,1289,1286,29,29,29,42,295,293,289,0,1290,1287,1286,29,29,29,42,289,296,295,0,1286,1291,1290,29,29,29,42,295,294,293,0,1290,1292,1287,29,29,29,42,292,291,293,0,1293,1288,1287,29,29,29,42,369,368,362,0,1294,1295,1296,1086,1086,1086,42,362,361,369,0,1296,1297,1294,1087,1087,1087,42,367,369,361,0,1298,1294,1297,1088,1088,1088,42,361,363,367,0,1297,1299,1298,1089,1089,1089,42,368,367,363,0,1300,1298,1299,1090,1090,1090,42,363,362,368,0,1299,1301,1300,1091,1091,1091,42,366,365,358,0,1302,1303,1304,1092,1092,1092,42,358,360,366,0,1304,1305,1302,1093,1093,1093,42,364,366,360,0,1306,1302,1305,1094,1094,1094,42,360,359,364,0,1305,1307,1306,1095,1095,1095,42,365,364,359,0,1308,1306,1307,1096,1096,1096,42,359,358,365,0,1307,1309,1308,1097,1097,1097,42,777,779,773,0,1310,1311,1312,1098,1098,1098,42,773,772,777,0,1312,1313,1310,1099,1099,1099,42,778,777,772,0,1314,1315,1316,1100,1100,1100,42,772,771,778,0,1316,1317,1314,1101,1101,1101,42,779,778,771,0,1311,1314,1317,1102,1102,1102,42,771,773,779,0,1317,1312,1311,1103,1103,1103,42,780,782,775,0,1318,1319,1320,1104,1104,1104,42,775,774,780,0,1320,1321,1318,1105,1105,1105,42,781,780,774,0,1322,1323,1324,1106,1106,1106,42,774,776,781,0,1324,1325,1322,1107,1107,1107,42,782,781,776,0,1319,1322,1325,1108,1108,1108,42,776,775,782,0,1325,1320,1319,1109,1109,1109] - -} diff --git a/tools/hexgl/geometries/tracks/cityscape/bonus/speed.js b/tools/hexgl/geometries/tracks/cityscape/bonus/speed.js deleted file mode 100644 index c1eedda..0000000 --- a/tools/hexgl/geometries/tracks/cityscape/bonus/speed.js +++ /dev/null @@ -1,45 +0,0 @@ -{ - - "metadata" : - { - "formatVersion" : 3.1, - "sourceFile" : "speed.obj", - "generatedBy" : "OBJConverter", - "vertices" : 224, - "faces" : 168, - "normals" : 14, - "colors" : 0, - "uvs" : 168, - "materials" : 1 - }, - - "scale" : 1.000000, - - "materials": [ { - "DbgColor" : 15658734, - "DbgIndex" : 0, - "DbgName" : "08___Default", - "colorAmbient" : [0.0, 0.470588, 1.0], - "colorDiffuse" : [0.0, 0.470588, 1.0], - "colorSpecular" : [0.0, 0.0, 0.0], - "illumination" : 2, - "opticalDensity" : 1.5, - "specularCoef" : 9.999999, - "transparency" : 0.0 - }], - - "vertices": [-2207.104980,384.284088,-1439.154175,-2213.053955,384.284088,-1439.934570,-2215.395020,384.284088,-1422.087402,-2208.665771,384.284088,-1427.256104,-2219.783447,384.284088,-1434.765869,-2222.124512,384.284088,-1416.918823,-2225.732422,384.284088,-1435.546265,-2228.073486,384.284088,-1417.699097,-2230.901123,384.284088,-1442.275635,-2233.242188,384.284088,-1424.428467,-2236.850098,384.284088,-1443.056030,-2238.410889,384.284088,-1431.157959,-2212.273682,384.284088,-1445.883667,-2230.120850,384.284088,-1448.224731,-2224.952148,384.284088,-1441.495239,-2219.003174,384.284088,-1440.714966,-1802.347412,427.065033,24.983397,-1803.133911,426.283112,30.880005,-1785.847290,430.410278,33.733055,-1790.822998,429.816467,26.885429,-1798.158203,426.876892,37.727631,-1780.871704,431.004059,40.580677,-1798.944824,426.094971,43.624237,-1781.658203,430.222137,46.477287,-1805.493530,423.937317,48.569828,-1788.206909,428.064514,51.422878,-1806.280029,423.155396,54.466434,-1794.755615,425.906860,56.368469,-1808.896118,424.907379,29.928989,-1811.255737,422.561615,47.618813,-1804.706909,424.719269,42.673222,-1803.920410,425.501190,36.776611,-1430.312866,371.850159,-1600.584717,-1429.984497,371.821167,-1594.593750,-1412.081299,370.240601,-1595.582764,-1418.377441,370.796448,-1601.244019,-1423.688354,371.265320,-1588.932495,-1405.785156,369.684753,-1589.921631,-1423.359863,371.236328,-1582.941528,-1405.456787,369.655762,-1583.930664,-1428.999268,371.734192,-1576.620972,-1411.096069,370.153625,-1577.609985,-1428.670776,371.705200,-1570.630005,-1416.735352,370.651489,-1571.289429,-1435.952148,372.348022,-1594.264038,-1434.966919,372.261047,-1576.291260,-1429.327637,371.763184,-1582.611816,-1429.656006,371.792175,-1588.602783,-760.376465,411.521362,-201.897675,-765.971619,410.747253,-203.921402,-772.324890,413.054565,-187.238724,-764.612000,413.059570,-190.775879,-773.684448,410.742279,-200.384247,-780.037781,413.049591,-183.701569,-779.279602,409.968170,-202.407990,-785.632874,412.275482,-185.725296,-782.756958,408.424988,-209.992615,-789.110229,410.732300,-193.309921,-788.352051,407.650879,-212.016342,-792.587585,409.189087,-200.894562,-763.853821,409.978149,-209.482300,-780.639160,407.655884,-215.553513,-777.161804,409.199066,-207.968872,-771.566711,409.973175,-205.945145,1052.028809,851.673035,-143.287369,1050.197998,851.673035,-137.573517,1067.339600,851.673035,-132.081070,1063.456543,851.673035,-139.625732,1054.081055,851.673035,-130.028854,1071.222656,851.673035,-124.536400,1052.250244,851.673035,-124.315002,1069.391846,851.673035,-118.822548,1044.705566,851.673035,-120.431969,1061.847168,851.673035,-114.939514,1042.874756,851.673035,-114.718117,1054.302490,851.673035,-111.056480,1044.484131,851.673035,-139.404343,1038.991699,851.673035,-122.262787,1046.536377,851.673035,-126.145821,1048.367188,851.673035,-131.859665,114.764381,387.355591,1345.013306,116.528221,387.487000,1339.279907,99.332870,387.016846,1333.979126,103.300812,387.042175,1341.479492,112.560280,387.461670,1331.779663,95.364922,386.991516,1326.478760,114.324112,387.593048,1326.046265,97.128761,387.122894,1320.745483,121.819740,387.881165,1322.079834,104.624382,387.411011,1316.779053,123.583580,388.012543,1316.346436,112.120010,387.699097,1312.812500,122.260010,387.643707,1341.046875,127.551521,388.037872,1323.846802,120.055901,387.749756,1327.813232,118.292061,387.618378,1333.546509,103.300232,386.091064,1382.094238,105.064072,386.222473,1376.360840,87.868721,385.752319,1371.060059,91.836662,385.777649,1378.560425,101.096130,386.197144,1368.860596,83.900772,385.726990,1363.559692,102.859962,386.328522,1363.127197,85.664612,385.858368,1357.826416,110.355591,386.616638,1359.160767,93.160233,386.146484,1353.859863,112.119431,386.748016,1353.427368,100.655861,386.434570,1349.893433,110.795860,386.379181,1378.127808,116.087372,386.773346,1360.927734,108.591751,386.485229,1364.894165,106.827911,386.353851,1370.627441,-1443.524658,384.385132,623.153931,-1441.941772,384.329498,617.366760,-1459.304077,384.279449,612.618347,-1455.099609,384.351746,619.988281,-1446.146362,384.257172,609.996765,-1463.508667,384.207123,605.248352,-1444.563477,384.201538,604.209595,-1461.925781,384.151489,599.461182,-1437.193115,384.162598,600.005249,-1454.555420,384.112549,595.256836,-1435.610229,384.106964,594.218079,-1447.185059,384.073608,591.052490,-1436.154419,384.346191,618.949585,-1431.405640,384.179291,601.588074,-1438.776001,384.218231,605.792419,-1440.358887,384.273865,611.579590,-42.320881,853.625244,2018.186035,-45.366199,853.731445,2023.354614,-30.152107,850.421692,2032.386597,-32.178154,851.418762,2024.207275,-43.340153,852.734314,2031.533936,-28.126060,849.424561,2040.565918,-46.385468,852.840454,2036.702515,-31.171377,849.530701,2045.734497,-54.502151,854.049866,2038.860474,-39.288059,850.740112,2047.892578,-57.547466,854.156006,2044.029175,-47.404739,851.949524,2050.050537,-50.437561,854.834656,2020.343994,-59.573517,855.153137,2035.849854,-51.456833,853.943726,2033.691895,-48.411514,853.837585,2028.523315,-61.953083,854.311218,2051.485840,-64.998398,854.417419,2056.654541,-49.784309,851.107666,2065.686523,-51.810356,852.104736,2057.507080,-62.972355,853.420288,2064.833740,-47.758263,850.110535,2073.865723,-66.017670,853.526428,2070.002441,-50.803581,850.216675,2079.034424,-74.134354,854.735840,2072.160400,-58.920261,851.426086,2081.192383,-77.179672,854.841980,2077.328857,-67.036942,852.635498,2083.350342,-70.069763,855.520630,2053.643799,-79.205719,855.839111,2069.149658,-71.089035,854.629700,2066.991699,-68.043716,854.523560,2061.822998,1281.115479,576.173218,2153.229492,1282.232910,575.313293,2159.061523,1298.392090,568.524048,2154.964111,1291.888184,571.647034,2150.498047,1288.736816,572.190308,2163.527588,1304.895874,565.401001,2159.430420,1289.854248,571.330383,2169.359619,1306.013428,564.541138,2165.262451,1285.585327,572.733582,2176.557373,1301.744507,565.944336,2172.459961,1286.702759,571.873657,2182.389404,1297.475586,567.347473,2179.657715,1276.846558,577.576355,2160.427246,1280.198975,574.996643,2177.923096,1284.467896,573.593506,2170.725342,1283.350342,574.453369,2164.893311,1535.597290,68.655907,-300.844513,1537.079102,68.646652,-306.658661,1519.683838,67.317024,-311.090057,1524.000488,67.769485,-303.798798,1532.762573,68.194191,-313.949921,1515.367310,66.864563,-318.381317,1534.244385,68.184937,-319.764038,1516.849121,66.855309,-324.195435,1541.524658,68.618889,-324.101013,1524.129395,67.289261,-328.532440,1543.006470,68.609634,-329.915161,1531.409668,67.723221,-332.869415,1542.877563,69.089859,-305.181519,1547.323120,69.062096,-322.623901,1540.042847,68.628143,-318.286896,1538.561035,68.637398,-312.472778,871.145081,320.166382,-2086.600342,872.894653,321.076111,-2092.266846,855.751770,323.559509,-2097.161133,859.716431,321.821991,-2089.863037,868.929932,322.813629,-2099.564941,851.787048,325.297028,-2104.459229,870.679565,323.723358,-2105.231689,853.536621,326.206726,-2110.125977,878.143433,323.805267,-2109.267090,861.000549,326.288666,-2114.161133,879.893066,324.714996,-2114.933594,868.464478,326.370575,-2118.196533,878.608948,320.248322,-2090.635498,883.857788,322.977478,-2107.635498,876.393860,322.895538,-2103.600342,874.644287,321.985840,-2097.933594,-861.231567,384.284088,-2366.130615,-861.028748,384.284088,-2372.127197,-879.018433,384.284088,-2372.735596,-873.224670,384.284088,-2366.536133,-866.822510,384.284088,-2378.326416,-884.812195,384.284088,-2378.934814,-866.619690,384.284088,-2384.322998,-884.609375,384.284088,-2384.931396,-860.420288,384.284088,-2390.116699,-878.409973,384.284088,-2390.725342,-860.217468,384.284088,-2396.113281,-872.210632,384.284088,-2396.519043,-855.032166,384.284088,-2371.924316,-854.423706,384.284088,-2389.914063,-860.623108,384.284088,-2384.120361,-860.825928,384.284088,-2378.123779], - - "morphTargets": [], - - "morphColors": [], - - "normals": [0,1,-0,-0.24599,0.96459,0.095099,0.087943,0.99613,0,-0.076339,0.98332,-0.16507,0,1,-0,-0.031408,0.99942,0.013241,-0.031408,0.99942,0.013241,-0.000236,0.99995,-0.009677,0.16727,0.98279,0.078373,0.16727,0.98279,0.078373,0.39924,0.91498,0.058413,-0.0712,0.99727,-0.019734,0.089076,0.97876,0.18463,0,1,-0], - - "colors": [], - - "uvs": [[0,0,0.2,0,0.2,1,0,1,0.4,0,0.4,1,0.6,0,0.6,1,0.8,0,0.8,1,1,0,1,1,0,0,0.2,0,0.2,1,0,1,0.4,0,0.4,1,0.6,0,0.6,1,0.8,0,0.8,1,1,0,1,1,0,0,0.2,0,0.2,1,0,1,0.4,0,0.4,1,0.6,0,0.6,1,0.8,0,0.8,1,1,0,1,1,0,0,0.2,0,0.2,1,0,1,0.4,0,0.4,1,0.6,0,0.6,1,0.8,0,0.8,1,1,0,1,1,0,0,0.2,0,0.2,1,0,1,0.4,0,0.4,1,0.6,0,0.6,1,0.8,0,0.8,1,1,0,1,1,0,0,0.2,0,0.2,1,0,1,0.4,0,0.4,1,0.6,0,0.6,1,0.8,0,0.8,1,1,0,1,1,0,0,0.2,0,0.2,1,0,1,0.4,0,0.4,1,0.6,0,0.6,1,0.8,0,0.8,1,1,0,1,1,0,0,0.2,0,0.2,1,0,1,0.4,0,0.4,1,0.6,0,0.6,1,0.8,0,0.8,1,1,0,1,1,0,0,0.2,0,0.2,1,0,1,0.4,0,0.4,1,0.6,0,0.6,1,0.8,0,0.8,1,1,0,1,1,0,0,0.2,0,0.2,1,0,1,0.4,0,0.4,1,0.6,0,0.6,1,0.8,0,0.8,1,1,0,1,1,0,0,0.2,0,0.2,1,0,1,0.4,0,0.4,1,0.6,0,0.6,1,0.8,0,0.8,1,1,0,1,1,0,0,0.2,0,0.2,1,0,1,0.4,0,0.4,1,0.6,0,0.6,1,0.8,0,0.8,1,1,0,1,1,0,0,0.2,0,0.2,1,0,1,0.4,0,0.4,1,0.6,0,0.6,1,0.8,0,0.8,1,1,0,1,1,0,0,0.2,0,0.2,1,0,1,0.4,0,0.4,1,0.6,0,0.6,1,0.8,0,0.8,1,1,0,1,1]], - - "faces": [42,0,1,2,0,0,1,2,0,0,0,42,2,3,0,0,2,3,0,0,0,0,42,1,4,5,0,1,4,5,0,0,0,42,5,2,1,0,5,2,1,0,0,0,42,4,6,7,0,4,6,7,0,0,0,42,7,5,4,0,7,5,4,0,0,0,42,6,8,9,0,6,8,9,0,0,0,42,9,7,6,0,9,7,6,0,0,0,42,8,10,11,0,8,10,11,0,0,0,42,11,9,8,0,11,9,8,0,0,0,42,12,13,14,0,0,10,11,0,0,0,42,14,15,12,0,11,3,0,0,0,0,42,16,17,18,0,12,13,14,1,1,1,42,18,19,16,0,14,15,12,1,1,1,42,17,20,21,0,13,16,17,1,1,1,42,21,18,17,0,17,14,13,1,1,1,42,20,22,23,0,16,18,19,1,1,1,42,23,21,20,0,19,17,16,1,1,1,42,22,24,25,0,18,20,21,1,1,1,42,25,23,22,0,21,19,18,1,1,1,42,24,26,27,0,20,22,23,1,1,1,42,27,25,24,0,23,21,20,1,1,1,42,28,29,30,0,12,22,23,1,1,1,42,30,31,28,0,23,15,12,1,1,1,42,32,33,34,0,24,25,26,2,2,2,42,34,35,32,0,26,27,24,2,2,2,42,33,36,37,0,25,28,29,2,2,2,42,37,34,33,0,29,26,25,2,2,2,42,36,38,39,0,28,30,31,2,2,2,42,39,37,36,0,31,29,28,2,2,2,42,38,40,41,0,30,32,33,2,2,2,42,41,39,38,0,33,31,30,2,2,2,42,40,42,43,0,32,34,35,2,2,2,42,43,41,40,0,35,33,32,2,2,2,42,44,45,46,0,24,34,35,2,2,2,42,46,47,44,0,35,27,24,2,2,2,42,48,49,50,0,36,37,38,3,3,3,42,50,51,48,0,38,39,36,3,3,3,42,49,52,53,0,37,40,41,3,3,3,42,53,50,49,0,41,38,37,3,3,3,42,52,54,55,0,40,42,43,3,3,3,42,55,53,52,0,43,41,40,3,3,3,42,54,56,57,0,42,44,45,3,3,3,42,57,55,54,0,45,43,42,3,3,3,42,56,58,59,0,44,46,47,3,3,3,42,59,57,56,0,47,45,44,3,3,3,42,60,61,62,0,36,46,47,3,3,3,42,62,63,60,0,47,39,36,3,3,3,42,64,65,66,0,48,49,50,4,4,4,42,66,67,64,0,50,51,48,4,4,4,42,65,68,69,0,49,52,53,4,4,4,42,69,66,65,0,53,50,49,4,4,4,42,68,70,71,0,52,54,55,4,4,4,42,71,69,68,0,55,53,52,4,4,4,42,70,72,73,0,54,56,57,4,4,4,42,73,71,70,0,57,55,54,4,4,4,42,72,74,75,0,56,58,59,4,4,4,42,75,73,72,0,59,57,56,4,4,4,42,76,77,78,0,48,58,59,4,4,4,42,78,79,76,0,59,51,48,4,4,4,42,80,81,82,0,60,61,62,5,5,5,42,82,83,80,0,62,63,60,5,5,5,42,81,84,85,0,61,64,65,5,5,5,42,85,82,81,0,65,62,61,5,5,5,42,84,86,87,0,64,66,67,5,5,5,42,87,85,84,0,67,65,64,5,5,5,42,86,88,89,0,66,68,69,5,5,5,42,89,87,86,0,69,67,66,5,5,5,42,88,90,91,0,68,70,71,5,5,5,42,91,89,88,0,71,69,68,5,5,5,42,92,93,94,0,60,70,71,5,5,5,42,94,95,92,0,71,63,60,5,5,5,42,96,97,98,0,72,73,74,6,6,6,42,98,99,96,0,74,75,72,6,6,6,42,97,100,101,0,73,76,77,6,6,6,42,101,98,97,0,77,74,73,6,6,6,42,100,102,103,0,76,78,79,6,6,6,42,103,101,100,0,79,77,76,6,6,6,42,102,104,105,0,78,80,81,6,6,6,42,105,103,102,0,81,79,78,6,6,6,42,104,106,107,0,80,82,83,6,6,6,42,107,105,104,0,83,81,80,6,6,6,42,108,109,110,0,72,82,83,6,6,6,42,110,111,108,0,83,75,72,6,6,6,42,112,113,114,0,84,85,86,7,7,7,42,114,115,112,0,86,87,84,7,7,7,42,113,116,117,0,85,88,89,7,7,7,42,117,114,113,0,89,86,85,7,7,7,42,116,118,119,0,88,90,91,7,7,7,42,119,117,116,0,91,89,88,7,7,7,42,118,120,121,0,90,92,93,7,7,7,42,121,119,118,0,93,91,90,7,7,7,42,120,122,123,0,92,94,95,7,7,7,42,123,121,120,0,95,93,92,7,7,7,42,124,125,126,0,84,94,95,7,7,7,42,126,127,124,0,95,87,84,7,7,7,42,128,129,130,0,96,97,98,8,8,8,42,130,131,128,0,98,99,96,8,8,8,42,129,132,133,0,97,100,101,8,8,8,42,133,130,129,0,101,98,97,8,8,8,42,132,134,135,0,100,102,103,8,8,8,42,135,133,132,0,103,101,100,8,8,8,42,134,136,137,0,102,104,105,8,8,8,42,137,135,134,0,105,103,102,8,8,8,42,136,138,139,0,104,106,107,8,8,8,42,139,137,136,0,107,105,104,8,8,8,42,140,141,142,0,96,106,107,8,8,8,42,142,143,140,0,107,99,96,8,8,8,42,144,145,146,0,108,109,110,9,9,9,42,146,147,144,0,110,111,108,9,9,9,42,145,148,149,0,109,112,113,9,9,9,42,149,146,145,0,113,110,109,9,9,9,42,148,150,151,0,112,114,115,9,9,9,42,151,149,148,0,115,113,112,9,9,9,42,150,152,153,0,114,116,117,9,9,9,42,153,151,150,0,117,115,114,9,9,9,42,152,154,155,0,116,118,119,9,9,9,42,155,153,152,0,119,117,116,9,9,9,42,156,157,158,0,108,118,119,9,9,9,42,158,159,156,0,119,111,108,9,9,9,42,160,161,162,0,120,121,122,10,10,10,42,162,163,160,0,122,123,120,10,10,10,42,161,164,165,0,121,124,125,10,10,10,42,165,162,161,0,125,122,121,10,10,10,42,164,166,167,0,124,126,127,10,10,10,42,167,165,164,0,127,125,124,10,10,10,42,166,168,169,0,126,128,129,10,10,10,42,169,167,166,0,129,127,126,10,10,10,42,168,170,171,0,128,130,131,10,10,10,42,171,169,168,0,131,129,128,10,10,10,42,172,173,174,0,120,130,131,10,10,10,42,174,175,172,0,131,123,120,10,10,10,42,176,177,178,0,132,133,134,11,11,11,42,178,179,176,0,134,135,132,11,11,11,42,177,180,181,0,133,136,137,11,11,11,42,181,178,177,0,137,134,133,11,11,11,42,180,182,183,0,136,138,139,11,11,11,42,183,181,180,0,139,137,136,11,11,11,42,182,184,185,0,138,140,141,11,11,11,42,185,183,182,0,141,139,138,11,11,11,42,184,186,187,0,140,142,143,11,11,11,42,187,185,184,0,143,141,140,11,11,11,42,188,189,190,0,132,142,143,11,11,11,42,190,191,188,0,143,135,132,11,11,11,42,192,193,194,0,144,145,146,12,12,12,42,194,195,192,0,146,147,144,12,12,12,42,193,196,197,0,145,148,149,12,12,12,42,197,194,193,0,149,146,145,12,12,12,42,196,198,199,0,148,150,151,12,12,12,42,199,197,196,0,151,149,148,12,12,12,42,198,200,201,0,150,152,153,12,12,12,42,201,199,198,0,153,151,150,12,12,12,42,200,202,203,0,152,154,155,12,12,12,42,203,201,200,0,155,153,152,12,12,12,42,204,205,206,0,144,154,155,12,12,12,42,206,207,204,0,155,147,144,12,12,12,42,208,209,210,0,156,157,158,13,13,13,42,210,211,208,0,158,159,156,13,13,13,42,209,212,213,0,157,160,161,13,13,13,42,213,210,209,0,161,158,157,13,13,13,42,212,214,215,0,160,162,163,13,13,13,42,215,213,212,0,163,161,160,13,13,13,42,214,216,217,0,162,164,165,13,13,13,42,217,215,214,0,165,163,162,13,13,13,42,216,218,219,0,164,166,167,13,13,13,42,219,217,216,0,167,165,164,13,13,13,42,220,221,222,0,156,166,167,13,13,13,42,222,223,220,0,167,159,156,13,13,13] - -} diff --git a/tools/hexgl/geometries/tracks/cityscape/scrapers1.js b/tools/hexgl/geometries/tracks/cityscape/scrapers1.js deleted file mode 100644 index 9a0adfd..0000000 --- a/tools/hexgl/geometries/tracks/cityscape/scrapers1.js +++ /dev/null @@ -1,45 +0,0 @@ -{ - - "metadata" : - { - "formatVersion" : 3.1, - "sourceFile" : "skyscrapper.obj", - "generatedBy" : "OBJConverter", - "vertices" : 96, - "faces" : 176, - "normals" : 24, - "colors" : 0, - "uvs" : 24, - "materials" : 1 - }, - - "scale" : 1.000000, - - "materials": [ { - "DbgColor" : 15658734, - "DbgIndex" : 0, - "DbgName" : "07___Default", - "colorAmbient" : [0.588235, 0.588235, 0.588235], - "colorDiffuse" : [0.588235, 0.588235, 0.588235], - "colorSpecular" : [0.0, 0.0, 0.0], - "illumination" : 2, - "opticalDensity" : 1.5, - "specularCoef" : 9.999999, - "transparency" : 0.0 - }], - - "vertices": [-1301.428223,-1321.407715,-843.342468,-1609.531982,-1321.407715,-1177.446655,-1275.427734,-1321.407715,-1485.550293,-967.324036,-1321.407715,-1151.446167,-1301.428223,1085.069336,-843.342468,-967.324036,1085.069336,-1151.446167,-1275.427734,1085.069336,-1485.550293,-1609.531982,1085.069336,-1177.446655,-967.324036,-840.112305,-1151.446167,-1301.428223,-840.112305,-843.342468,-967.324036,-358.816895,-1151.446167,-1301.428223,-358.816895,-843.342468,-967.324036,122.478516,-1151.446167,-1301.428223,122.478516,-843.342468,-967.324036,603.773926,-1151.446167,-1301.428223,603.773926,-843.342468,-1275.427734,-840.112305,-1485.550293,-1275.427734,-358.816895,-1485.550293,-1275.427734,122.478516,-1485.550293,-1275.427734,603.773926,-1485.550293,-1609.531982,-840.112305,-1177.446655,-1609.531982,-358.816895,-1177.446655,-1609.531982,122.478516,-1177.446655,-1609.531982,603.773926,-1177.446655,-572.018799,-1321.407715,-686.367004,-880.122498,-1321.407715,-1020.471191,-546.018311,-1321.407715,-1328.574951,-237.914612,-1321.407715,-994.470703,-572.018799,1085.069336,-686.367004,-237.914612,1085.069336,-994.470703,-546.018311,1085.069336,-1328.574951,-880.122498,1085.069336,-1020.471191,-237.914612,-840.112305,-994.470703,-572.018799,-840.112305,-686.367004,-237.914612,-358.816895,-994.470703,-572.018799,-358.816895,-686.367004,-237.914612,122.478516,-994.470703,-572.018799,122.478516,-686.367004,-237.914612,603.773926,-994.470703,-572.018799,603.773926,-686.367004,-546.018311,-840.112305,-1328.574951,-546.018311,-358.816895,-1328.574951,-546.018311,122.478516,-1328.574951,-546.018311,603.773926,-1328.574951,-880.122498,-840.112305,-1020.471191,-880.122498,-358.816895,-1020.471191,-880.122498,122.478516,-1020.471191,-880.122498,603.773926,-1020.471191,-467.792664,-1927.609863,539.917786,-467.792664,-1927.609863,-277.186951,349.312073,-1927.609863,-277.186951,349.312073,-1927.609863,539.917786,-467.792664,2398.954590,539.917786,349.312073,2398.954590,539.917786,349.312073,2398.954590,-277.186951,-467.792664,2398.954590,-277.186951,349.312073,-1062.296997,539.917786,-467.792664,-1062.296997,539.917786,349.312073,-196.984131,539.917786,-467.792664,-196.984131,539.917786,349.312073,668.328613,539.917786,-467.792664,668.328613,539.917786,349.312073,1533.641602,539.917786,-467.792664,1533.641602,539.917786,349.312073,-1062.296997,-277.186951,349.312073,-196.984131,-277.186951,349.312073,668.328613,-277.186951,349.312073,1533.641602,-277.186951,-467.792664,-1062.296997,-277.186951,-467.792664,-196.984131,-277.186951,-467.792664,668.328613,-277.186951,-467.792664,1533.641602,-277.186951,-1754.788818,-1635.150635,1662.159180,-1923.306152,-1635.150635,1146.576416,-1407.723389,-1635.150635,978.059143,-1239.206055,-1635.150635,1493.641846,-1754.788818,1236.979736,1662.159180,-1239.206055,1236.979736,1493.641846,-1407.723389,1236.979736,978.059143,-1923.306152,1236.979736,1146.576416,-1239.206055,-1060.724609,1493.641846,-1754.788818,-1060.724609,1662.159180,-1239.206055,-486.298462,1493.641846,-1754.788818,-486.298462,1662.159180,-1239.206055,88.127563,1493.641846,-1754.788818,88.127563,1662.159180,-1239.206055,662.553711,1493.641846,-1754.788818,662.553711,1662.159180,-1407.723389,-1060.724609,978.059143,-1407.723389,-486.298462,978.059143,-1407.723389,88.127563,978.059143,-1407.723389,662.553711,978.059143,-1923.306152,-1060.724609,1146.576416,-1923.306152,-486.298462,1146.576416,-1923.306152,88.127563,1146.576416,-1923.306152,662.553711,1146.576416], - - "morphTargets": [], - - "morphColors": [], - - "normals": [0,-1,-0,0,1,-0,0.67792,0,0.73513,0.73513,0,-0.67792,-0.67792,0,-0.73513,-0.73513,0,0.67792,0,-1,-0,0,1,-0,0.67792,0,0.73513,0.73513,0,-0.67792,-0.67792,0,-0.73513,-0.73513,0,0.67792,0,-1,-0,0,1,-0,0,0,1,1,0,-0,0,0,-1,-1,0,-0,0,-1,-0,0,1,-0,0.31067,0,0.95052,0.95052,0,-0.31067,-0.31067,0,-0.95052,-0.95052,0,0.31067], - - "colors": [], - - "uvs": [[0,0,1,0,1,1,0,1,-0,0,1,-0,0,0,1,0,1,1,0,1,-0,0,1,-0,0,0,1,0,1,1,0,1,-0,0,1,-0,0,0,1,0,1,1,0,1,-0,0,1,-0]], - - "faces": [42,0,1,2,0,0,1,2,0,0,0,42,2,3,0,0,2,3,0,0,0,0,42,4,5,6,0,0,1,2,1,1,1,42,6,7,4,0,2,3,0,1,1,1,42,0,3,8,0,0,1,2,2,2,2,42,8,9,0,0,2,3,0,2,2,2,42,9,8,10,0,0,1,2,2,2,2,42,10,11,9,0,2,3,0,2,2,2,42,11,10,12,0,0,1,2,2,2,2,42,12,13,11,0,2,3,0,2,2,2,42,13,12,14,0,0,1,2,2,2,2,42,14,15,13,0,2,3,0,2,2,2,42,15,14,5,0,4,5,2,2,2,2,42,5,4,15,0,2,3,4,2,2,2,42,3,2,16,0,0,1,2,3,3,3,42,16,8,3,0,2,3,0,3,3,3,42,8,16,17,0,0,1,2,3,3,3,42,17,10,8,0,2,3,0,3,3,3,42,10,17,18,0,0,1,2,3,3,3,42,18,12,10,0,2,3,0,3,3,3,42,12,18,19,0,0,1,2,3,3,3,42,19,14,12,0,2,3,0,3,3,3,42,14,19,6,0,4,5,2,3,3,3,42,6,5,14,0,2,3,4,3,3,3,42,2,1,20,0,0,1,2,4,4,4,42,20,16,2,0,2,3,0,4,4,4,42,16,20,21,0,0,1,2,4,4,4,42,21,17,16,0,2,3,0,4,4,4,42,17,21,22,0,0,1,2,4,4,4,42,22,18,17,0,2,3,0,4,4,4,42,18,22,23,0,0,1,2,4,4,4,42,23,19,18,0,2,3,0,4,4,4,42,19,23,7,0,4,5,2,4,4,4,42,7,6,19,0,2,3,4,4,4,4,42,1,0,9,0,0,1,2,5,5,5,42,9,20,1,0,2,3,0,5,5,5,42,20,9,11,0,0,1,2,5,5,5,42,11,21,20,0,2,3,0,5,5,5,42,21,11,13,0,0,1,2,5,5,5,42,13,22,21,0,2,3,0,5,5,5,42,22,13,15,0,0,1,2,5,5,5,42,15,23,22,0,2,3,0,5,5,5,42,23,15,4,0,4,5,2,5,5,5,42,4,7,23,0,2,3,4,5,5,5,42,24,25,26,0,6,7,8,6,6,6,42,26,27,24,0,8,9,6,6,6,6,42,28,29,30,0,6,7,8,7,7,7,42,30,31,28,0,8,9,6,7,7,7,42,24,27,32,0,6,7,8,8,8,8,42,32,33,24,0,8,9,6,8,8,8,42,33,32,34,0,6,7,8,8,8,8,42,34,35,33,0,8,9,6,8,8,8,42,35,34,36,0,6,7,8,8,8,8,42,36,37,35,0,8,9,6,8,8,8,42,37,36,38,0,6,7,8,8,8,8,42,38,39,37,0,8,9,6,8,8,8,42,39,38,29,0,10,11,8,8,8,8,42,29,28,39,0,8,9,10,8,8,8,42,27,26,40,0,6,7,8,9,9,9,42,40,32,27,0,8,9,6,9,9,9,42,32,40,41,0,6,7,8,9,9,9,42,41,34,32,0,8,9,6,9,9,9,42,34,41,42,0,6,7,8,9,9,9,42,42,36,34,0,8,9,6,9,9,9,42,36,42,43,0,6,7,8,9,9,9,42,43,38,36,0,8,9,6,9,9,9,42,38,43,30,0,10,11,8,9,9,9,42,30,29,38,0,8,9,10,9,9,9,42,26,25,44,0,6,7,8,10,10,10,42,44,40,26,0,8,9,6,10,10,10,42,40,44,45,0,6,7,8,10,10,10,42,45,41,40,0,8,9,6,10,10,10,42,41,45,46,0,6,7,8,10,10,10,42,46,42,41,0,8,9,6,10,10,10,42,42,46,47,0,6,7,8,10,10,10,42,47,43,42,0,8,9,6,10,10,10,42,43,47,31,0,10,11,8,10,10,10,42,31,30,43,0,8,9,10,10,10,10,42,25,24,33,0,6,7,8,11,11,11,42,33,44,25,0,8,9,6,11,11,11,42,44,33,35,0,6,7,8,11,11,11,42,35,45,44,0,8,9,6,11,11,11,42,45,35,37,0,6,7,8,11,11,11,42,37,46,45,0,8,9,6,11,11,11,42,46,37,39,0,6,7,8,11,11,11,42,39,47,46,0,8,9,6,11,11,11,42,47,39,28,0,10,11,8,11,11,11,42,28,31,47,0,8,9,10,11,11,11,42,48,49,50,0,12,13,14,12,12,12,42,50,51,48,0,14,15,12,12,12,12,42,52,53,54,0,12,13,14,13,13,13,42,54,55,52,0,14,15,12,13,13,13,42,48,51,56,0,12,13,14,14,14,14,42,56,57,48,0,14,15,12,14,14,14,42,57,56,58,0,12,13,14,14,14,14,42,58,59,57,0,14,15,12,14,14,14,42,59,58,60,0,12,13,14,14,14,14,42,60,61,59,0,14,15,12,14,14,14,42,61,60,62,0,12,13,14,14,14,14,42,62,63,61,0,14,15,12,14,14,14,42,63,62,53,0,16,17,14,14,14,14,42,53,52,63,0,14,15,16,14,14,14,42,51,50,64,0,12,13,14,15,15,15,42,64,56,51,0,14,15,12,15,15,15,42,56,64,65,0,12,13,14,15,15,15,42,65,58,56,0,14,15,12,15,15,15,42,58,65,66,0,12,13,14,15,15,15,42,66,60,58,0,14,15,12,15,15,15,42,60,66,67,0,12,13,14,15,15,15,42,67,62,60,0,14,15,12,15,15,15,42,62,67,54,0,16,17,14,15,15,15,42,54,53,62,0,14,15,16,15,15,15,42,50,49,68,0,12,13,14,16,16,16,42,68,64,50,0,14,15,12,16,16,16,42,64,68,69,0,12,13,14,16,16,16,42,69,65,64,0,14,15,12,16,16,16,42,65,69,70,0,12,13,14,16,16,16,42,70,66,65,0,14,15,12,16,16,16,42,66,70,71,0,12,13,14,16,16,16,42,71,67,66,0,14,15,12,16,16,16,42,67,71,55,0,16,17,14,16,16,16,42,55,54,67,0,14,15,16,16,16,16,42,49,48,57,0,12,13,14,17,17,17,42,57,68,49,0,14,15,12,17,17,17,42,68,57,59,0,12,13,14,17,17,17,42,59,69,68,0,14,15,12,17,17,17,42,69,59,61,0,12,13,14,17,17,17,42,61,70,69,0,14,15,12,17,17,17,42,70,61,63,0,12,13,14,17,17,17,42,63,71,70,0,14,15,12,17,17,17,42,71,63,52,0,16,17,14,17,17,17,42,52,55,71,0,14,15,16,17,17,17,42,72,73,74,0,18,19,20,18,18,18,42,74,75,72,0,20,21,18,18,18,18,42,76,77,78,0,18,19,20,19,19,19,42,78,79,76,0,20,21,18,19,19,19,42,72,75,80,0,18,19,20,20,20,20,42,80,81,72,0,20,21,18,20,20,20,42,81,80,82,0,18,19,20,20,20,20,42,82,83,81,0,20,21,18,20,20,20,42,83,82,84,0,18,19,20,20,20,20,42,84,85,83,0,20,21,18,20,20,20,42,85,84,86,0,18,19,20,20,20,20,42,86,87,85,0,20,21,18,20,20,20,42,87,86,77,0,22,23,20,20,20,20,42,77,76,87,0,20,21,22,20,20,20,42,75,74,88,0,18,19,20,21,21,21,42,88,80,75,0,20,21,18,21,21,21,42,80,88,89,0,18,19,20,21,21,21,42,89,82,80,0,20,21,18,21,21,21,42,82,89,90,0,18,19,20,21,21,21,42,90,84,82,0,20,21,18,21,21,21,42,84,90,91,0,18,19,20,21,21,21,42,91,86,84,0,20,21,18,21,21,21,42,86,91,78,0,22,23,20,21,21,21,42,78,77,86,0,20,21,22,21,21,21,42,74,73,92,0,18,19,20,22,22,22,42,92,88,74,0,20,21,18,22,22,22,42,88,92,93,0,18,19,20,22,22,22,42,93,89,88,0,20,21,18,22,22,22,42,89,93,94,0,18,19,20,22,22,22,42,94,90,89,0,20,21,18,22,22,22,42,90,94,95,0,18,19,20,22,22,22,42,95,91,90,0,20,21,18,22,22,22,42,91,95,79,0,22,23,20,22,22,22,42,79,78,91,0,20,21,22,22,22,22,42,73,72,81,0,18,19,20,23,23,23,42,81,92,73,0,20,21,18,23,23,23,42,92,81,83,0,18,19,20,23,23,23,42,83,93,92,0,20,21,18,23,23,23,42,93,83,85,0,18,19,20,23,23,23,42,85,94,93,0,20,21,18,23,23,23,42,94,85,87,0,18,19,20,23,23,23,42,87,95,94,0,20,21,18,23,23,23,42,95,87,76,0,22,23,20,23,23,23,42,76,79,95,0,20,21,22,23,23,23] - -} diff --git a/tools/hexgl/geometries/tracks/cityscape/scrapers2.js b/tools/hexgl/geometries/tracks/cityscape/scrapers2.js deleted file mode 100644 index b530e64..0000000 --- a/tools/hexgl/geometries/tracks/cityscape/scrapers2.js +++ /dev/null @@ -1,45 +0,0 @@ -{ - - "metadata" : - { - "formatVersion" : 3.1, - "sourceFile" : "skyscrapper2.obj", - "generatedBy" : "OBJConverter", - "vertices" : 96, - "faces" : 176, - "normals" : 24, - "colors" : 0, - "uvs" : 24, - "materials" : 1 - }, - - "scale" : 1.000000, - - "materials": [ { - "DbgColor" : 15658734, - "DbgIndex" : 0, - "DbgName" : "07___Default", - "colorAmbient" : [0.588235, 0.588235, 0.588235], - "colorDiffuse" : [0.588235, 0.588235, 0.588235], - "colorSpecular" : [0.0, 0.0, 0.0], - "illumination" : 2, - "opticalDensity" : 1.5, - "specularCoef" : 9.999999, - "transparency" : 0.0 - }], - - "vertices": [1568.689941,-1239.016846,411.447174,1568.689941,-1239.016846,-103.328766,2083.465820,-1239.016846,-103.328766,2083.465820,-1239.016846,411.447174,1568.689941,1214.144775,411.447174,2083.465820,1214.144775,411.447174,2083.465820,1214.144775,-103.328766,1568.689941,1214.144775,-103.328766,2083.465820,-748.384521,411.447174,1568.689941,-748.384521,411.447174,2083.465820,-257.752197,411.447174,1568.689941,-257.752197,411.447174,2083.465820,232.880127,411.447174,1568.689941,232.880127,411.447174,2083.465820,723.512451,411.447174,1568.689941,723.512451,411.447174,2083.465820,-748.384521,-103.328766,2083.465820,-257.752197,-103.328766,2083.465820,232.880127,-103.328766,2083.465820,723.512451,-103.328766,1568.689941,-748.384521,-103.328766,1568.689941,-257.752197,-103.328766,1568.689941,232.880127,-103.328766,1568.689941,723.512451,-103.328766,87.964569,-1239.016846,2041.806274,87.964569,-1239.016846,1527.030396,602.740479,-1239.016846,1527.030396,602.740479,-1239.016846,2041.806274,87.964569,1214.144775,2041.806274,602.740479,1214.144775,2041.806274,602.740479,1214.144775,1527.030396,87.964569,1214.144775,1527.030396,602.740479,-748.384521,2041.806274,87.964569,-748.384521,2041.806274,602.740479,-257.752197,2041.806274,87.964569,-257.752197,2041.806274,602.740479,232.880127,2041.806274,87.964569,232.880127,2041.806274,602.740479,723.512451,2041.806274,87.964569,723.512451,2041.806274,602.740479,-748.384521,1527.030396,602.740479,-257.752197,1527.030396,602.740479,232.880127,1527.030396,602.740479,723.512451,1527.030396,87.964569,-748.384521,1527.030396,87.964569,-257.752197,1527.030396,87.964569,232.880127,1527.030396,87.964569,723.512451,1527.030396,-1918.638428,-1239.016846,-42.693939,-1918.638428,-1239.016846,-557.469849,-1403.862549,-1239.016846,-557.469849,-1403.862549,-1239.016846,-42.693939,-1918.638428,1214.144775,-42.693939,-1403.862549,1214.144775,-42.693939,-1403.862549,1214.144775,-557.469849,-1918.638428,1214.144775,-557.469849,-1403.862549,-748.384521,-42.693939,-1918.638428,-748.384521,-42.693939,-1403.862549,-257.752197,-42.693939,-1918.638428,-257.752197,-42.693939,-1403.862549,232.880127,-42.693939,-1918.638428,232.880127,-42.693939,-1403.862549,723.512451,-42.693939,-1918.638428,723.512451,-42.693939,-1403.862549,-748.384521,-557.469849,-1403.862549,-257.752197,-557.469849,-1403.862549,232.880127,-557.469849,-1403.862549,723.512451,-557.469849,-1918.638428,-748.384521,-557.469849,-1918.638428,-257.752197,-557.469849,-1918.638428,232.880127,-557.469849,-1918.638428,723.512451,-557.469849,380.619598,-1239.016846,-1367.230591,598.173279,-1239.016846,-1833.776001,1064.718750,-1239.016846,-1616.222290,847.165100,-1239.016846,-1149.676880,380.619598,1214.144775,-1367.230591,847.165100,1214.144775,-1149.676880,1064.718750,1214.144775,-1616.222290,598.173279,1214.144775,-1833.776001,847.165100,-748.384521,-1149.676880,380.619598,-748.384521,-1367.230591,847.165100,-257.752197,-1149.676880,380.619598,-257.752197,-1367.230591,847.165100,232.880127,-1149.676880,380.619598,232.880127,-1367.230591,847.165100,723.512451,-1149.676880,380.619598,723.512451,-1367.230591,1064.718750,-748.384521,-1616.222290,1064.718750,-257.752197,-1616.222290,1064.718750,232.880127,-1616.222290,1064.718750,723.512451,-1616.222290,598.173279,-748.384521,-1833.776001,598.173279,-257.752197,-1833.776001,598.173279,232.880127,-1833.776001,598.173279,723.512451,-1833.776001], - - "morphTargets": [], - - "morphColors": [], - - "normals": [0,-1,-0,0,1,-0,0,0,1,1,0,-0,0,0,-1,-1,0,-0,0,-1,-0,0,1,-0,0,0,1,1,0,-0,0,0,-1,-1,0,-0,0,-1,-0,0,1,-0,0,0,1,1,0,-0,0,0,-1,-1,0,-0,0,-1,-0,0,1,-0,-0.42262,0,0.90631,0.90631,0,0.42262,0.42262,0,-0.90631,-0.90631,0,-0.42262], - - "colors": [], - - "uvs": [[0,0,1,0,1,1,0,1,-0,0,1,-0,0,0,1,0,1,1,0,1,-0,0,1,-0,0,0,1,0,1,1,0,1,-0,0,1,-0,0,0,1,0,1,1,0,1,-0,0,1,-0]], - - "faces": [42,0,1,2,0,0,1,2,0,0,0,42,2,3,0,0,2,3,0,0,0,0,42,4,5,6,0,0,1,2,1,1,1,42,6,7,4,0,2,3,0,1,1,1,42,0,3,8,0,0,1,2,2,2,2,42,8,9,0,0,2,3,0,2,2,2,42,9,8,10,0,0,1,2,2,2,2,42,10,11,9,0,2,3,0,2,2,2,42,11,10,12,0,0,1,2,2,2,2,42,12,13,11,0,2,3,0,2,2,2,42,13,12,14,0,0,1,2,2,2,2,42,14,15,13,0,2,3,0,2,2,2,42,15,14,5,0,4,5,2,2,2,2,42,5,4,15,0,2,3,4,2,2,2,42,3,2,16,0,0,1,2,3,3,3,42,16,8,3,0,2,3,0,3,3,3,42,8,16,17,0,0,1,2,3,3,3,42,17,10,8,0,2,3,0,3,3,3,42,10,17,18,0,0,1,2,3,3,3,42,18,12,10,0,2,3,0,3,3,3,42,12,18,19,0,0,1,2,3,3,3,42,19,14,12,0,2,3,0,3,3,3,42,14,19,6,0,4,5,2,3,3,3,42,6,5,14,0,2,3,4,3,3,3,42,2,1,20,0,0,1,2,4,4,4,42,20,16,2,0,2,3,0,4,4,4,42,16,20,21,0,0,1,2,4,4,4,42,21,17,16,0,2,3,0,4,4,4,42,17,21,22,0,0,1,2,4,4,4,42,22,18,17,0,2,3,0,4,4,4,42,18,22,23,0,0,1,2,4,4,4,42,23,19,18,0,2,3,0,4,4,4,42,19,23,7,0,4,5,2,4,4,4,42,7,6,19,0,2,3,4,4,4,4,42,1,0,9,0,0,1,2,5,5,5,42,9,20,1,0,2,3,0,5,5,5,42,20,9,11,0,0,1,2,5,5,5,42,11,21,20,0,2,3,0,5,5,5,42,21,11,13,0,0,1,2,5,5,5,42,13,22,21,0,2,3,0,5,5,5,42,22,13,15,0,0,1,2,5,5,5,42,15,23,22,0,2,3,0,5,5,5,42,23,15,4,0,4,5,2,5,5,5,42,4,7,23,0,2,3,4,5,5,5,42,24,25,26,0,6,7,8,6,6,6,42,26,27,24,0,8,9,6,6,6,6,42,28,29,30,0,6,7,8,7,7,7,42,30,31,28,0,8,9,6,7,7,7,42,24,27,32,0,6,7,8,8,8,8,42,32,33,24,0,8,9,6,8,8,8,42,33,32,34,0,6,7,8,8,8,8,42,34,35,33,0,8,9,6,8,8,8,42,35,34,36,0,6,7,8,8,8,8,42,36,37,35,0,8,9,6,8,8,8,42,37,36,38,0,6,7,8,8,8,8,42,38,39,37,0,8,9,6,8,8,8,42,39,38,29,0,10,11,8,8,8,8,42,29,28,39,0,8,9,10,8,8,8,42,27,26,40,0,6,7,8,9,9,9,42,40,32,27,0,8,9,6,9,9,9,42,32,40,41,0,6,7,8,9,9,9,42,41,34,32,0,8,9,6,9,9,9,42,34,41,42,0,6,7,8,9,9,9,42,42,36,34,0,8,9,6,9,9,9,42,36,42,43,0,6,7,8,9,9,9,42,43,38,36,0,8,9,6,9,9,9,42,38,43,30,0,10,11,8,9,9,9,42,30,29,38,0,8,9,10,9,9,9,42,26,25,44,0,6,7,8,10,10,10,42,44,40,26,0,8,9,6,10,10,10,42,40,44,45,0,6,7,8,10,10,10,42,45,41,40,0,8,9,6,10,10,10,42,41,45,46,0,6,7,8,10,10,10,42,46,42,41,0,8,9,6,10,10,10,42,42,46,47,0,6,7,8,10,10,10,42,47,43,42,0,8,9,6,10,10,10,42,43,47,31,0,10,11,8,10,10,10,42,31,30,43,0,8,9,10,10,10,10,42,25,24,33,0,6,7,8,11,11,11,42,33,44,25,0,8,9,6,11,11,11,42,44,33,35,0,6,7,8,11,11,11,42,35,45,44,0,8,9,6,11,11,11,42,45,35,37,0,6,7,8,11,11,11,42,37,46,45,0,8,9,6,11,11,11,42,46,37,39,0,6,7,8,11,11,11,42,39,47,46,0,8,9,6,11,11,11,42,47,39,28,0,10,11,8,11,11,11,42,28,31,47,0,8,9,10,11,11,11,42,48,49,50,0,12,13,14,12,12,12,42,50,51,48,0,14,15,12,12,12,12,42,52,53,54,0,12,13,14,13,13,13,42,54,55,52,0,14,15,12,13,13,13,42,48,51,56,0,12,13,14,14,14,14,42,56,57,48,0,14,15,12,14,14,14,42,57,56,58,0,12,13,14,14,14,14,42,58,59,57,0,14,15,12,14,14,14,42,59,58,60,0,12,13,14,14,14,14,42,60,61,59,0,14,15,12,14,14,14,42,61,60,62,0,12,13,14,14,14,14,42,62,63,61,0,14,15,12,14,14,14,42,63,62,53,0,16,17,14,14,14,14,42,53,52,63,0,14,15,16,14,14,14,42,51,50,64,0,12,13,14,15,15,15,42,64,56,51,0,14,15,12,15,15,15,42,56,64,65,0,12,13,14,15,15,15,42,65,58,56,0,14,15,12,15,15,15,42,58,65,66,0,12,13,14,15,15,15,42,66,60,58,0,14,15,12,15,15,15,42,60,66,67,0,12,13,14,15,15,15,42,67,62,60,0,14,15,12,15,15,15,42,62,67,54,0,16,17,14,15,15,15,42,54,53,62,0,14,15,16,15,15,15,42,50,49,68,0,12,13,14,16,16,16,42,68,64,50,0,14,15,12,16,16,16,42,64,68,69,0,12,13,14,16,16,16,42,69,65,64,0,14,15,12,16,16,16,42,65,69,70,0,12,13,14,16,16,16,42,70,66,65,0,14,15,12,16,16,16,42,66,70,71,0,12,13,14,16,16,16,42,71,67,66,0,14,15,12,16,16,16,42,67,71,55,0,16,17,14,16,16,16,42,55,54,67,0,14,15,16,16,16,16,42,49,48,57,0,12,13,14,17,17,17,42,57,68,49,0,14,15,12,17,17,17,42,68,57,59,0,12,13,14,17,17,17,42,59,69,68,0,14,15,12,17,17,17,42,69,59,61,0,12,13,14,17,17,17,42,61,70,69,0,14,15,12,17,17,17,42,70,61,63,0,12,13,14,17,17,17,42,63,71,70,0,14,15,12,17,17,17,42,71,63,52,0,16,17,14,17,17,17,42,52,55,71,0,14,15,16,17,17,17,42,72,73,74,0,18,19,20,18,18,18,42,74,75,72,0,20,21,18,18,18,18,42,76,77,78,0,18,19,20,19,19,19,42,78,79,76,0,20,21,18,19,19,19,42,72,75,80,0,18,19,20,20,20,20,42,80,81,72,0,20,21,18,20,20,20,42,81,80,82,0,18,19,20,20,20,20,42,82,83,81,0,20,21,18,20,20,20,42,83,82,84,0,18,19,20,20,20,20,42,84,85,83,0,20,21,18,20,20,20,42,85,84,86,0,18,19,20,20,20,20,42,86,87,85,0,20,21,18,20,20,20,42,87,86,77,0,22,23,20,20,20,20,42,77,76,87,0,20,21,22,20,20,20,42,75,74,88,0,18,19,20,21,21,21,42,88,80,75,0,20,21,18,21,21,21,42,80,88,89,0,18,19,20,21,21,21,42,89,82,80,0,20,21,18,21,21,21,42,82,89,90,0,18,19,20,21,21,21,42,90,84,82,0,20,21,18,21,21,21,42,84,90,91,0,18,19,20,21,21,21,42,91,86,84,0,20,21,18,21,21,21,42,86,91,78,0,22,23,20,21,21,21,42,78,77,86,0,20,21,22,21,21,21,42,74,73,92,0,18,19,20,22,22,22,42,92,88,74,0,20,21,18,22,22,22,42,88,92,93,0,18,19,20,22,22,22,42,93,89,88,0,20,21,18,22,22,22,42,89,93,94,0,18,19,20,22,22,22,42,94,90,89,0,20,21,18,22,22,22,42,90,94,95,0,18,19,20,22,22,22,42,95,91,90,0,20,21,18,22,22,22,42,91,95,79,0,22,23,20,22,22,22,42,79,78,91,0,20,21,22,22,22,22,42,73,72,81,0,18,19,20,23,23,23,42,81,92,73,0,20,21,18,23,23,23,42,92,81,83,0,18,19,20,23,23,23,42,83,93,92,0,20,21,18,23,23,23,42,93,83,85,0,18,19,20,23,23,23,42,85,94,93,0,20,21,18,23,23,23,42,94,85,87,0,18,19,20,23,23,23,42,87,95,94,0,20,21,18,23,23,23,42,95,87,76,0,22,23,20,23,23,23,42,76,79,95,0,20,21,22,23,23,23] - -} diff --git a/tools/hexgl/geometries/tracks/cityscape/start.js b/tools/hexgl/geometries/tracks/cityscape/start.js deleted file mode 100644 index 438f4e9..0000000 --- a/tools/hexgl/geometries/tracks/cityscape/start.js +++ /dev/null @@ -1,45 +0,0 @@ -{ - - "metadata" : - { - "formatVersion" : 3.1, - "sourceFile" : "start.obj", - "generatedBy" : "OBJConverter", - "vertices" : 88, - "faces" : 160, - "normals" : 107, - "colors" : 0, - "uvs" : 34, - "materials" : 1 - }, - - "scale" : 1.000000, - - "materials": [ { - "DbgColor" : 15658734, - "DbgIndex" : 0, - "DbgName" : "Material__1", - "colorAmbient" : [0.588, 0.588, 0.588], - "colorDiffuse" : [0.588, 0.588, 0.588], - "colorSpecular" : [0.0, 0.0, 0.0], - "illumination" : 2, - "opticalDensity" : 1.5, - "specularCoef" : 10.0, - "transparency" : 0.0 - }], - - "vertices": [-2221.137695,382.633392,-632.025696,-2221.977539,382.633392,-633.480591,-2221.137695,382.633392,-634.935486,-2219.457520,382.633392,-634.935486,-2218.617676,382.633392,-633.480591,-2219.457520,382.633392,-632.025696,-2219.634766,391.436584,-634.628723,-2218.971924,391.436584,-633.480591,-2220.960449,391.436584,-634.628723,-2221.623291,391.436584,-633.480591,-2220.960449,391.436584,-632.332458,-2219.634766,391.436584,-632.332458,-2219.751465,399.634979,-634.426697,-2219.205078,399.634979,-633.480591,-2220.843994,399.634979,-634.426697,-2221.390137,399.634979,-633.480591,-2220.843994,399.634979,-632.534485,-2219.751465,399.634979,-632.534485,-2219.833496,407.631775,-634.284546,-2219.369385,407.631775,-633.480591,-2220.761719,407.631775,-634.284546,-2221.226074,407.631775,-633.480591,-2220.761719,407.631775,-632.676636,-2219.833496,407.631775,-632.676636,-2219.906982,415.830200,-634.157349,-2219.516113,415.830200,-633.480591,-2220.688232,415.830170,-634.157349,-2221.079102,415.830200,-633.480591,-2220.688232,415.830200,-632.803833,-2219.906982,415.830200,-632.803833,-2219.997559,424.633392,-634.000183,-2219.697510,424.633392,-633.480591,-2220.597656,424.633392,-634.000183,-2220.897705,424.633392,-633.480591,-2220.597656,424.633392,-632.960999,-2219.997559,424.633392,-632.960999,-2227.909668,431.478424,-633.860657,-2220.838623,419.354065,-640.931702,-2213.767578,419.354065,-633.860657,-2220.838623,431.478424,-626.789612,-2227.603516,431.653442,-634.166870,-2220.532471,431.653442,-627.095764,-2213.461426,419.529083,-634.166870,-2220.532471,419.529083,-641.237915,-2306.849854,382.633392,-633.101013,-2308.304688,382.633392,-632.261047,-2309.759521,382.633392,-633.101013,-2309.759521,382.633392,-634.781067,-2308.304688,382.633392,-635.621033,-2306.849854,382.633392,-634.781067,-2309.452881,391.436584,-634.603882,-2308.304688,391.436584,-635.266785,-2309.452881,391.436584,-633.278137,-2308.304688,391.436584,-632.615234,-2307.156494,391.436584,-633.278137,-2307.156494,391.436584,-634.603882,-2309.250732,399.634979,-634.487244,-2308.304688,399.634979,-635.033508,-2309.250732,399.634979,-633.394775,-2308.304688,399.634979,-632.848511,-2307.358643,399.634979,-633.394775,-2307.358643,399.634979,-634.487244,-2309.108643,407.631775,-634.405151,-2308.304688,407.631775,-634.869324,-2309.108643,407.631775,-633.476868,-2308.304688,407.631775,-633.012695,-2307.500732,407.631775,-633.476868,-2307.500732,407.631775,-634.405151,-2308.981445,415.830200,-634.331726,-2308.304688,415.830200,-634.722473,-2308.981445,415.830170,-633.550293,-2308.304688,415.830200,-633.159607,-2307.627930,415.830200,-633.550293,-2307.627930,415.830200,-634.331726,-2308.824219,424.633392,-634.241028,-2308.304688,424.633392,-634.541016,-2308.824219,424.633392,-633.641052,-2308.304688,424.633392,-633.341064,-2307.785156,424.633392,-633.641052,-2307.785156,424.633392,-634.241028,-2308.684814,431.478424,-626.328979,-2315.755859,419.354065,-633.400024,-2308.684814,419.354065,-640.471069,-2301.613770,431.478424,-633.400024,-2308.990967,431.653442,-626.635132,-2301.919922,431.653442,-633.706238,-2308.990967,419.529083,-640.777283,-2316.062012,419.529083,-633.706238], - - "morphTargets": [], - - "morphColors": [], - - "normals": [0,-1,-0,0.9996,0.028159,-0,0.4998,0.028158,-0.86568,0.49985,0.024068,-0.86577,0.99971,0.024069,0,-0.4998,0.028156,-0.86568,-0.49985,0.024067,-0.86577,-0.9996,0.028155,-0,-0.99971,0.024066,0,-0.4998,0.028155,0.86568,-0.49985,0.024066,0.86577,0.4998,0.028157,0.86568,0.49985,0.024068,0.86577,0.49993,0.017157,-0.8659,0.99985,0.017157,0,-0.49993,0.017156,-0.8659,-0.99985,0.017156,0,-0.49993,0.017156,0.8659,0.49993,0.017157,0.8659,0.49995,0.013458,-0.86595,0.99991,0.013458,0,-0.49995,0.013458,-0.86595,-0.99991,0.013459,0,-0.49995,0.013458,0.86595,0.49995,0.013458,0.86595,0.49995,0.013478,-0.86595,0.99991,0.013478,0,-0.49995,0.013479,-0.86595,-0.99991,0.01348,0,-0.49995,0.01348,0.86595,0.49995,0.013479,0.86595,0.49995,0.014425,-0.86593,0.9999,0.014424,1e-06,-0.49995,0.014427,-0.86594,-0.9999,0.014428,2e-06,-0.49994,0.014427,0.86594,0.49995,0.014425,0.86594,-4e-06,1,-5e-06,-6e-06,1,-4e-06,-7e-06,1,-6e-06,-1.3e-05,1,-7e-06,-5e-06,1,-6e-06,0,1,-0,-0.61237,-0.5,0.61237,0.61237,0.5,-0.61237,-0.35355,0.86603,0.35355,-0.35355,0.86603,0.35355,0.70711,-0,0.70711,0.70711,0,0.70711,0.35355,-0.86603,-0.35355,0.35355,-0.86603,-0.35355,-0.70711,0,-0.70711,-0.70711,0,-0.70711,0,-1,-0,-0,0.028159,-0.9996,-0.86568,0.028158,-0.4998,-0.86577,0.024068,-0.49985,-0,0.024069,-0.99971,-0.86568,0.028156,0.4998,-0.86577,0.024067,0.49985,-0,0.028155,0.9996,0,0.024066,0.99971,0.86568,0.028155,0.4998,0.86577,0.024066,0.49985,0.86568,0.028157,-0.4998,0.86577,0.024068,-0.49985,-0.8659,0.017157,-0.49993,0,0.017157,-0.99985,-0.8659,0.017156,0.49993,0,0.017156,0.99985,0.8659,0.017156,0.49993,0.8659,0.017157,-0.49993,-0.86595,0.013458,-0.49995,0,0.013458,-0.99991,-0.86595,0.013458,0.49995,0,0.013459,0.99991,0.86595,0.013458,0.49995,0.86595,0.013458,-0.49995,-0.86595,0.013478,-0.49995,0,0.013478,-0.99991,-0.86595,0.013479,0.49995,0,0.01348,0.99991,0.86595,0.01348,0.49995,0.86595,0.013479,-0.49995,-0.86593,0.014425,-0.49995,1e-06,0.014424,-0.9999,-0.86594,0.014427,0.49995,2e-06,0.014428,0.9999,0.86594,0.014427,0.49994,0.86594,0.014425,-0.49995,-5e-06,1,4e-06,-4e-06,1,6e-06,-6e-06,1,7e-06,-7e-06,1,1.3e-05,-6e-06,1,5e-06,0,1,-0,0.61237,-0.5,0.61237,-0.61237,0.5,-0.61237,0.35355,0.86603,0.35355,0.35355,0.86603,0.35355,0.35355,0.86603,0.35355,0.70711,-0,-0.70711,0.70711,0,-0.70711,-0.35355,-0.86603,-0.35355,-0.35355,-0.86603,-0.35355,-0.70711,0,0.70711,-0.70711,0,0.70711], - - "colors": [], - - "uvs": [[0.67171,0.014781,0.67391,0.016977,0.6731,0.019977,0.6701,0.020781,0.66791,0.018585,0.66871,0.015585,0.68,0,1,0,1,1,0.68,1,0,-0,0.66034,-0,0.66034,1,0,1,0,0.99,0.66,0.99,0.66,1,0.67171,0.014781,0.67391,0.016977,0.6731,0.019977,0.6701,0.020781,0.66791,0.018585,0.66871,0.015585,0.68,0,1,0,1,1,0.68,1,0,-0,0.66034,-0,0.66034,1,0,1,0,0.99,0.66,0.99,0.66,1]], - - "faces": [42,0,1,2,0,0,1,2,0,0,0,42,2,3,4,0,2,3,4,0,0,0,42,0,2,4,0,0,2,4,0,0,0,42,5,0,4,0,5,0,4,0,0,0,42,4,3,6,0,6,7,8,1,2,3,42,6,7,4,0,8,9,6,3,4,1,42,3,2,8,0,6,7,8,2,5,6,42,8,6,3,0,8,9,6,6,3,2,42,2,1,9,0,6,7,8,5,7,8,42,9,8,2,0,8,9,6,8,6,5,42,1,0,10,0,6,7,8,7,9,10,42,10,9,1,0,8,9,6,10,8,7,42,0,5,11,0,6,7,8,9,11,12,42,11,10,0,0,8,9,6,12,10,9,42,5,4,7,0,6,7,8,11,1,4,42,7,11,5,0,8,9,6,4,12,11,42,7,6,12,0,6,7,8,4,3,13,42,12,13,7,0,8,9,6,13,14,4,42,6,8,14,0,6,7,8,3,6,15,42,14,12,6,0,8,9,6,15,13,3,42,8,9,15,0,6,7,8,6,8,16,42,15,14,8,0,8,9,6,16,15,6,42,9,10,16,0,6,7,8,8,10,17,42,16,15,9,0,8,9,6,17,16,8,42,10,11,17,0,6,7,8,10,12,18,42,17,16,10,0,8,9,6,18,17,10,42,11,7,13,0,6,7,8,12,4,14,42,13,17,11,0,8,9,6,14,18,12,42,13,12,18,0,6,7,8,14,13,19,42,18,19,13,0,8,9,6,19,20,14,42,12,14,20,0,6,7,8,13,15,21,42,20,18,12,0,8,9,6,21,19,13,42,14,15,21,0,6,7,8,15,16,22,42,21,20,14,0,8,9,6,22,21,15,42,15,16,22,0,6,7,8,16,17,23,42,22,21,15,0,8,9,6,23,22,16,42,16,17,23,0,6,7,8,17,18,24,42,23,22,16,0,8,9,6,24,23,17,42,17,13,19,0,6,7,8,18,14,20,42,19,23,17,0,8,9,6,20,24,18,42,19,18,24,0,6,7,8,20,19,25,42,24,25,19,0,8,9,6,25,26,20,42,18,20,26,0,6,7,8,19,21,27,42,26,24,18,0,8,9,6,27,25,19,42,20,21,27,0,6,7,8,21,22,28,42,27,26,20,0,8,9,6,28,27,21,42,21,22,28,0,6,7,8,22,23,29,42,28,27,21,0,8,9,6,29,28,22,42,22,23,29,0,6,7,8,23,24,30,42,29,28,22,0,8,9,6,30,29,23,42,23,19,25,0,6,7,8,24,20,26,42,25,29,23,0,8,9,6,26,30,24,42,25,24,30,0,6,7,8,26,25,31,42,30,31,25,0,8,9,6,31,32,26,42,24,26,32,0,6,7,8,25,27,33,42,32,30,24,0,8,9,6,33,31,25,42,26,27,33,0,6,7,8,27,28,34,42,33,32,26,0,8,9,6,34,33,27,42,27,28,34,0,6,7,8,28,29,35,42,34,33,27,0,8,9,6,35,34,28,42,28,29,35,0,6,7,8,29,30,36,42,35,34,28,0,8,9,6,36,35,29,42,29,25,31,0,6,7,8,30,26,32,42,31,35,29,0,8,9,6,32,36,30,42,31,30,32,0,0,1,2,37,38,39,42,32,33,34,0,2,3,4,39,40,41,42,31,32,34,0,0,2,4,37,39,41,42,35,31,34,0,5,0,4,42,37,41,42,36,37,38,0,10,11,12,43,43,43,42,38,39,36,0,12,13,10,43,43,43,42,40,41,42,0,10,11,12,44,44,44,42,42,43,40,0,12,13,10,44,44,44,42,36,39,41,0,14,15,16,45,46,46,42,41,40,36,0,16,13,14,46,45,45,42,39,38,42,0,14,15,16,47,48,48,42,42,41,39,0,16,13,14,48,47,47,42,38,37,43,0,14,15,16,49,50,50,42,43,42,38,0,16,13,14,50,49,49,42,37,36,40,0,14,15,16,51,52,52,42,40,43,37,0,16,13,14,52,51,51,42,44,45,46,0,17,18,19,53,53,53,42,46,47,48,0,19,20,21,53,53,53,42,44,46,48,0,17,19,21,53,53,53,42,49,44,48,0,22,17,21,53,53,53,42,48,47,50,0,23,24,25,54,55,56,42,50,51,48,0,25,26,23,56,57,54,42,47,46,52,0,23,24,25,55,58,59,42,52,50,47,0,25,26,23,59,56,55,42,46,45,53,0,23,24,25,58,60,61,42,53,52,46,0,25,26,23,61,59,58,42,45,44,54,0,23,24,25,60,62,63,42,54,53,45,0,25,26,23,63,61,60,42,44,49,55,0,23,24,25,62,64,65,42,55,54,44,0,25,26,23,65,63,62,42,49,48,51,0,23,24,25,64,54,57,42,51,55,49,0,25,26,23,57,65,64,42,51,50,56,0,23,24,25,57,56,66,42,56,57,51,0,25,26,23,66,67,57,42,50,52,58,0,23,24,25,56,59,68,42,58,56,50,0,25,26,23,68,66,56,42,52,53,59,0,23,24,25,59,61,69,42,59,58,52,0,25,26,23,69,68,59,42,53,54,60,0,23,24,25,61,63,70,42,60,59,53,0,25,26,23,70,69,61,42,54,55,61,0,23,24,25,63,65,71,42,61,60,54,0,25,26,23,71,70,63,42,55,51,57,0,23,24,25,65,57,67,42,57,61,55,0,25,26,23,67,71,65,42,57,56,62,0,23,24,25,67,66,72,42,62,63,57,0,25,26,23,72,73,67,42,56,58,64,0,23,24,25,66,68,74,42,64,62,56,0,25,26,23,74,72,66,42,58,59,65,0,23,24,25,68,69,75,42,65,64,58,0,25,26,23,75,74,68,42,59,60,66,0,23,24,25,69,70,76,42,66,65,59,0,25,26,23,76,75,69,42,60,61,67,0,23,24,25,70,71,77,42,67,66,60,0,25,26,23,77,76,70,42,61,57,63,0,23,24,25,71,67,73,42,63,67,61,0,25,26,23,73,77,71,42,63,62,68,0,23,24,25,73,72,78,42,68,69,63,0,25,26,23,78,79,73,42,62,64,70,0,23,24,25,72,74,80,42,70,68,62,0,25,26,23,80,78,72,42,64,65,71,0,23,24,25,74,75,81,42,71,70,64,0,25,26,23,81,80,74,42,65,66,72,0,23,24,25,75,76,82,42,72,71,65,0,25,26,23,82,81,75,42,66,67,73,0,23,24,25,76,77,83,42,73,72,66,0,25,26,23,83,82,76,42,67,63,69,0,23,24,25,77,73,79,42,69,73,67,0,25,26,23,79,83,77,42,69,68,74,0,23,24,25,79,78,84,42,74,75,69,0,25,26,23,84,85,79,42,68,70,76,0,23,24,25,78,80,86,42,76,74,68,0,25,26,23,86,84,78,42,70,71,77,0,23,24,25,80,81,87,42,77,76,70,0,25,26,23,87,86,80,42,71,72,78,0,23,24,25,81,82,88,42,78,77,71,0,25,26,23,88,87,81,42,72,73,79,0,23,24,25,82,83,89,42,79,78,72,0,25,26,23,89,88,82,42,73,69,75,0,23,24,25,83,79,85,42,75,79,73,0,25,26,23,85,89,83,42,75,74,76,0,17,18,19,90,91,92,42,76,77,78,0,19,20,21,92,93,94,42,75,76,78,0,17,19,21,90,92,94,42,79,75,78,0,22,17,21,95,90,94,42,80,81,82,0,27,28,29,96,96,96,42,82,83,80,0,29,30,27,96,96,96,42,84,85,86,0,27,28,29,97,97,97,42,86,87,84,0,29,30,27,97,97,97,42,80,83,85,0,31,32,33,98,99,100,42,85,84,80,0,33,30,31,100,98,98,42,83,82,86,0,31,32,33,101,102,102,42,86,85,83,0,33,30,31,102,101,101,42,82,81,87,0,31,32,33,103,104,104,42,87,86,82,0,33,30,31,104,103,103,42,81,80,84,0,31,32,33,105,106,106,42,84,87,81,0,33,30,31,106,105,105] - -} diff --git a/tools/hexgl/geometries/tracks/cityscape/startbanner.js b/tools/hexgl/geometries/tracks/cityscape/startbanner.js deleted file mode 100644 index ca10f64..0000000 --- a/tools/hexgl/geometries/tracks/cityscape/startbanner.js +++ /dev/null @@ -1,45 +0,0 @@ -{ - - "metadata" : - { - "formatVersion" : 3.1, - "sourceFile" : "startbanner.obj", - "generatedBy" : "OBJConverter", - "vertices" : 12, - "faces" : 10, - "normals" : 6, - "colors" : 0, - "uvs" : 12, - "materials" : 1 - }, - - "scale" : 1.000000, - - "materials": [ { - "DbgColor" : 15658734, - "DbgIndex" : 0, - "DbgName" : "13___Default", - "colorAmbient" : [0.588235, 0.588235, 0.588235], - "colorDiffuse" : [0.588235, 0.588235, 0.588235], - "colorSpecular" : [0.0, 0.0, 0.0], - "illumination" : 2, - "opticalDensity" : 1.5, - "specularCoef" : 9.999999, - "transparency" : 0.0 - }], - - "vertices": [-2308.439453,424.299988,-633.529297,-2290.839355,424.299988,-625.660400,-2290.839355,407.919983,-625.660400,-2308.439453,407.919983,-633.529297,-2273.239502,424.299988,-621.725891,-2273.239502,407.919983,-621.725891,-2255.639404,424.299988,-621.725891,-2255.639404,407.919983,-621.725891,-2238.039551,424.299988,-625.660400,-2238.039551,407.919983,-625.660400,-2220.439453,424.299988,-633.529297,-2220.439453,407.919983,-633.529297], - - "morphTargets": [], - - "morphColors": [], - - "normals": [0.40816,-0,-0.91291,0.31474,-0,-0.94918,0.10974,-0,-0.99396,-0.10974,-0,-0.99396,-0.31474,-0,-0.94918,-0.40816,-0,-0.91291], - - "colors": [], - - "uvs": [[1,1,0.8,1,0.8,0,1,0,0.6,1,0.6,0,0.4,1,0.4,0,0.2,1,0.2,0,0,1,0,0]], - - "faces": [42,0,1,2,0,0,1,2,0,1,1,42,2,3,0,0,2,3,0,1,0,0,42,1,4,5,0,1,4,5,1,2,2,42,5,2,1,0,5,2,1,2,1,1,42,4,6,7,0,4,6,7,2,3,3,42,7,5,4,0,7,5,4,3,2,2,42,6,8,9,0,6,8,9,3,4,4,42,9,7,6,0,9,7,6,4,3,3,42,8,10,11,0,8,10,11,4,5,5,42,11,9,8,0,11,9,8,5,4,4] - -} diff --git a/tools/hexgl/geometries/tracks/cityscape/track.js b/tools/hexgl/geometries/tracks/cityscape/track.js deleted file mode 100644 index 5c1fad1..0000000 --- a/tools/hexgl/geometries/tracks/cityscape/track.js +++ /dev/null @@ -1,45 +0,0 @@ -{ - - "metadata" : - { - "formatVersion" : 3.1, - "sourceFile" : "track2o.obj", - "generatedBy" : "OBJConverter", - "vertices" : 4800, - "faces" : 9600, - "normals" : 6800, - "colors" : 0, - "uvs" : 59, - "materials" : 1 - }, - - "scale" : 1.000000, - - "materials": [ { - "DbgColor" : 15658734, - "DbgIndex" : 0, - "DbgName" : "03___Default", - "colorAmbient" : [0.588235, 0.588235, 0.588235], - "colorDiffuse" : [0.588235, 0.588235, 0.588235], - "colorSpecular" : [0.0, 0.0, 0.0], - "illumination" : 2, - "opticalDensity" : 1.5, - "specularCoef" : 9.999999, - "transparency" : 0.0 - }], - - "vertices": [670.652832,850.369141,61.533936,668.927124,852.747192,61.436531,661.289978,852.750732,140.680756,663.015625,850.372498,140.832123,667.201416,855.125183,61.339127,659.564392,855.128906,140.529388,648.223999,855.131592,228.028961,649.925659,852.753296,228.347748,651.627380,850.375000,228.666519,665.456848,846.556763,61.240685,657.819458,846.560547,140.376266,663.712280,837.988220,61.142235,656.074463,837.992188,140.223145,644.781616,837.995178,227.384018,646.502808,846.563354,227.706482,712.776855,837.996094,63.911396,705.140686,837.996155,144.527817,761.841370,838.004028,66.680557,754.206909,838.000122,148.832504,741.561829,837.997070,245.514954,693.171753,837.996216,236.449478,760.095398,846.571899,66.582016,752.461243,846.568115,148.679398,758.349426,855.139893,66.483467,750.715515,855.136230,148.526291,738.119141,855.133423,244.870056,739.840454,846.565308,245.192505,756.624451,852.761230,66.386108,748.990295,852.757751,148.374908,754.899475,850.382690,66.288757,747.265076,850.379272,148.223526,734.715942,850.376709,244.232468,736.417542,852.755127,244.551254,712.776123,850.375854,63.911346,705.140320,850.375854,144.527832,693.171631,850.375854,236.449493,631.443054,852.754272,307.947418,633.102295,850.375854,308.438568,629.783875,855.132568,307.456207,604.934753,855.132568,379.264557,606.532166,852.754272,379.928680,608.129517,850.375854,380.592804,628.105530,846.564331,306.959351,626.427185,837.996216,306.462494,601.703064,837.996216,377.920929,603.318909,846.564331,378.592743,673.610352,837.996216,320.430573,720.793518,837.996094,334.398682,692.554749,837.996094,415.693298,647.128906,837.996155,396.807098,719.115173,846.564331,333.901825,717.436829,855.132568,333.404968,689.323059,855.132507,414.349701,690.938904,846.564331,415.021484,715.777649,852.754272,332.913788,714.118408,850.375854,332.422577,686.128296,850.375854,413.021423,687.725647,852.754211,413.685577,673.610352,850.375854,320.430573,647.128906,850.375854,396.807098,575.882935,852.754211,444.740479,577.398438,850.375854,445.573639,574.367310,855.132507,443.907318,538.675293,854.281921,501.855804,540.091919,851.900146,502.848694,541.508545,849.518250,503.841644,572.834290,846.564331,443.064514,571.301208,837.996155,442.221710,535.809326,837.152588,499.847015,537.242371,845.717224,500.851410,614.399780,837.996094,465.915070,657.498352,837.996094,489.608398,616.379272,836.945435,556.318787,576.094299,837.048950,528.082947,655.965271,846.564270,488.765625,654.432251,855.132507,487.922852,613.513306,854.089478,554.310120,614.946289,845.517456,555.314453,652.916687,852.754150,487.089661,651.401123,850.375854,486.256500,610.680054,849.340454,552.324219,612.096680,851.714966,553.317200,614.399780,850.375854,465.915070,576.094299,849.429321,528.083008,499.755920,849.337891,554.719177,501.059448,846.945557,555.857117,498.452423,851.730164,553.581238,454.240845,847.664978,599.473755,455.421936,845.255493,600.739685,456.603088,842.846069,602.005615,497.133850,843.176025,552.430115,495.815277,834.621948,551.278992,451.851288,830.591309,596.912598,453.046082,839.128174,598.193176,532.883789,834.207642,583.639160,569.952393,833.793335,615.999268,519.028076,828.743042,668.911987,485.439697,829.667236,632.912231,568.633789,842.376892,614.848267,567.315186,850.960510,613.697205,516.638550,845.948242,666.351013,517.833313,837.345642,667.631470,566.011719,848.597351,612.559265,564.708191,846.234192,611.421265,514.276245,841.259277,663.819092,515.457397,843.603760,665.085022,532.883789,846.589844,583.639221,485.439697,842.052673,632.912354,407.637177,839.841064,641.297974,408.691559,837.408081,642.672485,406.582825,842.274048,639.923462,356.048431,835.666382,675.234009,356.975464,833.204956,676.698730,357.902557,830.743530,678.163391,405.516266,833.760986,638.533020,404.449707,825.247864,637.142578,354.172913,818.697510,672.270691,355.110657,827.181946,673.752319,434.433289,823.622925,676.230774,464.416840,821.997986,715.318970,406.899139,813.757568,755.575439,380.536041,816.227539,713.923096,463.350281,830.626709,713.928589,462.283752,839.255371,712.538269,405.023621,831.077759,752.612427,405.961365,822.417725,754.093933,461.229401,836.936646,711.163696,460.175018,834.617859,709.789185,403.169525,826.502258,749.682922,404.096558,828.790039,751.147705,434.433289,836.012939,676.230835,380.536041,828.622925,713.923157,304.010803,825.457642,707.246399,304.813843,822.964355,708.783752,303.207764,827.950928,705.709045,248.687286,819.242371,731.617065,249.371277,816.714966,733.211914,250.055298,814.187561,734.806641,302.395477,819.498596,704.153870,301.583191,811.046265,702.598694,247.303528,802.406555,728.390442,247.995422,810.824463,730.003784,324.419373,807.633789,746.317688,347.255524,804.221313,790.036743,286.205688,793.571045,819.095703,266.754578,797.988770,773.743103,346.443237,812.916382,788.481689,345.630920,821.611389,786.926636,284.821899,811.035156,815.869446,285.513794,802.303101,817.482605,344.827881,819.358032,785.389282,344.024872,817.104675,783.851868,283.453918,806.601563,812.679810,284.137909,808.818359,814.274658,324.419373,820.034546,746.317749,266.754608,810.394531,773.743225,193.685059,807.092834,754.865906,194.256714,804.530151,756.505188,193.113403,809.655518,753.226624,137.157349,799.348938,770.809570,137.623291,796.750549,772.482544,138.089355,794.152161,774.155518,192.535156,801.273193,751.568359,191.956909,792.890869,749.909973,136.214600,782.656311,767.424805,136.685913,791.002563,769.117188,208.213104,787.439575,796.527832,224.469299,781.988342,843.145630,162.717957,769.674194,862.575684,149.466309,776.165283,815.000244,223.891083,790.758240,841.487427,223.312836,799.528198,839.829285,161.775269,787.289795,859.191223,162.246582,778.481995,860.883423,222.741180,797.348755,838.190002,222.169556,795.169312,836.550659,160.843262,783.005737,855.845215,161.309204,785.147827,857.518188,208.213135,799.849731,796.527954,149.466309,788.578979,815.000366,81.857300,785.847473,786.335876,82.224365,783.213745,788.033813,81.490234,788.481201,784.637878,26.809448,777.258850,795.000977,27.083252,774.590454,796.716736,27.357056,771.922119,798.432434,81.118958,780.170593,782.920166,80.747681,771.859985,781.202515,26.255493,760.707703,791.529541,26.532471,768.983276,793.265259,91.185486,764.344788,829.489014,101.623169,756.829590,877.775391,41.828613,743.680542,889.115234,34.042053,752.194092,840.322388,101.251953,765.674438,876.057861,100.880615,774.519348,874.340332,41.274658,761.442078,885.644165,41.551636,752.561279,887.379700,100.513611,772.413940,872.642334,100.146606,770.308472,870.944336,40.727051,757.302246,882.212524,41.000854,759.372131,883.928345,91.185486,776.761108,829.489136,34.042053,764.612183,840.322510,-26.002625,763.186462,803.916016,-25.817261,760.484497,805.643860,-26.187866,765.888428,802.188110,-77.275269,754.491577,806.006104,-77.194824,751.752258,807.739502,-77.114441,749.012939,809.472839,-26.375366,757.646851,800.440186,-26.562866,749.405151,798.692261,-77.438110,738.083923,802.499146,-77.356689,746.287720,804.252686,-21.292542,739.929016,847.828979,-16.022217,730.452881,896.965759,-72.861694,717.257324,901.084778,-75.149902,727.670593,851.791992,-16.209717,739.368164,895.218018,-16.397217,748.283386,893.470276,-73.024536,735.059204,897.578125,-72.943115,726.158264,899.331421,-16.582520,746.247498,891.742310,-16.767822,744.211609,890.014404,-73.185425,731.129761,894.111328,-73.104980,733.094482,895.844727,-21.292542,752.348083,847.829102,-75.149902,740.071411,851.792053,-126.288269,740.404663,807.992920,-126.350220,737.619324,809.724365,-126.226318,743.190002,806.261597,-174.675476,731.560120,802.312500,-174.895996,728.724304,804.031128,-175.116577,725.888550,805.749878,-126.163696,735.032593,804.510193,-126.101074,726.875244,802.758789,-174.229431,715.347290,798.835327,-174.452454,723.453674,800.573853,-127.861694,715.539673,851.994385,-129.622192,704.204102,901.229919,-186.771362,691.172241,896.585876,-180.500366,703.259766,847.710571,-129.559570,712.994751,899.478638,-129.496948,721.785461,897.727356,-186.325195,708.475952,893.108887,-186.548340,699.824097,894.847412,-129.435059,719.967651,895.995972,-129.373169,718.149902,894.264587,-185.884216,705.124390,889.671509,-186.104736,706.800171,891.390198,-127.861633,727.884583,851.994446,-180.500366,715.506470,847.710693,-224.631470,716.291992,795.208740,-225.005615,713.405457,796.901001,-224.257385,719.178467,793.516541,-274.516846,706.066589,779.888428,-275.037598,703.129883,781.541870,-275.558411,700.193237,783.195374,-223.879028,711.123291,791.804810,-223.500610,703.068176,790.092957,-273.463257,690.057800,776.543213,-273.989990,698.062195,778.215820,-234.138672,690.554443,838.215088,-244.776855,678.040649,886.337219,-303.081970,664.540405,870.583130,-288.272583,677.299072,823.563171,-244.398438,686.592651,884.625488,-244.020020,695.144592,882.913818,-302.028320,681.484131,867.238159,-302.555176,673.012207,868.910645,-243.645935,693.525146,881.221619,-243.271851,691.905762,879.529419,-300.986816,678.270142,863.931213,-301.507629,679.877136,865.584717,-234.138733,702.655640,838.215210,-288.272583,689.231689,823.563293,-325.657227,689.260376,763.046570,-326.316040,686.274841,764.650574,-324.998535,692.245911,761.442627,-375.142212,677.789124,738.237854,-375.931396,674.756165,739.781982,-376.720581,671.723206,741.326111,-324.332153,684.291016,759.820068,-323.665894,676.336060,758.197571,-373.545898,661.975403,735.113892,-374.344116,669.882263,736.675842,-342.397949,663.369141,803.810181,-361.130005,650.402344,849.422852,-418.426147,635.708008,822.934814,-395.985962,648.841675,779.024292,-360.463745,658.794800,847.800415,-359.797363,667.187256,846.177979,-416.829712,652.335205,819.811035,-417.628052,644.021606,821.372925,-359.138672,665.590454,844.574036,-358.479858,663.993530,842.970032,-415.251587,649.156494,816.722778,-416.040771,650.745850,818.266846,-342.397949,675.134155,803.810303,-395.986084,660.439880,779.024414,-425.301025,659.690125,711.806885,-426.214233,656.611267,713.281189,-424.387817,662.768982,710.332703,-472.197388,647.264832,677.803650,-473.228638,644.145752,679.197632,-474.259888,641.026672,680.591736,-423.464233,654.908691,708.841370,-422.540527,647.048462,707.350098,-470.111206,631.634033,674.983276,-471.154297,639.449402,676.393433,-448.508179,633.793579,749.273682,-474.475952,620.538818,791.197388,-528.760498,604.980713,754.269897,-499.435791,618.307373,714.626526,-473.552368,628.773865,789.706177,-472.628540,637.008911,788.214966,-526.674194,621.302612,751.449646,-527.717407,613.141602,752.859741,-471.715454,635.424255,786.740723,-470.802246,633.839600,785.266479,-524.611938,618.136475,748.661560,-525.643066,619.719543,750.055664,-448.508301,645.225464,749.273804,-499.435913,629.581604,714.626648,-519.176636,628.206543,642.030334,-520.320190,625.057129,643.333496,-518.033081,631.355957,640.727051,-561.382202,615.111938,599.180176,-562.631958,611.944702,600.381592,-563.881714,608.777466,601.583008,-516.876221,623.583496,639.408752,-515.719482,615.810974,638.090454,-558.854004,599.647949,596.749512,-560.118042,607.379883,597.964844,-548.240234,602.465271,675.150879,-580.760986,589.119629,712.211365,-629.931519,573.030334,665.080505,-594.392700,586.339111,630.915039,-579.604248,597.214966,710.893127,-578.447388,605.310303,709.574951,-627.403198,589.112427,662.649963,-628.667358,581.071411,663.865234,-577.303833,603.725586,708.271729,-576.160278,602.140930,706.968506,-624.903809,585.932922,660.247131,-626.153564,587.522705,661.448547,-548.240234,613.598999,675.151001,-594.392700,597.355225,630.915039,-603.081299,595.432495,554.328308,-604.430298,592.262756,555.416626,-601.732300,598.602173,553.239990,-638.591553,581.876221,502.967590,-640.031494,578.713623,503.931732,-641.471558,575.551086,504.895874,-600.367676,590.907776,552.139160,-599.003174,583.213440,551.038208,-635.678345,566.555298,501.017029,-637.134888,574.215759,501.992310,-637.364624,570.000549,581.987000,-675.726074,556.787720,612.935730,-717.576172,540.447205,555.853027,-676.627319,553.501282,528.434998,-674.361450,564.788513,611.834961,-672.996948,572.789368,610.734070,-714.663086,556.386230,553.902466,-716.119629,548.416687,554.877747,-671.647949,571.190918,609.645752,-670.298950,569.592468,608.557434,-711.783081,553.164307,551.974182,-713.223022,554.775269,552.938354,-637.364624,580.927612,581.987000,-676.627319,564.357727,528.435059,-672.989502,561.832092,449.253113,-674.510864,558.680664,450.082336,-671.468262,564.983521,448.423889,-699.878052,547.957397,389.638733,-701.469238,544.821350,390.323700,-703.060547,541.685364,391.008667,-669.929443,557.352478,447.585083,-668.390503,549.721436,446.746338,-696.658691,532.742310,388.252960,-698.268433,540.349854,388.945862,-711.651978,536.892822,470.327179,-754.913452,524.064270,493.908081,-787.161377,507.681763,427.210449,-741.910034,520.212036,407.731720,-753.374512,532.006226,493.069305,-751.835693,539.948242,492.230530,-783.942139,523.520752,425.824738,-785.551880,515.601257,426.517578,-750.314331,538.320679,491.401306,-748.793091,536.693176,490.572083,-780.759644,520.223633,424.454773,-782.350952,521.872192,425.139740,-711.651978,547.686890,470.327209,-741.910034,530.954529,407.731720,-724.984497,527.715088,327.174713,-726.632690,524.599121,327.707581,-723.336304,530.830933,326.641876,-741.342163,513.649719,259.432343,-743.033325,510.559235,259.807831,-744.724487,507.468750,260.183319,-721.669067,523.239624,326.102875,-720.001831,515.648376,325.563873,-737.921021,498.480988,258.672729,-739.631592,506.065369,259.052551,-766.872925,503.495422,340.716736,-813.744019,491.342499,355.869598,-834.102661,475.109009,280.028076,-786.011841,486.795013,269.350403,-812.076782,499.245941,355.330597,-810.409546,507.149384,354.791595,-830.681519,490.900360,279.268433,-832.392090,483.004700,279.648254,-808.761353,505.474945,354.258728,-807.113159,503.800476,353.725891,-827.299194,487.488678,278.517456,-828.990356,489.194519,278.892944,-766.872925,514.199829,340.716736,-786.011841,497.478699,269.350372,-755.113770,493.399994,188.224655,-756.832642,490.340820,188.440125,-753.394897,496.459167,188.009171,-759.294556,479.693420,114.025085,-761.026978,476.671326,114.084991,-762.759399,473.649231,114.144882,-751.656128,488.870361,187.791214,-749.917358,481.281525,187.573242,-755.789917,464.480469,113.903885,-757.542114,472.086914,113.964478,-798.798218,470.162720,193.700836,-847.679077,459.043915,199.828430,-854.318481,443.571808,117.310898,-805.054199,454.026123,115.607391,-845.940308,466.941956,199.610458,-844.201538,474.839996,199.392502,-850.813843,459.396301,117.189713,-852.566284,451.484039,117.250305,-842.482788,473.096619,199.177017,-840.763794,471.353241,198.961548,-847.348999,455.822632,117.069901,-849.081421,457.609467,117.129807,-798.798218,480.847015,193.700836,-805.054199,464.735931,115.607391,-760.574341,460.807251,39.048656,-762.306763,457.827881,38.964481,-758.841919,463.786621,39.132835,-752.899414,449.556641,-32.060360,-754.617798,446.622375,-32.288540,-756.336060,443.688110,-32.516727,-757.089478,456.147400,39.217979,-755.337158,448.508179,39.303123,-749.423462,434.192444,-31.598728,-751.161377,441.874542,-31.829540,-804.601929,438.812775,36.909420,-853.866821,429.117371,34.515720,-847.146362,416.395355,-44.576649,-798.284790,425.293884,-38.087681,-852.114380,437.057312,34.600868,-850.361938,444.997284,34.686020,-843.670288,432.349060,-44.115009,-845.408325,424.372223,-44.345821,-848.629517,443.161316,34.770191,-846.897095,441.325317,34.854362,-840.233765,428.574615,-43.658634,-841.952026,430.461853,-43.886829,-804.601929,449.576599,36.909424,-798.284790,436.131348,-38.087681,-744.019043,434.931274,-95.330826,-745.708130,432.041321,-95.714386,-742.329834,437.821259,-94.947281,-727.627686,428.182373,-150.143646,-729.269409,425.335449,-150.691650,-730.911011,422.488495,-151.239670,-740.621216,430.091064,-94.559311,-738.912720,422.360870,-94.171326,-724.306396,412.612610,-149.034973,-725.966919,420.397491,-149.589310,-786.946411,414.240692,-105.078506,-834.980103,406.120514,-115.985687,-817.677612,397.879761,-180.203186,-770.992065,405.246185,-164.619080,-833.271606,414.139130,-115.597702,-831.562988,422.157776,-115.209732,-814.356323,414.011963,-179.094513,-816.016968,405.945862,-179.648849,-829.873779,420.220764,-114.826187,-828.184692,418.283783,-114.442627,-811.072876,410.042114,-177.998489,-812.714600,412.027039,-178.546494,-786.946411,425.162537,-105.078506,-770.991943,416.265320,-164.619080,-710.859985,417.436249,-198.984467,-712.432495,414.630615,-199.703781,-709.287354,420.241882,-198.265152,-687.590942,413.637756,-240.403793,-689.076050,410.872406,-241.290817,-690.561157,408.107086,-242.177841,-707.696655,412.394348,-197.537537,-706.105835,404.546814,-196.809921,-684.586548,397.809967,-238.609329,-686.088745,405.723846,-239.506577,-750.827026,397.903381,-217.265427,-795.548096,391.259918,-237.720932,-769.050415,385.902527,-289.057922,-726.818481,391.856232,-263.833618,-793.957397,399.380066,-236.993301,-792.366577,407.500214,-236.265671,-766.046021,402.266052,-287.263428,-767.548218,394.084290,-288.160675,-790.793945,405.469574,-235.546371,-789.221313,403.438934,-234.827042,-763.075806,398.123352,-285.489380,-764.560913,400.194702,-286.376404,-750.826904,409.034790,-217.265427,-726.818481,403.115234,-263.833618,-664.202881,405.282654,-278.692322,-665.585083,402.557281,-279.732971,-662.820435,408.007996,-277.651672,-635.075562,403.129120,-311.000549,-636.349976,400.436798,-312.174133,-637.624512,397.744507,-313.347717,-661.422241,400.028290,-276.599030,-660.023926,392.048553,-275.546356,-632.497192,387.028625,-308.626312,-633.786377,395.078888,-309.813446,-699.333740,386.748749,-305.139771,-738.643433,381.448975,-334.733215,-704.982300,377.363525,-375.373535,-668.739746,382.196075,-341.999939,-737.245117,389.700958,-333.680542,-735.846802,397.952942,-332.627869,-702.403931,394.034271,-372.999268,-703.692993,385.698914,-374.186401,-734.464478,395.848694,-331.587219,-733.082153,393.744446,-330.546570,-699.854980,389.783051,-370.652130,-701.129517,391.908661,-371.825684,-699.333618,398.150848,-305.139771,-668.739746,393.763763,-341.999939,-605.627441,396.104767,-342.721436,-606.799072,393.432068,-344.000580,-604.455811,398.777496,-341.442322,-571.108765,394.619934,-369.767944,-572.190796,391.956512,-371.126251,-573.273071,389.293091,-372.484528,-603.270630,390.646881,-340.148376,-602.085571,382.516296,-338.854492,-568.919556,378.179321,-367.020020,-570.014160,386.399628,-368.393982,-635.403809,377.813385,-375.230072,-668.722290,373.110474,-411.605652,-630.466919,368.753998,-444.272583,-599.693237,373.466675,-405.646301,-667.536987,381.546967,-410.311737,-666.351929,389.983459,-409.017822,-628.277710,385.853729,-441.524658,-629.372192,377.303864,-442.898621,-665.180298,387.851715,-407.738708,-664.008667,385.719971,-406.459564,-626.113403,381.585114,-438.808075,-627.195557,383.719421,-440.166351,-635.403931,389.576019,-375.230072,-599.693237,385.439117,-405.646301,-536.196167,387.662018,-398.180542,-537.210571,385.000763,-399.592529,-535.181885,390.323273,-396.768616,-496.975464,385.972351,-423.178802,-497.946289,383.315002,-424.622040,-498.916992,380.657684,-426.065277,-534.155884,382.004425,-395.340332,-533.129761,373.685547,-393.912048,-495.011597,369.114563,-420.258972,-495.993652,377.543457,-421.718872,-561.974976,369.021942,-434.064728,-590.820190,364.358307,-474.217346,-550.220825,359.872223,-502.343628,-522.616333,364.493378,-461.301300,-589.794067,373.028290,-472.789063,-588.768066,381.698273,-471.360779,-548.256958,377.413971,-499.423767,-549.238892,368.643097,-500.883667,-587.753784,379.553314,-469.948792,-586.739380,377.408356,-468.536865,-546.315552,373.118561,-496.537231,-547.286255,375.266266,-497.980469,-561.974976,381.204559,-434.064697,-522.616333,376.888123,-461.301270,-457.744019,379.009308,-451.188354,-458.697876,376.366608,-452.643555,-456.790161,381.652039,-449.733124,-415.027954,377.235626,-477.213379,-415.990234,374.598999,-478.662598,-416.952637,371.962402,-480.111816,-455.825317,373.098938,-448.261078,-454.860474,364.545837,-446.789063,-413.081177,359.929871,-474.281555,-414.054565,368.582733,-475.747467,-481.984131,359.895233,-488.172119,-509.107788,355.244629,-529.555176,-467.810791,350.007233,-556.704956,-440.445923,354.968536,-515.493286,-508.142944,364.071136,-528.083130,-507.178101,372.897644,-526.611023,-465.863892,367.788788,-553.772949,-466.837280,358.898010,-555.238953,-506.224243,370.771118,-525.155762,-505.270630,368.644562,-523.700562,-463.939331,363.626892,-550.874573,-464.901733,365.707825,-552.323792,-481.984131,372.505585,-488.172058,-440.445923,367.794647,-515.493164,-373.085938,369.938141,-507.827881,-374.080811,367.279968,-509.254395,-372.091187,372.596313,-506.401428,-328.444824,367.277863,-538.119385,-329.492432,364.563110,-539.506165,-330.540161,361.848358,-540.892944,-371.084839,363.906647,-504.958496,-370.078491,355.216980,-503.515625,-326.325073,349.838745,-535.313843,-327.384888,358.558289,-536.716553,-398.368896,349.454346,-544.080750,-426.659302,343.691742,-584.645874,-385.914917,335.672394,-614.187500,-356.119995,342.755554,-574.750732,-425.652954,352.709290,-583.202881,-424.646606,361.726807,-581.759888,-383.795288,354.028717,-611.381775,-384.855103,344.850555,-612.784668,-423.651733,359.716431,-580.333435,-422.656860,357.706085,-578.906982,-381.699707,350.177917,-608.608154,-382.747437,352.103333,-609.994995,-398.368896,362.493042,-544.080688,-356.119995,356.013153,-574.750610,-285.671143,358.010315,-574.519287,-286.788452,355.196564,-575.849243,-284.553894,360.824066,-573.189331,-240.961792,352.408569,-612.293335,-242.157837,349.472321,-613.552246,-243.353882,346.536072,-614.811035,-283.423706,352.025360,-571.844055,-282.293579,343.226654,-570.498779,-238.542114,334.600372,-609.746704,-239.751953,343.504456,-611.020020,-314.066528,334.274963,-608.319092,-345.839478,325.323273,-646.139343,-306.565918,312.679077,-681.342346,-272.554077,323.639740,-645.544556,-344.709351,334.667450,-644.793945,-343.579102,344.011627,-643.448608,-304.146240,331.674347,-678.795532,-305.356140,322.176697,-680.068848,-342.461792,342.174896,-642.118713,-341.344482,340.338135,-640.788696,-301.754272,328.164429,-676.277832,-302.950256,329.919373,-677.536743,-314.066528,347.767365,-608.318970,-272.554077,337.350250,-645.544434,-199.488220,338.141693,-657.290039,-200.764648,335.078339,-658.466309,-198.211792,341.205017,-656.113647,-156.854614,327.317444,-704.373413,-158.207153,324.136536,-705.462219,-159.559692,320.955658,-706.551025,-196.920532,332.192261,-654.923828,-195.629395,323.179504,-653.733948,-154.118347,309.094025,-702.170837,-155.486450,318.205750,-703.272095,-231.928345,310.476990,-687.185669,-268.227295,297.774475,-720.637390,-231.043579,280.858368,-764.094971,-192.580933,294.976196,-733.132935,-266.936157,307.395111,-719.447388,-265.645020,317.015778,-718.257446,-228.307312,300.280029,-761.892151,-229.675415,290.569183,-762.993530,-264.368530,315.325073,-717.081177,-263.092041,313.634399,-715.904785,-225.602234,296.990906,-759.714600,-226.954773,298.635468,-760.803345,-231.928345,324.356384,-687.185547,-192.580933,308.973297,-733.132813,-118.859436,307.575073,-757.798340,-120.277710,304.300293,-758.800903,-117.441162,310.849854,-756.795837,-80.522522,292.444214,-812.672180,-81.998901,289.126984,-813.586914,-83.475159,285.809753,-814.501709,-116.006592,301.661957,-755.781799,-114.571899,292.474060,-754.767761,-77.535767,274.016266,-810.821655,-79.029175,283.230225,-811.746826,-154.903320,277.326874,-783.276611,-195.234619,262.179718,-811.785400,-161.500610,242.533737,-862.847961,-119.518188,258.274994,-836.834839,-193.800049,271.945435,-810.771240,-192.365417,281.711182,-809.757080,-158.513916,262.097229,-860.997192,-160.007202,252.315506,-861.922607,-190.947144,280.093964,-808.754639,-189.528931,278.476776,-807.752075,-155.561279,258.875458,-859.167725,-157.037537,260.486328,-860.082520,-154.903320,291.388519,-783.276489,-119.518188,272.342590,-836.834717,-48.179321,269.462036,-872.116394,-49.708679,266.181549,-872.939087,-46.649780,272.742554,-871.293640,-16.439819,252.404709,-932.417908,-18.018311,249.256210,-932.913086,-19.596802,246.107712,-933.408142,-45.102783,263.579956,-870.461426,-43.555664,254.417404,-869.629272,-13.246338,234.336197,-930.501221,-14.843079,243.370453,-931.459595,-87.048584,238.566528,-893.025635,-130.541504,222.715637,-916.421875,-103.023926,203.586746,-971.597656,-58.135132,218.961472,-951.049438,-128.994385,232.470917,-915.589600,-127.447266,242.226181,-914.757324,-99.830444,222.963089,-970.135681,-101.427124,213.274918,-970.866638,-125.917847,240.598312,-913.934570,-124.388428,238.970428,-913.111816,-96.673340,219.627457,-968.690491,-98.251892,221.295273,-969.413086,-87.048584,252.576004,-893.025513,-58.135132,232.867584,-951.049377,7.866211,229.185379,-995.503174,6.241699,226.280167,-995.203857,9.490601,232.090591,-995.802490,30.458496,212.935226,-1059.888916,28.792847,210.277634,-1058.777588,27.127075,207.620041,-1057.666138,11.133911,223.260986,-994.275269,12.777100,214.431396,-992.748047,33.828369,195.658676,-1055.732666,32.143494,204.296951,-1057.810913,-33.418701,200.219894,-1010.106934,-79.614502,186.008377,-1027.465698,-60.908569,170.567169,-1083.064453,-13.540039,183.112930,-1069.398560,-77.971252,195.590683,-1026.848145,-76.328003,205.172989,-1026.230713,-57.538696,189.455460,-1082.092163,-59.223572,180.011307,-1082.578125,-74.703552,203.442642,-1025.620239,-73.079102,201.712311,-1025.009766,-54.207275,185.830414,-1081.130981,-55.872925,187.642929,-1081.611572,-33.418701,213.996231,-1010.106934,-13.540039,196.725220,-1069.398560,44.080200,193.561096,-1121.627075,42.379578,191.048477,-1120.134888,45.780823,196.073715,-1123.119141,54.618408,181.850525,-1184.882935,52.896729,179.374146,-1183.434448,51.174988,176.897751,-1181.985718,47.501099,187.523712,-1120.968750,49.221313,178.973740,-1118.818115,58.101563,164.714066,-1181.408691,56.359985,173.282303,-1183.145874,0.860046,168.411758,-1128.125000,-47.501282,157.849808,-1137.431885,-39.820068,147.971405,-1189.564819,9.140747,156.342728,-1185.486816,-45.781006,167.129913,-1137.100708,-44.060791,176.410049,-1136.769775,-36.336914,166.169022,-1189.274658,-38.078491,157.070190,-1189.419678,-42.360107,174.498611,-1136.442383,-40.659546,172.587173,-1136.115112,-32.893494,162.124603,-1188.987793,-34.615173,164.146820,-1189.131348,0.859985,181.817825,-1128.125000,9.140747,169.511169,-1185.486816,54.410767,168.055191,-1243.582275,52.689331,165.500153,-1242.594238,56.132202,170.610199,-1244.570068,49.220337,161.978119,-1302.258301,47.537964,159.360138,-1301.694580,45.855530,156.742142,-1301.130737,57.873535,161.913696,-1243.739502,59.614868,153.217178,-1242.908936,52.623901,144.388031,-1302.483887,50.922119,153.183075,-1302.371094,10.661377,147.132095,-1240.684448,-38.292114,141.047012,-1238.459961,-43.061768,136.656738,-1283.353149,4.781128,140.522400,-1292.918457,-36.550781,149.955795,-1238.539063,-34.809448,158.864594,-1238.618164,-39.658081,154.146179,-1284.033569,-41.359863,145.401459,-1283.693359,-33.088013,156.724625,-1238.696533,-31.366577,154.584656,-1238.774658,-36.293274,149.655106,-1284.706299,-37.975708,151.900650,-1284.369995,10.661438,160.042404,-1240.684448,4.781128,153.198624,-1292.918579,31.193665,153.044937,-1357.395264,29.606567,150.510223,-1356.765503,32.780762,155.579651,-1358.025146,5.958862,151.618408,-1409.851318,4.531494,149.200989,-1408.921875,3.104004,146.783569,-1407.992310,34.386108,146.855637,-1358.662109,35.991577,138.131638,-1359.299194,8.846680,134.404114,-1411.731934,7.402771,143.011261,-1410.791748,-9.140869,136.256134,-1341.389526,-54.273315,134.380630,-1323.479858,-72.337280,133.466354,-1358.864258,-31.745300,133.935242,-1385.298096,-52.667847,143.021927,-1324.116943,-51.062500,151.663239,-1324.753906,-69.449463,150.639328,-1360.744751,-70.893311,142.052856,-1359.804443,-49.475403,149.343475,-1325.383789,-47.888306,147.023712,-1326.013550,-66.594604,145.911957,-1362.603760,-68.022095,148.275650,-1361.674194,-9.140869,148.766968,-1341.389648,-31.745300,146.347778,-1385.298096,-33.295288,147.919678,-1454.511475,-34.490601,145.541367,-1453.304688,-32.099976,150.298004,-1455.718018,-81.235901,151.514709,-1494.139526,-82.156982,149.127533,-1492.704346,-83.078003,146.740356,-1491.269165,-30.890869,141.729797,-1456.938721,-29.681763,133.161606,-1458.159180,-79.372559,134.396347,-1497.043091,-80.304260,142.955521,-1495.591309,-63.672974,133.161606,-1423.844604,-97.664185,133.161606,-1389.530029,-131.756836,133.932388,-1415.416382,-105.564697,134.164368,-1456.229736,-96.455017,141.729813,-1390.750488,-95.245972,150.298019,-1391.971191,-129.893433,151.083710,-1418.320068,-130.825073,142.508057,-1416.868164,-94.050659,147.919708,-1393.177734,-92.855347,145.541382,-1394.384521,-128.051270,146.341949,-1421.190308,-128.972351,148.712845,-1419.755127,-63.672974,145.541382,-1423.844727,-105.564697,146.541168,-1456.229736,-141.923889,152.751099,-1522.041138,-142.558899,150.337341,-1520.452026,-141.288940,155.164825,-1523.630371,-211.135681,161.907394,-1544.381592,-211.526489,159.457733,-1542.701416,-211.917358,157.008041,-1541.021240,-140.646729,146.632690,-1525.237793,-140.004395,138.100555,-1526.845337,-210.345032,144.916153,-1547.780762,-210.740356,153.411789,-1546.081299,-158.061157,137.172653,-1481.653931,-176.117920,136.244736,-1436.462524,-232.573792,141.126892,-1452.219971,-221.459412,143.021515,-1500.000366,-175.475586,144.842789,-1438.069946,-174.833252,153.440857,-1439.677490,-231.783081,158.387329,-1455.619141,-232.178467,149.757111,-1453.919434,-174.198364,151.092285,-1441.266724,-173.563354,148.743713,-1442.855835,-231.001465,153.754089,-1458.979492,-231.392273,156.070709,-1457.299316,-158.061157,149.540527,-1481.653931,-221.459412,155.381058,-1500.000366,-289.895081,169.914810,-1554.864502,-290.137451,167.428146,-1553.144531,-289.652649,172.401443,-1556.584595,-374.781738,187.065796,-1564.944336,-374.957153,184.552429,-1563.214600,-375.132446,182.039047,-1561.484741,-289.407410,163.943222,-1558.324463,-289.162170,155.485001,-1560.064209,-374.426758,170.203232,-1568.443726,-374.604126,178.634521,-1566.694092,-296.056458,152.546036,-1511.152100,-302.950745,149.607101,-1462.239990,-384.404541,162.736786,-1470.063599,-379.415649,166.470001,-1519.253662,-302.705505,158.274063,-1463.979858,-302.460266,166.941055,-1465.719727,-384.049683,180.129669,-1473.562988,-384.227051,171.433228,-1471.813232,-302.217834,164.660797,-1467.439697,-301.975464,162.380585,-1469.159668,-383.698853,175.627304,-1477.022705,-383.874146,177.878479,-1475.292725,-296.056458,164.904358,-1511.152100,-379.415649,178.833160,-1519.253662,-464.640015,203.800705,-1572.435303,-464.815552,201.282074,-1570.704590,-464.464600,206.319321,-1574.166016,-558.326294,228.996170,-1584.570557,-558.528442,226.488663,-1582.842529,-558.730835,223.981155,-1581.114624,-464.286987,197.893158,-1575.916748,-464.109497,189.466995,-1577.667480,-557.917114,212.120895,-1588.066406,-558.121704,220.558533,-1586.318481,-469.100220,185.517151,-1528.449219,-474.090942,181.567322,-1479.231079,-569.422363,204.688721,-1489.786621,-563.669678,208.404800,-1538.926514,-473.913452,190.274063,-1480.981689,-473.735962,198.980789,-1482.732544,-569.013062,222.091949,-1493.282593,-569.217651,213.390350,-1491.534668,-473.560425,196.739578,-1484.463379,-473.385010,194.498383,-1486.194092,-568.608521,217.598938,-1496.738647,-568.810913,219.845444,-1495.010620,-469.100220,197.890228,-1528.449341,-563.669678,220.790054,-1538.926514,-656.207031,251.445374,-1594.752319,-656.422485,248.960220,-1593.025879,-655.991577,253.930527,-1596.478882,-756.400269,278.306824,-1609.096680,-756.616455,275.853363,-1607.370117,-756.832642,273.399902,-1605.643799,-655.773682,245.470047,-1598.225342,-655.555786,237.009552,-1599.971924,-755.962769,261.321564,-1612.589355,-756.181519,269.814178,-1610.843018,-661.683228,233.850266,-1550.873169,-667.810913,230.690964,-1501.774414,-768.262451,256.738922,-1514.398926,-762.112671,259.030243,-1563.494141,-667.592896,239.375824,-1503.520996,-667.374878,248.060669,-1505.267456,-767.824829,274.049500,-1517.891602,-768.043701,265.394226,-1516.145264,-667.159546,245.797379,-1506.994019,-666.943970,243.534088,-1508.720581,-767.392456,269.464325,-1521.344360,-767.608765,271.756927,-1519.618042,-661.683228,246.247162,-1550.873169,-762.112671,271.432129,-1563.494141,-858.697632,296.895203,-1619.901733,-858.903442,294.480835,-1618.174072,-858.491821,299.309540,-1621.629395,-961.250122,317.366516,-1633.274658,-961.433838,314.982880,-1631.544800,-961.617798,312.599274,-1629.814697,-858.283569,290.777527,-1623.376953,-858.075317,282.245483,-1625.124512,-960.878296,300.240723,-1636.774414,-961.064209,308.803589,-1635.024536,-863.929321,281.121460,-1575.994263,-869.783081,279.997467,-1526.864014,-971.331421,299.889099,-1538.383301,-966.104858,300.064880,-1587.578857,-869.574951,288.609253,-1528.611816,-869.366699,297.221069,-1530.359253,-970.959595,317.039795,-1541.883179,-971.145386,308.464447,-1540.133301,-869.160889,294.885590,-1532.086914,-868.954956,292.550140,-1533.814575,-970.591919,312.297150,-1545.343018,-970.775757,314.668457,-1543.613037,-863.929321,293.515503,-1575.994385,-966.104858,312.448212,-1587.578857,-1063.808472,330.528442,-1641.497070,-1063.958130,328.151367,-1639.763916,-1063.658936,332.905518,-1643.229980,-1164.747681,346.520813,-1650.677490,-1164.848755,344.137817,-1648.941406,-1164.949951,341.754852,-1647.205322,-1063.507568,324.336090,-1644.983032,-1063.356323,315.766663,-1646.736084,-1164.543091,329.393829,-1654.189575,-1164.645386,337.957306,-1652.433472,-1067.610840,315.801453,-1597.452881,-1071.865356,315.836243,-1548.169678,-1170.295288,329.127167,-1555.453125,-1167.419067,329.260498,-1604.821289,-1071.714111,324.403198,-1549.922607,-1071.562744,332.970154,-1551.675781,-1170.090454,346.273102,-1558.965332,-1170.192871,337.700134,-1557.209229,-1071.413208,330.590607,-1553.408691,-1071.263550,328.211029,-1555.141846,-1169.888306,341.525879,-1562.437256,-1169.989380,343.899475,-1560.701294,-1067.610840,328.181213,-1597.452881,-1167.419067,341.640381,-1604.821289,-1263.581909,356.416992,-1653.060547,-1263.618042,354.027496,-1651.322510,-1263.545776,358.806519,-1654.798584,-1359.145142,369.257263,-1654.724609,-1359.095337,366.862152,-1652.988281,-1359.045532,364.467041,-1651.252197,-1263.509155,350.249634,-1656.556763,-1263.472534,341.692780,-1658.314819,-1359.245972,352.154816,-1658.237305,-1359.195435,360.706055,-1656.480957,-1264.501465,341.371460,-1608.889404,-1265.530396,341.050171,-1559.463989,-1356.412964,351.180176,-1559.486816,-1357.829468,351.667511,-1608.862061,-1265.493774,349.629883,-1561.222046,-1265.457153,358.209625,-1562.980225,-1356.513550,368.351990,-1562.999390,-1356.463257,359.766083,-1561.243042,-1265.421021,355.842682,-1564.718262,-1265.384888,353.475739,-1566.456299,-1356.613159,363.630249,-1566.471924,-1356.563354,365.991119,-1564.735718,-1264.501465,353.751617,-1608.889404,-1357.829468,364.048645,-1608.862061,-1450.476685,374.969452,-1647.858643,-1450.315308,372.571259,-1646.130615,-1450.638062,377.367615,-1649.586548,-1537.179077,382.992493,-1638.356445,-1536.873413,380.595673,-1636.652100,-1536.567993,378.198883,-1634.947998,-1450.801147,368.819427,-1651.334473,-1450.964722,360.271271,-1653.082275,-1537.797241,365.893311,-1641.804077,-1537.488159,374.442902,-1640.080322,-1446.374390,359.681763,-1603.944092,-1441.784058,359.092285,-1554.805908,-1520.419067,364.773865,-1544.877319,-1529.108276,365.333588,-1593.340698,-1441.947388,367.682373,-1556.553711,-1442.110718,376.272491,-1558.301636,-1521.037231,381.952667,-1548.324951,-1520.727905,373.363251,-1546.601074,-1442.272095,373.915741,-1560.029663,-1442.433472,371.559021,-1561.757568,-1521.648315,377.237732,-1551.733398,-1521.342651,379.595184,-1550.029297,-1446.374390,372.065155,-1603.944092,-1529.108276,377.718292,-1593.340698,-1617.433716,383.597687,-1618.349854,-1616.944458,381.208557,-1616.693604,-1617.922729,385.986816,-1620.006104,-1691.806030,387.246124,-1593.195190,-1691.095093,384.865112,-1591.631714,-1690.384399,382.484070,-1590.068115,-1618.417603,377.429504,-1621.681641,-1618.912476,368.872192,-1623.356934,-1693.244507,370.115173,-1596.358154,-1692.525269,378.680634,-1594.776611,-1605.002319,368.542328,-1576.256836,-1591.092163,368.212433,-1529.156738,-1652.812134,369.950226,-1507.437012,-1673.028198,370.032715,-1551.897461,-1591.586792,376.793213,-1530.832031,-1592.081665,385.373993,-1532.507568,-1654.250366,387.092926,-1510.600098,-1653.531372,378.521576,-1509.018433,-1592.570679,383.008026,-1534.163818,-1593.059937,380.642090,-1535.820068,-1655.671997,382.342468,-1513.726807,-1654.961304,384.717682,-1512.163330,-1605.002075,380.925323,-1576.256836,-1673.028198,382.413269,-1551.897461,-1756.796753,385.287567,-1555.177368,-1755.827271,382.909241,-1553.772217,-1757.765991,387.665894,-1556.582520,-1813.782104,387.665894,-1509.661011,-1812.555298,385.287567,-1508.478638,-1811.328979,382.909271,-1507.296631,-1758.746948,379.097687,-1558.003784,-1759.727417,370.529480,-1559.425049,-1816.263550,370.529480,-1512.052734,-1815.022583,379.097687,-1510.856934,-1732.157837,370.529510,-1519.467773,-1704.588257,370.529510,-1479.510498,-1746.501831,370.529510,-1444.813721,-1781.382690,370.529510,-1478.433228,-1705.568970,379.097687,-1480.931885,-1706.549683,387.665894,-1482.353271,-1748.983276,387.665894,-1447.205566,-1747.742554,379.097717,-1446.009766,-1707.518921,385.287567,-1483.758301,-1708.488403,382.909271,-1485.163330,-1751.436401,382.909271,-1449.569946,-1750.209839,385.287567,-1448.387939,-1732.157837,382.909271,-1519.467896,-1781.382690,382.909271,-1478.433350,-1856.388794,385.287567,-1451.027344,-1854.945190,382.909241,-1450.131592,-1857.832886,387.665894,-1451.923340,-1889.263062,387.665894,-1387.617920,-1887.658813,385.287567,-1387.033203,-1886.054565,382.909241,-1386.448486,-1859.293091,379.097687,-1452.829590,-1860.753784,370.529480,-1453.735840,-1892.508667,370.529480,-1388.801025,-1890.885620,379.097687,-1388.209473,-1819.694214,370.529510,-1428.259277,-1778.634644,370.529510,-1402.782959,-1801.268677,370.529510,-1355.542236,-1846.888550,370.529480,-1372.171631,-1780.095337,379.097687,-1403.689209,-1781.555542,387.665894,-1404.595459,-1804.514038,387.665894,-1356.725342,-1802.891479,379.097687,-1356.133789,-1782.999634,385.287567,-1405.491455,-1784.443237,382.909271,-1406.387207,-1807.722534,382.909271,-1357.894775,-1806.118530,385.287567,-1357.310059,-1819.694214,382.909271,-1428.259399,-1846.888550,382.909241,-1372.171631,-1905.727173,385.287567,-1320.705811,-1904.036499,382.909241,-1320.418213,-1907.417847,387.665894,-1320.993408,-1913.490601,387.665894,-1253.576660,-1911.772583,385.287567,-1253.569458,-1910.054077,382.909241,-1253.562256,-1909.127808,379.097687,-1321.284424,-1910.838013,370.529480,-1321.575439,-1916.966919,370.529480,-1253.591553,-1915.228882,379.097687,-1253.584229,-1862.761841,370.529480,-1313.395508,-1814.685913,370.529510,-1305.215576,-1819.240601,370.529480,-1253.177490,-1868.103882,370.529480,-1253.384521,-1816.396118,379.097687,-1305.506592,-1818.106323,387.665894,-1305.797607,-1822.717163,387.665894,-1253.192261,-1820.978882,379.097687,-1253.184814,-1819.796753,385.287567,-1306.085205,-1821.487183,382.909241,-1306.372803,-1826.153198,382.909241,-1253.206787,-1824.435181,385.287567,-1253.199585,-1862.761841,382.909241,-1313.395508,-1868.103882,382.909241,-1253.384521,-1906.973511,385.287567,-1187.148560,-1905.270874,382.909241,-1187.402100,-1908.676147,387.665894,-1186.895020,-1894.125610,387.826508,-1121.507568,-1892.470337,385.450989,-1121.994385,-1890.815308,383.075500,-1122.480957,-1910.398315,379.097687,-1186.638672,-1912.120483,370.529480,-1186.382080,-1897.474243,370.684509,-1120.522827,-1895.799683,379.255493,-1121.015137,-1863.703979,370.529480,-1193.592285,-1815.286987,370.529480,-1200.802368,-1803.336060,370.875000,-1148.205933,-1850.405151,370.779755,-1134.364380,-1817.009399,379.097687,-1200.545898,-1818.731812,387.665894,-1200.289429,-1806.684937,388.003479,-1147.221191,-1805.010620,379.439240,-1147.713623,-1820.434204,385.287567,-1200.035889,-1822.136597,382.909241,-1199.782349,-1809.994995,383.239075,-1146.247803,-1808.339966,385.621277,-1146.734375,-1863.703979,382.909241,-1193.592163,-1850.405151,383.157288,-1134.364258,-1869.403198,385.941315,-1058.657837,-1867.815308,383.574219,-1059.342041,-1870.991089,388.308380,-1057.973633,-1840.336792,390.200867,-996.551147,-1838.828003,387.842773,-997.400391,-1837.319214,385.484680,-998.249756,-1872.597046,379.728973,-1057.281494,-1874.203247,371.149567,-1056.589355,-1843.389282,373.024048,-994.833008,-1841.862915,381.612457,-995.692139,-1829.050903,371.530579,-1076.046631,-1783.898560,371.911560,-1095.504028,-1757.579468,374.362976,-1043.136841,-1800.484253,373.693512,-1018.984863,-1785.504761,380.463928,-1094.811890,-1787.110718,389.016266,-1094.119751,-1760.631714,391.444702,-1041.418457,-1759.105591,382.903839,-1042.277588,-1788.698608,386.622437,-1093.435547,-1790.286499,384.228607,-1092.751343,-1763.649292,386.634491,-1039.719971,-1762.140503,389.039581,-1040.569336,-1829.050903,383.901398,-1076.046631,-1800.484253,386.059601,-1018.984863,-1801.801147,392.239716,-938.483459,-1800.374634,389.886108,-939.468872,-1803.227661,394.593292,-937.498230,-1760.576538,401.775604,-881.019958,-1759.232788,399.406555,-882.117493,-1757.889282,397.037537,-883.215088,-1804.670532,386.000244,-936.501587,-1806.113647,377.407227,-935.504883,-1763.294800,384.621277,-878.799561,-1761.935425,393.198425,-879.909790,-1765.548462,378.180145,-963.524658,-1724.983276,378.953033,-991.544434,-1686.878540,385.569244,-941.223755,-1725.086548,385.095245,-910.011597,-1726.426392,387.491150,-990.547729,-1727.869263,396.029236,-989.551025,-1689.596802,402.646362,-939.003174,-1688.237671,394.107819,-940.113403,-1729.295776,393.621338,-988.565735,-1730.722290,391.213440,-987.580444,-1692.284058,397.859039,-936.808044,-1690.940308,400.252716,-937.905579,-1765.548462,390.549774,-963.524597,-1725.086548,397.448303,-910.011536,-1712.033569,409.617859,-828.512939,-1710.770874,407.197998,-829.704285,-1713.296265,412.037720,-827.321533,-1662.225464,425.963379,-776.646729,-1661.041870,423.469727,-777.917358,-1659.858032,420.976074,-779.187988,-1714.573608,403.513062,-826.116455,-1715.850952,394.988403,-824.911377,-1664.620483,409.065369,-774.076294,-1663.423218,417.514374,-775.361511,-1679.941772,394.543732,-858.791260,-1644.032349,394.099060,-892.671265,-1597.293091,405.290222,-846.342651,-1630.956909,407.177795,-810.209473,-1645.309692,402.635803,-891.466064,-1646.587036,411.172546,-890.260864,-1599.688354,422.352539,-843.771912,-1598.490601,413.821381,-845.057251,-1647.849976,408.818665,-889.069458,-1649.112671,406.464813,-887.878113,-1602.055786,417.786011,-841.230713,-1600.871948,420.069275,-842.501282,-1679.941772,406.831421,-858.791199,-1630.956909,419.381042,-810.209351,-1607.096313,441.558289,-730.578491,-1605.989868,438.980377,-731.917603,-1608.202759,444.136230,-729.239319,-1552.032593,465.218201,-685.379639,-1551.003296,462.557220,-686.779114,-1549.973755,459.896210,-688.178467,-1609.322144,435.772614,-727.884827,-1610.441284,427.408966,-726.530273,-1554.115356,448.658173,-682.548706,-1553.074097,456.938202,-683.964233,-1578.975464,423.649719,-764.611816,-1547.509155,419.890503,-802.693359,-1495.564819,437.173798,-762.139160,-1524.840210,442.915985,-722.343933,-1548.628540,428.410828,-801.338745,-1549.747925,436.931183,-799.984070,-1497.647339,454.198975,-759.307983,-1496.606079,445.686371,-760.723633,-1550.854370,434.754486,-798.644897,-1551.960815,432.577789,-797.305786,-1499.706421,450.079224,-756.509155,-1498.676880,452.139099,-757.908569,-1578.975464,435.779083,-764.611694,-1524.840210,454.987732,-722.343872,-1493.568726,485.140076,-646.802063,-1492.617554,482.408936,-648.255981,-1494.519897,487.871216,-645.348145,-1436.436401,510.745483,-609.449097,-1435.567261,507.959564,-610.953186,-1434.698120,505.173645,-612.457397,-1495.482300,479.661621,-643.877563,-1496.444214,471.452026,-642.406982,-1438.194458,494.435669,-606.406189,-1437.315308,502.590576,-607.927612,-1469.393921,463.933014,-683.751343,-1442.343628,456.414001,-725.095825,-1388.766235,476.401764,-691.953735,-1413.480347,485.418701,-649.179932,-1443.305786,464.930176,-723.625122,-1444.267944,473.446350,-722.154419,-1390.524292,493.457794,-688.910767,-1389.645386,484.929779,-690.432251,-1445.219116,471.487793,-720.700562,-1446.170288,469.529236,-719.246704,-1392.262573,489.708191,-685.902466,-1391.393433,491.583008,-687.406616,-1469.393921,475.969086,-683.751282,-1413.480347,497.440918,-649.179932,-1377.773315,529.668335,-579.538330,-1376.993042,526.845459,-581.090149,-1378.553589,532.491211,-577.986633,-1322.163208,552.094177,-551.353271,-1321.462280,549.256958,-552.943909,-1320.761353,546.419678,-554.534546,-1379.342896,524.372742,-576.416992,-1380.132202,516.254272,-574.847351,-1323.580933,535.884277,-548.135376,-1322.871948,543.989258,-549.744263,-1357.942505,506.091003,-618.975464,-1335.753052,495.927734,-663.103638,-1283.719360,514.294739,-638.602966,-1303.650146,525.089478,-593.369141,-1336.542358,504.472717,-661.533936,-1337.331665,513.017700,-659.964233,-1285.137329,531.412781,-635.384888,-1284.428345,522.853760,-636.993896,-1338.112183,511.207062,-658.412476,-1338.892456,509.396423,-656.860718,-1286.539185,527.870239,-632.203613,-1285.838257,529.641541,-633.794189,-1357.942749,518.120972,-618.975464,-1303.650269,537.144958,-593.369080,-1267.908936,565.715881,-531.556152,-1267.262207,562.891541,-533.170837,-1268.555786,568.540283,-529.941528,-1221.222778,581.508789,-510.843140,-1220.535034,578.728394,-512.426025,-1219.847412,575.947998,-514.008850,-1269.209839,560.421204,-528.308228,-1269.864014,552.302124,-526.674927,-1222.614136,565.180298,-507.640930,-1221.918335,573.344482,-509.242065,-1251.472168,541.553833,-572.592163,-1233.080444,530.805664,-618.509338,-1183.500977,545.095093,-597.665771,-1203.057495,555.137695,-552.653320,-1233.734741,539.367676,-616.875977,-1234.389038,547.929688,-615.242676,-1184.892456,562.284912,-594.463440,-1184.196655,553.690002,-596.064575,-1235.035767,546.167969,-613.627930,-1235.682495,544.406250,-612.013306,-1186.267822,558.666992,-591.297729,-1185.580200,560.475952,-592.880615,-1251.472412,553.648926,-572.592041,-1203.057617,567.307495,-552.653259,-1182.762451,587.977539,-492.604248,-1181.869019,585.276062,-494.058411,-1183.655884,590.679016,-491.150024,-1153.477661,597.390808,-468.601624,-1152.322510,594.776978,-469.863220,-1151.167236,592.163147,-471.124756,-1184.559692,582.435181,-489.679016,-1185.463501,574.191284,-488.208069,-1155.814575,580.726990,-466.049438,-1154.646118,589.058899,-467.325531,-1160.054688,565.494507,-529.561646,-1134.645874,556.797607,-570.915222,-1090.113403,566.777832,-537.799866,-1122.963989,573.752380,-501.924622,-1135.549683,565.496338,-569.444214,-1136.453491,574.195068,-567.973145,-1092.450562,584.348267,-535.247559,-1091.282104,575.563049,-536.523682,-1137.347046,572.255127,-566.518982,-1138.240601,570.315186,-565.064758,-1094.760986,580.173706,-532.724365,-1093.605713,582.260986,-533.985962,-1160.054810,577.795654,-529.561584,-1122.964111,586.168457,-501.924561,-1126.946899,600.440369,-441.975281,-1125.582886,597.896790,-443.013062,-1128.310669,602.983948,-440.937469,-1108.040894,607.679016,-408.685486,-1106.520386,605.191162,-409.486145,-1104.999756,602.703369,-410.286743,-1129.690186,594.581482,-439.887726,-1131.069702,586.179077,-438.837952,-1111.117065,590.762207,-407.065796,-1109.579102,599.220581,-407.875641,-1092.286011,581.039490,-468.349884,-1053.502319,575.900024,-497.861816,-1024.636597,583.919922,-452.600830,-1067.876831,587.341064,-429.833313,-1054.881958,584.666260,-496.812012,-1056.261597,593.432617,-495.762207,-1027.712891,601.321777,-450.981110,-1026.174683,592.620850,-451.790955,-1057.625244,591.249146,-494.724426,-1058.989136,589.065674,-493.686646,-1030.753906,596.826050,-449.379822,-1029.233398,599.073914,-450.180481,-1092.286011,593.481201,-468.349854,-1067.876831,599.764709,-429.833313,-1090.928223,609.252869,-372.941437,-1089.301758,606.809204,-373.509216,-1092.554688,611.696533,-372.373657,-1081.950684,614.817444,-332.890076,-1080.259888,612.405945,-333.233398,-1078.569092,609.994385,-333.576721,-1094.200073,603.193848,-371.799347,-1095.845215,594.691223,-371.225037,-1085.371216,597.747681,-332.195557,-1083.661011,606.282593,-332.542816,-1049.592651,592.642273,-387.370850,-1003.340210,590.593384,-403.516663,-989.208130,595.661011,-351.720886,-1037.289673,596.704346,-341.958191,-1004.985474,599.241455,-402.942383,-1006.630737,607.889526,-402.368042,-992.628784,612.879028,-351.026367,-990.918579,604.270020,-351.373627,-1008.257324,605.589722,-401.800262,-1009.883667,603.289856,-401.232483,-996.010376,608.202515,-350.339722,-994.319580,610.540771,-350.683044,-1049.592651,605.049561,-387.370850,-1037.289673,609.098450,-341.958191,-1074.604858,614.430847,-291.254181,-1072.882202,612.039001,-291.385498,-1076.327515,616.822632,-291.122864,-1075.665283,617.908081,-248.152573,-1073.938477,615.526428,-248.081161,-1072.211670,613.144714,-248.009689,-1078.070068,608.267944,-290.990051,-1079.812622,599.713318,-290.857239,-1079.158813,600.778442,-248.297104,-1077.412109,609.343262,-248.224838,-1030.824097,599.288452,-294.591095,-981.835571,598.863525,-298.324951,-980.945068,600.566040,-244.233719,-1030.051880,600.672241,-246.265427,-983.578125,607.448425,-298.192139,-985.320679,616.033325,-298.059326,-984.438599,617.710815,-244.378281,-982.691772,609.138428,-244.305984,-987.043213,613.671326,-297.928040,-988.765991,611.309387,-297.796692,-987.892212,612.962280,-244.521164,-986.165405,615.336548,-244.449722,-1030.824097,611.674194,-294.591095,-1030.051880,613.053528,-246.265427,-1078.236206,615.891602,-204.791656,-1076.528320,613.513306,-204.523529,-1079.944214,618.269897,-205.059799,-1088.984741,617.922913,-162.948715,-1087.320068,615.541138,-162.485840,-1085.655396,613.159424,-162.022949,-1081.671875,609.701721,-205.331024,-1083.399536,601.133545,-205.602234,-1092.352661,600.793396,-163.885132,-1090.668701,609.358154,-163.416931,-1034.829590,601.133545,-197.977142,-986.259644,601.133545,-190.352051,-997.673706,600.575684,-137.558807,-1045.013062,600.684570,-150.721970,-987.987305,609.701721,-190.623291,-989.714966,618.269958,-190.894547,-1001.041382,617.720703,-138.495300,-999.357544,609.148193,-138.027039,-991.422974,615.891602,-191.162689,-993.130859,613.513306,-191.430817,-1004.370728,612.972473,-139.421066,-1002.706177,615.346558,-138.958191,-1034.829590,613.513306,-197.977173,-1045.013062,613.065918,-150.722015,-1101.012207,614.489746,-122.263702,-1099.416504,612.097656,-121.603897,-1102.607910,616.881775,-122.923492,-1120.484985,614.978882,-85.999298,-1118.990967,612.566650,-85.139709,-1117.496948,610.154419,-84.280106,-1104.222046,608.327393,-123.590881,-1105.836060,599.772949,-124.258286,-1123.507324,597.910645,-87.738312,-1121.996216,606.444763,-86.868805,-1060.458740,599.337646,-105.495544,-1015.081421,598.902283,-86.732834,-1038.538086,595.761475,-38.849346,-1081.022705,596.836060,-63.293827,-1016.695557,607.487671,-87.400238,-1018.309692,616.072998,-88.067673,-1041.560425,612.982422,-40.588383,-1040.049194,604.371948,-39.718861,-1019.905396,613.711548,-88.727463,-1021.501099,611.350037,-89.387253,-1044.548462,608.308838,-42.307552,-1043.054443,610.645630,-41.447964,-1060.458862,611.723877,-105.495575,-1081.022705,609.231567,-63.293835,-1140.934692,609.601196,-52.128262,-1139.582153,607.155762,-51.065258,-1142.287231,612.046631,-53.191265,-1167.666138,608.291382,-25.236786,-1166.502563,605.800171,-23.976536,-1165.338867,603.309021,-22.716286,-1143.655396,603.545654,-54.266537,-1145.023438,595.044739,-55.341816,-1170.020142,591.381226,-27.786400,-1168.843140,599.836304,-26.511593,-1106.560913,592.923218,-25.112724,-1068.098389,590.801636,5.116365,-1103.839355,584.264282,43.890457,-1136.929810,587.822693,8.052031,-1069.466431,599.453125,4.041090,-1070.834595,608.104614,2.965811,-1106.193237,601.678711,41.340851,-1105.016357,592.971497,42.615654,-1072.187134,605.808105,1.902809,-1073.539673,603.511536,0.839806,-1108.520630,597.195374,38.820328,-1107.356934,599.437012,40.080589,-1106.560913,605.333679,-25.112724,-1136.929810,600.252197,8.052021,-1195.353638,601.370483,-1.431683,-1194.434082,598.821228,0.009876,-1196.273071,603.919678,-2.873238,-1228.345825,598.627808,13.430490,-1227.711304,596.006531,15.017685,-1227.076904,593.385254,16.604879,-1197.203125,595.522705,-4.331448,-1198.133179,587.125854,-5.789654,-1229.629517,581.978577,10.219446,-1228.987671,590.303162,11.824968,-1171.985474,581.758301,35.204716,-1145.837769,576.390747,76.199081,-1193.541260,567.531738,100.491119,-1211.585449,574.755127,55.355278,-1146.767944,585.167419,74.740875,-1147.697876,593.944092,73.282669,-1194.824951,585.118286,97.280075,-1194.183228,576.325012,98.885605,-1148.617310,591.770752,71.841110,-1149.536865,589.597412,70.399536,-1196.093994,580.965942,94.105682,-1195.459473,583.042114,95.692871,-1171.985474,594.209351,35.204708,-1211.585449,587.175598,55.355278,-1263.799561,589.402832,24.882931,-1263.476440,586.693665,26.560352,-1264.122681,592.112061,23.205511,-1306.552856,582.972290,28.262009,-1306.469116,580.181763,29.986290,-1306.385254,577.391235,31.710567,-1264.449585,583.875671,21.508717,-1264.776489,575.639343,19.811924,-1306.722290,566.663818,24.773624,-1306.637573,574.818054,26.517818,-1255.587036,566.838623,67.513680,-1246.397461,558.037964,115.215439,-1301.954956,546.564209,122.842331,-1304.338745,556.614014,73.807983,-1246.724365,566.728516,113.518646,-1247.051147,575.419128,111.821838,-1302.124512,563.707642,119.353928,-1302.039795,555.135925,121.098145,-1247.374390,573.484375,110.144409,-1247.697510,571.549561,108.466980,-1302.292236,560.091431,115.905350,-1302.208374,561.899536,117.629639,-1255.586914,579.121582,67.513672,-1304.338745,568.741333,73.807961,-1358.570679,566.965576,32.149982,-1358.555542,564.122620,33.889790,-1358.585571,569.808594,30.410175,-1417.394409,553.116943,31.097569,-1417.371704,550.241638,32.837307,-1417.348999,547.366333,34.577045,-1358.600708,561.708069,28.650280,-1358.615845,553.607544,26.890385,-1417.440308,536.983704,27.577923,-1417.417358,545.050293,29.337746,-1358.189331,542.686401,76.366257,-1357.762573,531.765259,125.842117,-1416.147827,514.027893,126.525574,-1416.794067,525.505798,77.051758,-1357.777954,540.305054,124.082214,-1357.792847,548.844788,122.322311,-1416.193726,531.137756,123.005920,-1416.170776,522.582825,124.765747,-1357.807983,547.089966,120.582504,-1357.823120,545.335083,118.842682,-1416.239136,527.641296,119.526428,-1416.216431,529.389526,121.266174,-1358.189331,554.728882,76.366241,-1416.794067,537.503784,77.051743,-1480.140015,530.497192,33.511551,-1480.126831,527.600769,35.251362,-1480.153198,533.393555,31.771746,-1545.869263,511.639435,31.794445,-1545.881958,508.736633,33.533989,-1545.894653,505.833801,35.273533,-1480.166382,525.349487,30.011850,-1480.179565,517.305359,28.251955,-1545.843628,495.566772,28.275183,-1545.856323,503.603088,30.034813,-1479.808472,505.522095,77.727722,-1479.437378,493.738861,127.203491,-1546.567261,472.137939,127.211716,-1546.205444,483.852356,77.743446,-1479.450562,502.316193,125.443588,-1479.463745,510.893524,123.683685,-1546.541382,489.338806,123.692429,-1546.554321,480.738403,125.452072,-1479.476685,509.132324,121.943878,-1479.489624,507.371094,120.204056,-1546.515991,485.744873,120.213333,-1546.528687,487.541840,121.952881,-1479.808472,517.485962,77.727707,-1546.205444,495.789337,77.743431,-1613.603882,485.964417,32.265884,-1613.657104,483.073303,34.004360,-1613.550659,488.855530,30.527405,-1682.145386,466.423767,27.356321,-1682.255249,463.565430,29.091553,-1682.364624,460.707092,30.826782,-1613.496704,480.808868,28.768852,-1613.442749,472.762207,27.010302,-1681.923706,450.267517,23.845798,-1682.034790,458.345642,25.601059,-1614.957886,461.613617,76.448196,-1616.473267,450.465027,125.886093,-1688.156128,430.109100,122.536713,-1685.039917,440.188324,73.191254,-1616.419312,459.082611,124.127533,-1616.365601,467.700226,122.368973,-1687.934692,447.380066,119.026169,-1688.045288,438.744598,120.781448,-1616.312134,465.841644,120.630493,-1616.258911,463.983093,118.892014,-1687.715698,443.486572,115.555725,-1687.825073,445.433319,117.290955,-1614.957886,473.528198,76.448189,-1685.039917,452.096832,73.191254,-1750.785034,442.924438,23.395313,-1750.967651,440.122955,25.123730,-1750.602417,445.725922,21.666897,-1817.824341,427.927979,12.895267,-1818.099487,425.204681,14.610022,-1818.374390,422.481415,16.324778,-1750.417847,437.592224,19.918524,-1750.233276,429.458527,18.170153,-1817.268433,411.503601,9.426161,-1817.546265,419.715790,11.160715,-1755.425171,420.958923,67.321899,-1760.617065,412.459320,116.473663,-1832.904663,398.014740,106.952759,-1825.086304,404.759155,58.189461,-1760.432495,421.120026,114.725296,-1760.247925,429.780731,112.976913,-1832.348511,415.377228,103.483643,-1832.626587,406.695984,105.218201,-1760.065308,427.718475,111.248505,-1759.882690,425.656250,109.520081,-1831.798706,411.040375,100.054138,-1832.073608,413.208801,101.768890,-1755.425171,432.889587,67.321907,-1825.086304,416.760895,58.189453,-1883.103394,411.569397,2.168533,-1883.492554,408.942902,3.859495,-1882.713989,414.195923,0.477573,-1944.176636,404.008728,-16.040783,-1944.704712,401.466736,-14.391178,-1945.233276,398.924744,-12.741573,-1882.320190,405.883545,-1.232906,-1881.926636,397.571198,-2.943386,-1943.108032,387.207825,-19.378059,-1943.642212,395.608276,-17.709423,-1892.996948,392.422821,45.143219,-1904.067261,387.274475,93.229820,-1973.152710,379.632080,74.442886,-1958.130249,383.419952,27.532410,-1903.673706,395.959564,91.519333,-1903.279907,404.644653,89.808846,-1972.084106,396.972900,71.105576,-1972.618530,388.302490,72.774231,-1902.890503,402.415985,88.117889,-1902.501343,400.187317,86.426926,-1971.027466,392.437927,67.806374,-1971.555786,394.705414,69.455978,-1892.996948,404.565094,45.143211,-1958.130249,395.681335,27.532402,-2001.811646,394.344849,-35.531139,-2002.506226,391.844299,-33.947880,-2001.117310,396.845398,-37.114399,-2052.635254,392.165863,-63.079540,-2053.518066,389.692993,-61.599522,-2054.401367,387.220154,-60.119503,-2000.414917,388.402771,-38.715923,-1999.712524,379.960144,-40.317448,-2050.849121,375.225159,-66.073730,-2051.742188,383.695496,-64.576645,-2019.460083,377.220551,4.706264,-2039.207642,374.480988,49.729980,-2101.070313,371.546143,18.102043,-2075.959473,373.385651,-23.985847,-2038.505249,383.116486,48.128441,-2037.802856,391.751984,46.526905,-2099.283691,388.744049,15.107832,-2100.176758,380.145081,16.604939,-2037.108521,389.442566,44.943649,-2036.413940,387.133118,43.360397,-2097.517578,384.053558,12.147800,-2098.400879,386.398804,13.627815,-2019.460083,389.488708,4.706257,-2075.959473,385.636841,-23.985851,-2098.918945,387.000458,-92.944504,-2100.008301,384.570953,-91.616501,-2097.829590,389.429932,-94.272476,-2136.228516,388.106873,-131.297745,-2137.520996,385.715759,-130.172318,-2138.812988,383.324646,-129.046921,-2096.727539,380.914917,-95.615799,-2095.625977,372.399872,-96.959106,-2133.614746,370.997040,-133.574539,-2134.921387,379.551971,-132.436142,-2126.602051,371.476196,-59.194553,-2157.578125,370.552521,-21.430000,-2207.106934,370.535248,-69.566833,-2170.360840,370.766144,-101.570694,-2156.476074,379.131836,-22.773319,-2155.374512,387.711182,-24.116638,-2204.492676,387.677185,-71.843643,-2205.799805,379.106201,-70.705231,-2154.285156,385.345551,-25.444626,-2153.195801,382.979919,-26.772610,-2201.908203,382.926880,-74.094467,-2203.200684,385.302032,-72.969055,-2126.602051,383.775421,-59.194561,-2170.360840,383.125763,-101.570694,-2168.832031,385.287537,-173.889282,-2170.302734,382.909210,-173.018753,-2167.361328,387.665863,-174.759842,-2190.638184,387.665863,-225.954391,-2192.246094,385.287537,-225.366562,-2193.854980,382.909210,-224.778793,-2165.873535,379.097656,-175.640411,-2164.386230,370.529449,-176.521011,-2187.384277,370.529449,-227.143509,-2189.011230,379.097656,-226.548935,-2206.208984,370.529480,-151.765076,-2248.032227,370.529480,-127.009140,-2278.857422,370.529480,-193.713058,-2233.120605,370.529480,-210.428299,-2246.544434,379.097656,-127.889725,-2245.056641,387.665863,-128.770325,-2275.603516,387.665863,-194.902206,-2277.230469,379.097656,-194.307617,-2243.585938,385.287537,-129.640869,-2242.115234,382.909210,-130.511398,-2272.386719,382.909241,-196.077789,-2273.995117,385.287537,-195.489990,-2206.208984,382.909210,-151.765076,-2233.120605,382.909210,-210.428299,-2207.157227,385.287537,-285.875427,-2208.845703,382.909210,-285.573853,-2205.468750,387.665863,-286.177032,-2213.443359,387.665863,-357.298492,-2215.170410,385.287537,-357.211304,-2216.897461,382.909210,-357.124146,-2203.760742,379.097656,-286.482086,-2202.052734,370.529449,-286.787140,-2209.949707,370.529449,-357.474854,-2211.696289,379.097656,-357.386658,-2250.068848,370.529480,-278.210907,-2298.084961,370.529480,-269.634674,-2308.173828,370.529480,-352.517029,-2259.062012,370.529480,-354.995941,-2296.376953,379.097687,-269.939728,-2294.668945,387.665863,-270.244812,-2304.680176,387.665863,-352.693420,-2306.427246,379.097687,-352.605225,-2292.980469,385.287537,-270.546387,-2291.291504,382.909241,-270.847961,-2301.226074,382.909241,-352.867737,-2302.953125,385.287567,-352.780579,-2250.068848,382.909241,-278.210907,-2259.061523,382.909241,-354.995941,-2217.891602,385.287537,-441.169739,-2219.631348,382.909241,-441.149963,-2216.151367,387.665863,-441.189575,-2216.716309,387.665863,-534.462036,-2218.456055,385.287537,-534.436401,-2220.195801,382.909241,-534.410889,-2214.391602,379.097656,-441.209625,-2212.631836,370.529480,-441.229675,-2213.196777,370.529480,-534.513794,-2214.956543,379.097656,-534.487915,-2262.107910,370.529480,-440.666443,-2311.584473,370.529480,-440.103210,-2312.145020,370.529480,-533.059692,-2262.670898,370.529480,-533.786743,-2309.824707,379.097687,-440.123230,-2308.064453,387.665894,-440.143250,-2308.625488,387.665894,-533.111328,-2310.385254,379.097687,-533.085510,-2306.324707,385.287567,-440.163055,-2304.584961,382.909241,-440.182861,-2305.145996,382.909241,-533.162476,-2306.885742,385.287567,-533.136963,-2262.107910,382.909241,-440.666443,-2262.670898,382.909241,-533.786621,-2220.000488,385.287567,-633.696960,-2221.740234,382.909241,-633.666443,-2218.260742,387.665863,-633.727539,-2220.133301,387.665894,-737.851746,-2221.873047,385.287567,-737.821899,-2223.612793,382.909241,-737.791992,-2216.500977,379.097687,-633.758423,-2214.741699,370.529480,-633.789368,-2216.613770,370.529480,-737.912292,-2218.373535,379.097687,-737.882080,-2264.213867,370.529480,-632.921143,-2313.685547,370.529480,-632.052856,-2315.557129,370.529480,-736.213501,-2266.085449,370.529480,-737.062866,-2311.925781,379.097687,-632.083740,-2310.166016,387.665894,-632.114624,-2312.037598,387.665894,-736.273926,-2313.797363,379.097687,-736.243774,-2308.426270,385.287567,-632.145142,-2306.686523,382.909241,-632.175659,-2308.558105,382.909241,-736.333679,-2310.297852,385.287567,-736.303833,-2264.213379,382.909241,-632.921021,-2266.085449,382.909241,-737.062866,-2223.420898,385.287567,-845.681702,-2225.160645,382.909241,-845.662964,-2221.681152,387.665894,-845.700439,-2222.231445,387.665894,-956.281372,-2223.971191,385.287567,-956.283813,-2225.710449,382.909241,-956.286316,-2219.921387,379.097687,-845.719482,-2218.161133,370.529480,-845.738464,-2218.711426,370.529480,-956.276489,-2220.471680,379.097687,-956.278931,-2267.636230,370.529480,-845.205383,-2317.111328,370.529480,-844.672363,-2317.659180,370.529510,-956.416992,-2268.185547,370.529480,-956.346680,-2315.351074,379.097687,-844.691284,-2313.591309,387.665894,-844.710205,-2314.139160,387.665894,-956.411926,-2315.899414,379.097687,-956.414429,-2311.851563,385.287567,-844.729004,-2310.111816,382.909271,-844.747742,-2310.660156,382.909271,-956.406982,-2312.399414,385.287567,-956.409485,-2267.636230,382.909241,-845.205322,-2268.185547,382.909241,-956.346680,-2222.850586,385.287567,-1068.635742,-2224.589355,382.909241,-1068.669189,-2221.111328,387.665894,-1068.602295,-2217.657715,387.665894,-1181.646484,-2219.395508,385.287567,-1181.721191,-2221.132813,382.909271,-1181.795898,-2219.351563,379.097687,-1068.568604,-2217.592285,370.529480,-1068.534790,-2214.142090,370.529510,-1181.495483,-2215.899902,379.097687,-1181.571045,-2267.052734,370.529510,-1069.484863,-2316.513184,370.529510,-1070.435059,-2312.973633,370.529510,-1185.742188,-2263.557617,370.529510,-1183.618774,-2314.753418,379.097717,-1070.401245,-2312.994141,387.665894,-1070.367432,-2309.457520,387.665924,-1185.591064,-2311.215820,379.097717,-1185.666504,-2311.254883,385.287598,-1070.333984,-2309.515625,382.909271,-1070.300659,-2305.982422,382.909271,-1185.441650,-2307.720215,385.287598,-1185.516357,-2267.052734,382.909271,-1069.484863,-2263.557617,382.909271,-1183.618896,-2212.942383,385.287598,-1294.524170,-2214.676758,382.909271,-1294.650879,-2211.208008,387.665894,-1294.397217,-2201.118652,387.665894,-1405.817383,-2202.846680,385.287598,-1406.008545,-2204.574707,382.909271,-1406.199829,-2209.453613,379.097717,-1294.269043,-2207.699219,370.529510,-1294.140625,-2197.623047,370.529510,-1405.430420,-2199.370605,379.097717,-1405.624023,-2257.020020,370.529510,-1297.747192,-2306.341309,370.529510,-1301.353760,-2295.896484,370.529510,-1416.305908,-2246.759766,370.529510,-1410.868164,-2304.586914,379.097717,-1301.225464,-2302.832520,387.665924,-1301.097168,-2292.400391,387.665924,-1415.919189,-2294.148438,379.097717,-1416.112549,-2301.098145,385.287598,-1300.970459,-2299.363770,382.909271,-1300.843506,-2288.944824,382.909271,-1415.536621,-2290.672852,385.287598,-1415.728027,-2257.020020,382.909271,-1297.747314,-2246.759766,382.909271,-1410.868408,-2188.462891,385.287598,-1515.139038,-2190.179688,382.909271,-1515.408203,-2186.746094,387.665924,-1514.869873,-2167.485840,387.665924,-1620.502808,-2169.184082,385.287598,-1620.865479,-2170.882324,382.909271,-1621.228027,-2185.009277,379.097717,-1514.597656,-2183.272461,370.529510,-1514.325317,-2164.049316,370.529510,-1619.769287,-2165.767578,379.097717,-1620.136108,-2232.095703,370.529510,-1521.979980,-2280.919434,370.529541,-1529.634766,-2260.647461,370.529541,-1640.393311,-2212.348633,370.529510,-1630.081299,-2279.182617,379.097717,-1529.362427,-2277.445801,387.665924,-1529.090210,-2257.211426,387.665924,-1639.659668,-2258.929199,379.097717,-1640.026367,-2275.729004,385.287598,-1528.821045,-2274.012207,382.909271,-1528.551758,-2253.814453,382.909302,-1638.934448,-2255.512695,385.287598,-1639.296997,-2232.095703,382.909271,-1521.980103,-2212.348145,382.909271,-1630.081299,-2144.403320,385.287598,-1722.137939,-2146.072754,382.909271,-1722.611328,-2142.733398,387.665924,-1721.664551,-2111.952148,387.665924,-1817.328369,-2113.577148,385.287598,-1817.930786,-2115.202148,382.909271,-1818.533447,-2141.044434,379.097717,-1721.185547,-2139.355469,370.529510,-1720.706665,-2108.664063,370.529510,-1816.109131,-2110.308105,379.097717,-1816.718750,-2186.836914,370.529510,-1734.170654,-2234.318848,370.529541,-1747.634644,-2201.099121,370.529541,-1850.383789,-2154.881348,370.529510,-1833.246460,-2232.629395,379.097717,-1747.155762,-2230.940918,387.665924,-1746.676758,-2197.810547,387.665924,-1849.164673,-2199.454590,379.097748,-1849.774170,-2229.270996,385.287598,-1746.203369,-2227.601563,382.909302,-1745.729858,-2194.560547,382.909302,-1847.959229,-2196.185547,385.287628,-1848.562012,-2186.836914,382.909271,-1734.170654,-2154.881348,382.909302,-1833.246460,-2076.163086,385.287598,-1907.218628,-2077.723145,382.909271,-1907.969727,-2074.603516,387.665924,-1906.467651,-2030.197144,387.665924,-1988.188843,-2031.662964,385.287598,-1989.103516,-2033.128784,382.909302,-1990.018188,-2073.025879,379.097717,-1905.707886,-2071.448242,370.529510,-1904.948120,-2027.231567,370.529510,-1986.338257,-2028.714233,379.097717,-1987.263672,-2115.801270,370.529541,-1926.306763,-2160.154297,370.529541,-1947.665283,-2110.600586,370.529541,-2038.362305,-2068.916016,370.529541,-2012.350220,-2158.576172,379.097748,-1946.905518,-2156.998535,387.665924,-1946.145996,-2107.635254,387.665955,-2036.511719,-2109.117676,379.097748,-2037.436768,-2155.438965,385.287628,-1945.394775,-2153.879395,382.909302,-1944.643799,-2104.703125,382.909302,-2034.682129,-2106.168945,385.287628,-2035.596924,-2115.801270,382.909302,-1926.306763,-2068.916016,382.909302,-2012.350220,-1979.577759,385.287598,-2062.687500,-1980.914429,382.909302,-2063.776855,-1978.241089,387.665924,-2061.598145,-1915.552856,387.665924,-2125.793457,-1916.703979,385.287598,-2127.063965,-1917.855103,382.909302,-2128.334717,-1976.889038,379.097717,-2060.496094,-1975.537231,370.529510,-2059.394043,-1913.224243,370.529510,-2123.222656,-1914.388550,379.097717,-2124.507813,-2013.545776,370.529541,-2090.375488,-2051.554199,370.529541,-2121.356934,-1978.691772,370.529541,-2195.493164,-1945.958130,370.529541,-2159.357910,-2050.202148,379.097748,-2120.254883,-2048.850586,387.665955,-2119.152832,-1976.363159,387.665955,-2192.922363,-1977.527466,379.097748,-2194.207764,-2047.513550,385.287628,-2118.063477,-2046.177124,382.909302,-2116.974121,-1974.060913,382.909302,-2190.380859,-1975.212036,385.287628,-2191.651611,-2013.545776,382.909302,-2090.375488,-1945.958130,382.909302,-2159.357910,-1839.837769,385.287598,-2181.326172,-1840.726440,382.909302,-2182.780029,-1838.949097,387.665924,-2179.872559,-1741.214233,387.665924,-2224.559326,-1741.833374,385.287598,-2226.161621,-1742.452271,382.909271,-2227.764404,-1838.050415,379.097717,-2178.401855,-1837.151733,370.529510,-2176.931396,-1739.962036,370.529510,-2221.317383,-1740.588013,379.097717,-2222.938232,-1862.420532,370.529541,-2218.272461,-1887.689331,370.529541,-2259.613770,-1775.168579,370.529541,-2312.458984,-1757.565308,370.529541,-2266.888184,-1886.790405,379.097748,-2258.143311,-1885.891968,387.665955,-2256.672852,-1773.916382,387.665924,-2309.217285,-1774.542358,379.097748,-2310.838135,-1885.003296,385.287628,-2255.218750,-1884.114624,382.909302,-2253.765137,-1772.678345,382.909302,-2306.011963,-1773.297241,385.287628,-2307.614746,-1862.420532,382.909302,-2218.272461,-1757.565308,382.909302,-2266.888184,-1615.544800,385.287598,-2262.258301,-1615.956909,382.909271,-2263.939209,-1615.132202,387.665924,-2260.577637,-1464.263062,387.665924,-2287.781494,-1464.520386,385.287598,-2289.496338,-1464.777222,382.909271,-2291.211426,-1614.715210,379.097717,-2258.877441,-1614.298218,370.529510,-2257.177490,-1463.743286,370.529510,-2284.312012,-1464.003296,379.097717,-2286.046631,-1626.024536,370.529541,-2304.973145,-1637.750854,370.529541,-2352.769043,-1478.362671,370.529541,-2381.848389,-1471.053101,370.529510,-2333.080322,-1637.333862,379.097748,-2351.068848,-1636.916870,387.665924,-2349.368652,-1477.842651,387.665924,-2378.378906,-1478.102661,379.097717,-2380.113770,-1636.504272,385.287628,-2347.687988,-1636.092163,382.909302,-2346.007080,-1477.328735,382.909302,-2374.949219,-1477.585571,385.287598,-2376.664063,-1626.024536,382.909302,-2304.973145,-1471.053101,382.909271,-2333.080078,-1292.308228,385.287598,-2307.756348,-1292.449829,382.909271,-2309.487793,-1292.166626,387.665894,-2306.024902,-1102.709229,387.665894,-2315.699463,-1102.763306,385.287567,-2317.436768,-1102.817383,382.909271,-2319.173828,-1292.023560,379.097717,-2304.273193,-1291.880371,370.529510,-2302.521973,-1102.599854,370.529510,-2312.185059,-1102.654541,379.097717,-2313.942139,-1295.905396,370.529510,-2351.762207,-1299.930298,370.529510,-2401.002686,-1105.675903,370.529510,-2410.990234,-1104.137817,370.529510,-2361.587402,-1299.786987,379.097717,-2399.251221,-1299.643921,387.665924,-2397.499512,-1105.566284,387.665924,-2407.475586,-1105.621094,379.097717,-2409.233154,-1299.502319,385.287598,-2395.768066,-1299.360962,382.909271,-2394.036621,-1105.458374,382.909271,-2404.001221,-1105.512329,385.287598,-2405.738281,-1295.905273,382.909271,-2351.762207,-1104.137817,382.909271,-2361.587402,-899.740234,385.287567,-2318.936035,-899.723145,382.909241,-2320.674805,-899.757324,387.665894,-2317.197266,-686.994629,387.665894,-2311.051514,-686.917847,385.287567,-2312.788818,-686.841064,382.909241,-2314.526123,-899.774536,379.097687,-2315.438477,-899.791870,370.529480,-2313.679688,-687.149780,370.529480,-2307.536621,-687.072144,379.097687,-2309.294189,-899.306763,370.529510,-2363.124756,-898.821655,370.529510,-2412.569824,-682.784058,370.529480,-2406.347412,-684.966919,370.529480,-2356.941895,-898.838867,379.097717,-2410.811035,-898.856079,387.665894,-2409.052246,-682.939331,387.665894,-2402.832520,-682.861694,379.097687,-2404.589844,-898.873169,385.287598,-2407.313477,-898.890259,382.909271,-2405.574707,-683.092896,382.909241,-2399.357910,-683.016113,385.287567,-2401.095215,-899.306763,382.909271,-2363.124756,-684.966919,382.909241,-2356.941895,-467.974854,385.287537,-2299.529785,-467.844971,382.909241,-2301.264160,-468.104858,387.665863,-2297.795410,-246.710205,387.661224,-2277.992676,-246.531250,385.285217,-2279.722656,-246.352295,382.909210,-2281.452637,-468.236206,379.097656,-2296.041016,-468.367554,370.529480,-2294.286621,-247.072327,370.507538,-2274.492676,-246.891235,379.084381,-2276.242676,-464.673706,370.529480,-2343.607910,-460.979736,370.529480,-2392.929199,-236.894043,370.529480,-2372.888672,-241.983154,370.518494,-2323.690674,-461.111084,379.097687,-2391.174805,-461.242554,387.665894,-2389.420410,-237.256104,387.665863,-2369.388672,-237.075073,379.097656,-2371.138672,-461.372437,385.287567,-2387.686035,-461.502319,382.909241,-2385.951660,-237.614075,382.909241,-2365.928711,-237.435059,385.287567,-2367.658691,-464.673706,382.909241,-2343.607910,-241.983154,382.909241,-2323.690430,-26.206665,385.278290,-2253.931152,-25.980225,382.909210,-2255.655762,-26.433105,387.647339,-2252.206543,189.107056,384.290344,-2221.017090,189.381836,381.966339,-2222.734375,189.656616,379.642365,-2224.451904,-26.662109,379.044556,-2250.462402,-26.891174,370.441772,-2248.717773,188.551147,366.914001,-2217.542725,188.829102,375.602173,-2219.279785,-20.451843,370.485626,-2297.758789,-14.012451,370.529480,-2346.799316,204.179749,368.314178,-2315.218018,196.365417,367.614075,-2266.380371,-14.241455,379.097656,-2345.055176,-14.470581,387.665863,-2343.310547,203.623810,385.537476,-2311.743652,203.901825,376.925842,-2313.480957,-14.697021,385.287537,-2341.585938,-14.923462,382.909210,-2339.861816,203.074219,380.713379,-2308.309082,203.349030,383.125427,-2310.026367,-20.451843,382.909210,-2297.758545,196.365417,380.177887,-2266.380371,396.616974,372.049103,-2186.711426,396.943420,369.841797,-2188.419678,396.290527,374.256378,-2185.003418,591.458191,358.045807,-2144.774902,591.843506,355.972595,-2146.470215,592.228821,353.899414,-2148.165771,395.960297,365.381195,-2183.275391,395.630066,356.505981,-2181.547607,590.678650,339.874054,-2141.344971,591.068420,348.959930,-2143.060059,404.913574,359.087158,-2230.124268,414.197083,361.668365,-2278.700928,612.593994,349.473938,-2237.772217,601.636353,344.673981,-2189.558594,413.866882,370.410370,-2276.973145,413.536621,379.152374,-2275.245117,611.814453,367.276154,-2234.342285,612.204224,358.375031,-2236.057373,413.210175,376.639160,-2273.537109,412.883728,374.125916,-2271.828613,611.043823,362.002563,-2230.951416,611.429138,364.639343,-2232.646973,404.913574,371.983856,-2230.124268,601.636353,357.950989,-2189.558594,771.406311,334.182983,-2102.619141,771.861633,332.206970,-2104.296875,770.950989,336.158997,-2100.941895,930.940186,311.721069,-2054.253662,931.486938,309.812012,-2055.901367,932.033691,307.902985,-2057.548828,770.490479,326.916748,-2099.245117,770.029907,317.674438,-2097.548096,929.834106,293.016785,-2050.920654,930.387146,302.368927,-2052.587158,782.977417,324.143677,-2145.252197,795.924927,330.612946,-2192.956055,960.929321,308.341431,-2144.625000,945.381714,300.679108,-2097.772949,795.464355,339.643646,-2191.259277,795.003784,348.674316,-2189.562500,959.823242,326.600708,-2141.291992,960.376282,317.471069,-2142.958496,794.548523,345.936737,-2187.884766,794.093201,343.199158,-2186.207275,958.729736,320.971497,-2137.996582,959.276489,323.786102,-2139.644287,782.977417,337.703064,-2145.251953,945.381714,314.437256,-2097.772705,1068.266968,285.991516,-2007.059326,1068.937012,284.126007,-2008.658081,1067.596924,287.857025,-2005.460693,1181.094238,265.718201,-1954.922852,1181.896606,263.878540,-1956.460205,1182.698975,262.038879,-1957.997559,1066.919312,278.433838,-2003.843506,1066.241577,269.010681,-2002.226440,1179.470947,246.788147,-1951.812622,1180.282471,256.253174,-1953.367676,1085.294067,277.463135,-2047.688965,1104.346558,285.915588,-2093.151855,1225.107422,264.662781,-2039.250244,1202.289185,255.725464,-1995.531372,1103.668945,295.112305,-2091.534668,1102.991211,304.309082,-2089.917480,1223.484131,283.141846,-2036.140137,1224.295776,273.902313,-2037.695313,1102.321167,301.442200,-2088.318848,1101.651123,298.575317,-2086.720215,1221.879272,277.341400,-2033.065430,1222.681641,280.241638,-2034.602539,1085.294067,291.350647,-2047.688965,1202.289185,269.690125,-1995.531372,1272.526001,244.630157,-1904.470093,1273.447388,242.804474,-1905.940063,1271.604736,246.455856,-1903.000000,1348.509888,228.835876,-1849.664307,1349.526123,227.015366,-1851.072998,1350.542480,225.194839,-1852.481689,1270.672607,236.968536,-1901.512939,1269.740723,227.481201,-1900.026001,1346.453735,209.845612,-1846.814209,1347.481812,219.340744,-1848.239136,1295.941650,236.695847,-1941.830078,1322.142578,245.910492,-1983.634277,1404.258667,228.525360,-1926.936279,1375.356201,219.185486,-1886.875244,1321.210693,255.176025,-1982.147339,1320.278564,264.441528,-1980.660400,1402.202393,247.084045,-1924.086426,1403.230591,237.804688,-1925.511353,1319.357300,261.521057,-1979.190308,1318.435913,258.600525,-1977.720215,1400.169800,241.221436,-1921.268799,1401.186157,244.152725,-1922.677612,1295.941650,250.702499,-1941.830078,1375.356201,233.208145,-1886.875244,1422.268066,209.803101,-1796.252930,1423.344971,207.982056,-1797.618408,1421.191162,211.624130,-1794.887451,1489.567017,195.029617,-1739.240234,1490.689209,193.202866,-1740.568237,1491.811523,191.376129,-1741.896362,1420.101807,202.130661,-1793.506104,1419.012451,192.637177,-1792.124878,1487.296631,176.068604,-1736.553223,1488.431763,185.549118,-1737.896606,1449.637329,202.005554,-1830.956787,1480.262085,211.373947,-1869.788696,1551.124634,194.686111,-1812.093384,1519.210693,185.377365,-1774.323242,1479.172729,220.659607,-1868.407471,1478.083374,229.945267,-1867.026123,1548.854248,213.250687,-1809.406372,1549.989380,203.968399,-1810.750000,1477.006348,227.008987,-1865.660645,1475.929565,224.072708,-1864.295044,1546.609741,207.378891,-1806.750000,1547.731934,210.314789,-1808.078125,1449.637207,216.027390,-1830.956665,1519.210693,199.377518,-1774.323242,1554.727173,177.424179,-1684.577271,1555.898682,175.587067,-1685.861816,1553.555664,179.261307,-1683.292725,1612.605591,164.493896,-1627.361328,1613.831177,162.642395,-1628.593506,1615.056885,160.790909,-1629.825928,1552.370605,169.806976,-1681.993408,1551.185547,160.352646,-1680.694092,1610.125977,145.658173,-1624.868530,1611.365723,155.076035,-1626.114868,1584.501831,169.522186,-1717.223389,1617.818115,178.691727,-1753.752563,1679.836548,163.581955,-1694.952759,1644.981201,154.620056,-1659.910645,1616.633057,187.958710,-1752.453247,1615.447876,197.225693,-1751.153809,1677.356689,182.066559,-1692.459717,1678.596680,172.824265,-1693.706421,1614.276367,194.295044,-1749.869263,1613.104736,191.364395,-1748.584717,1674.905518,176.224228,-1689.995361,1676.131104,179.145401,-1691.227539,1584.501831,183.475739,-1717.223267,1644.981201,168.507568,-1659.910645,1667.450439,149.032883,-1572.930664,1668.735962,147.163651,-1574.099731,1666.165039,150.902084,-1571.761719,1713.692627,138.565308,-1516.864990,1715.043945,136.675812,-1517.955200,1716.395264,134.786331,-1519.045410,1664.864746,141.528061,-1570.579346,1663.564453,132.154037,-1569.396973,1710.958984,119.916565,-1514.659546,1712.325806,129.240936,-1515.762207,1700.119141,140.851028,-1602.638916,1736.673828,149.548019,-1635.880737,1787.812500,136.692398,-1576.664673,1749.385742,128.304489,-1545.662109,1735.373535,158.758804,-1634.698486,1734.073242,167.969589,-1633.515869,1785.078735,155.039581,-1574.459229,1786.445679,145.865997,-1575.561890,1732.787720,165.061508,-1632.346924,1731.502319,162.153397,-1631.177979,1782.376099,149.255157,-1572.278687,1783.727417,152.147385,-1573.368896,1700.119141,154.658524,-1602.638794,1749.385620,142.020752,-1545.662109,1756.070313,125.651489,-1464.033569,1757.494019,123.739960,-1465.025146,1754.646729,127.563019,-1463.041992,1788.553101,117.879852,-1410.758179,1790.053467,115.945343,-1411.623291,1791.553833,114.010803,-1412.488525,1753.206665,118.292572,-1462.039063,1751.766724,109.022125,-1461.036011,1785.517822,99.453644,-1409.008179,1787.035400,108.666779,-1409.883301,1792.250854,117.069855,-1489.234375,1832.734985,125.117584,-1517.432495,1870.851929,114.832550,-1458.210327,1828.184937,107.143097,-1433.609253,1831.294922,134.249451,-1516.429443,1829.854858,143.381317,-1515.426514,1867.816406,133.004639,-1456.460205,1869.334106,123.918610,-1457.335205,1828.431152,140.507050,-1514.434937,1827.007568,137.632767,-1513.443359,1864.815674,127.294556,-1454.729980,1866.316040,130.149597,-1455.595093,1792.250732,130.686371,-1489.234131,1828.184692,120.652679,-1433.609131,1816.517090,107.542816,-1361.181763,1818.096558,105.585052,-1361.884521,1814.937622,109.500580,-1360.479126,1833.568604,102.313202,-1312.697021,1835.218140,100.332550,-1313.192383,1836.867798,98.351837,-1313.687866,1813.339966,100.347351,-1359.768311,1811.742432,91.194092,-1359.057495,1830.231567,84.130371,-1311.694824,1831.900024,93.221802,-1312.195923,1856.658081,98.520233,-1379.040771,1901.573853,105.846344,-1399.024048,1924.049927,98.063599,-1339.870483,1877.140747,91.096985,-1325.782715,1899.976074,114.882843,-1398.313232,1898.378296,123.919342,-1397.602417,1920.712769,116.030548,-1338.868286,1922.381348,107.047089,-1339.369385,1896.798828,121.084106,-1396.899658,1895.219482,118.248840,-1396.197021,1917.413696,110.399689,-1337.877441,1919.063110,113.215118,-1338.372925,1856.657959,111.916962,-1379.040771,1877.140747,104.375763,-1325.782715,1845.913696,94.203064,-1268.138428,1847.613159,92.200287,-1268.372681,1844.214233,96.205841,-1267.904419,1846.923218,90.948822,-1226.089355,1848.630249,88.919342,-1226.018311,1850.337402,86.889862,-1225.947144,1842.495239,87.177643,-1267.667603,1840.776367,78.149445,-1267.430786,1843.469727,73.019653,-1226.232910,1845.196411,81.984222,-1226.161133,1889.102905,84.769196,-1274.088623,1937.429565,91.388977,-1280.746582,1940.560059,85.582825,-1222.192871,1892.014771,79.301239,-1224.212891,1935.710571,100.316193,-1280.509766,1933.991577,109.243378,-1280.272949,1937.106567,103.308594,-1222.336548,1938.833252,94.445709,-1222.264648,1932.292114,106.447266,-1280.038818,1930.592651,103.651093,-1279.804688,1933.692261,97.754425,-1222.478516,1935.399292,100.531525,-1222.407471,1889.102905,97.925690,-1274.088623,1892.014771,92.322113,-1224.212891,1843.394653,84.246338,-1186.829590,1845.045288,82.180084,-1186.419434,1841.743774,86.312592,-1187.239502,1828.085083,82.010986,-1150.600708,1829.617798,79.900116,-1149.856201,1831.150391,77.789276,-1149.111572,1840.074097,77.410980,-1187.654297,1838.404419,68.509369,-1188.069092,1824.984741,64.328339,-1152.107300,1826.534912,73.169678,-1151.354004,1885.346558,74.457397,-1176.409302,1932.288818,80.405396,-1164.749756,1912.152222,75.518097,-1109.756348,1868.568481,69.923248,-1130.931885,1930.619019,89.191193,-1165.164429,1928.949341,97.976959,-1165.579224,1909.051636,92.923462,-1111.262939,1910.601929,84.220795,-1110.509521,1927.298584,95.218933,-1165.989258,1925.647827,92.460907,-1166.399170,1905.986328,87.448120,-1112.752075,1907.518921,90.185791,-1112.007568,1885.346558,87.320496,-1176.409424,1868.568359,82.618683,-1130.931885,1806.711182,75.596771,-1114.381836,1808.066284,73.435638,-1113.345215,1805.356079,77.757904,-1115.418579,1773.476318,73.574799,-1082.417725,1774.613647,71.363495,-1081.139526,1775.750854,69.152161,-1079.861328,1803.985352,68.972107,-1116.467285,1802.614624,60.186310,-1117.516113,1771.175415,56.103790,-1085.003662,1772.325928,64.839294,-1083.710693,1841.150513,65.384308,-1088.033936,1879.686401,70.582306,-1058.551758,1835.859619,65.323242,-1012.304199,1803.517578,60.713531,-1048.654053,1878.315674,79.202667,-1059.600342,1876.944946,87.823029,-1060.649170,1833.558716,82.422943,-1014.890259,1834.709229,73.873077,-1013.597168,1875.589722,85.108368,-1061.685913,1874.234741,82.393707,-1062.722656,1831.284180,77.082916,-1017.446655,1832.421387,79.752930,-1016.168457,1841.150513,77.914642,-1088.033936,1803.517578,73.117523,-1048.654053,1733.264160,67.227509,-1050.861816,1734.162476,64.971771,-1049.400757,1732.365845,69.483246,-1052.322754,1687.685059,65.898956,-1028.908691,1688.308594,63.604919,-1027.317017,1688.932129,61.310883,-1025.725342,1731.457153,60.792267,-1053.800781,1730.548462,52.101318,-1055.278564,1686.423584,48.593750,-1032.128906,1687.054321,57.246368,-1030.518799,1756.094238,55.783813,-1013.730469,1781.640015,59.466309,-972.182190,1721.886963,53.853577,-941.600159,1704.155273,51.223633,-986.864563,1780.731323,67.968323,-973.660156,1779.822632,76.470367,-975.138000,1720.625488,70.821411,-944.820313,1721.256348,62.337463,-943.210266,1778.924316,73.885712,-976.598999,1778.026001,71.301025,-978.060059,1719.378540,65.828674,-948.003784,1720.001953,68.325043,-946.412048,1756.094238,68.136383,-1013.730469,1704.155273,63.569763,-986.864502,1645.392822,60.911835,-1014.273315,1645.691162,58.586029,-1012.596436,1645.094482,63.237640,-1015.950195,1604.113525,61.279053,-1012.262207,1604.078125,58.928894,-1010.552856,1604.042847,56.578705,-1008.843384,1644.792725,54.616821,-1017.646240,1644.490845,45.996002,-1019.342529,1604.185059,44.086273,-1015.720703,1604.149292,52.682678,-1013.991455,1652.975586,47.661560,-971.657593,1661.460205,49.327148,-923.972656,1602.174805,45.850739,-918.496521,1603.179932,44.968475,-967.108582,1661.158325,57.829590,-925.668823,1660.856445,66.332062,-927.364990,1602.246216,62.918152,-921.954834,1602.210449,54.384430,-920.225647,1660.558105,63.889221,-929.041809,1660.259766,61.446381,-930.718628,1602.316895,58.093811,-925.373657,1602.281494,60.505981,-923.664185,1652.975464,60.016174,-971.657532,1603.179810,57.336243,-967.108521,1563.926147,57.436859,-1014.977661,1563.590454,55.070557,-1013.295044,1564.261963,59.803192,-1016.660156,1524.699463,58.877228,-1028.088257,1524.116333,56.501923,-1026.465088,1523.533203,54.126587,-1024.841797,1564.601563,51.222931,-1018.362183,1564.941162,42.642670,-1020.064209,1525.879395,41.734802,-1031.372314,1525.289429,50.306030,-1029.730225,1555.393555,43.015350,-972.216370,1545.845947,43.388031,-924.368652,1492.711670,41.921143,-939.049683,1509.295410,41.827972,-985.210938,1546.185547,51.941772,-926.070557,1546.525269,60.495544,-927.772583,1493.891479,59.050323,-942.333618,1493.301514,50.485718,-940.691589,1546.860962,58.103027,-929.455139,1547.196777,55.710510,-931.137695,1495.057861,54.286560,-945.580078,1494.474609,56.668457,-943.956848,1555.393555,55.390533,-972.216309,1509.295410,54.206543,-985.210938,1483.828369,56.190247,-1043.932495,1483.070313,53.811920,-1042.373901,1484.586304,58.568573,-1045.491089,1443.818726,58.568573,-1067.506104,1442.950317,56.190247,-1066.002197,1442.081909,53.811920,-1064.498291,1485.353027,50.000397,-1047.067627,1486.119751,41.432190,-1048.644287,1445.575684,41.432190,-1070.548828,1444.697266,50.000397,-1069.027588,1464.564453,41.432190,-1004.322144,1443.009277,41.432190,-960.000183,1396.183228,41.432190,-985.011963,1420.879395,41.432220,-1027.780273,1443.776001,50.000366,-961.576660,1444.542725,58.568573,-963.153198,1397.940186,58.568542,-988.054382,1397.061768,50.000366,-986.533203,1445.300781,56.190247,-964.711792,1446.058716,53.811920,-966.270386,1399.677124,53.811920,-991.062256,1398.808594,56.190247,-989.558350,1464.564453,53.811890,-1004.322144,1420.879517,53.811920,-1027.780273,1401.370728,56.190247,-1091.296509,1400.447998,53.811920,-1089.821777,1402.293457,58.568573,-1092.771240,1359.757446,58.568573,-1119.579102,1358.833984,56.190247,-1118.105469,1357.910400,53.811920,-1116.632080,1403.226807,50.000397,-1094.263184,1404.160156,41.432190,-1095.754883,1361.625732,41.432190,-1122.559937,1360.691650,50.000397,-1121.069458,1377.919189,41.432190,-1053.815796,1351.678223,41.432190,-1011.876709,1309.099854,41.432190,-1038.756836,1335.362793,41.432190,-1080.658447,1352.611572,50.000397,-1013.368408,1353.545044,58.568573,-1014.860107,1310.968384,58.568573,-1041.737671,1310.034180,50.000397,-1040.247314,1354.467773,56.190277,-1016.334961,1355.390625,53.811951,-1017.809814,1312.815430,53.811951,-1044.684692,1311.891846,56.190277,-1043.211182,1377.919189,53.811920,-1053.815674,1335.362915,53.811920,-1080.658447,1315.084473,56.190247,-1144.719727,1314.211182,53.811920,-1143.217407,1315.957886,58.568573,-1146.222168,1270.313965,58.568573,-1170.753296,1269.551636,56.190277,-1169.198486,1268.789307,53.811951,-1167.643799,1316.841309,50.000397,-1147.741821,1317.724609,41.432190,-1149.261475,1271.856201,41.432190,-1173.898682,1271.085083,50.000397,-1172.326050,1292.889526,41.432190,-1106.538330,1268.054443,41.432190,-1063.814941,1228.500122,41.432190,-1085.472046,1250.178101,41.432190,-1129.685425,1268.937744,50.000397,-1065.334717,1269.821167,58.568573,-1066.854370,1230.042236,58.568573,-1088.617432,1229.271240,50.000397,-1087.044678,1270.694580,56.190277,-1068.356689,1271.567871,53.811951,-1069.859131,1231.566895,53.811951,-1091.727051,1230.804565,56.190277,-1090.172119,1292.889526,53.811920,-1106.538330,1250.178101,53.811920,-1129.685425,1221.664185,56.190277,-1189.601318,1221.083496,53.811951,-1187.977295,1222.244873,58.568573,-1191.225220,1171.402100,58.568573,-1205.135620,1171.074951,56.190277,-1203.453369,1170.747559,53.811951,-1201.771240,1222.832153,50.000397,-1192.867920,1223.419434,41.432190,-1194.510620,1172.064209,41.432190,-1208.538940,1171.733276,50.000397,-1206.837280,1206.907715,41.432190,-1148.329712,1190.395752,41.432190,-1102.148804,1153.449951,41.432190,-1112.864014,1162.757080,41.432190,-1160.701416,1190.983154,50.000397,-1103.791504,1191.570313,58.568573,-1105.434204,1154.112061,58.568604,-1116.267212,1153.781006,50.000397,-1114.565674,1192.151001,56.190277,-1107.058105,1192.731689,53.811951,-1108.682129,1154.766602,53.811951,-1119.631592,1154.439331,56.190277,-1117.949463,1206.907593,53.811951,-1148.329712,1162.757080,53.811951,-1160.701416,1117.436523,56.190277,-1208.280518,1117.435303,53.811951,-1206.578735,1117.437744,58.568573,-1209.982422,1061.254761,58.568604,-1203.571777,1061.605957,56.190277,-1201.905029,1061.957275,53.811951,-1200.238281,1117.438965,50.000397,-1211.703857,1117.440186,41.432190,-1213.425293,1060.544189,41.432190,-1206.943604,1060.899536,50.000397,-1205.257690,1117.405762,41.432190,-1165.030762,1117.371338,41.432190,-1116.636230,1080.520264,41.432190,-1112.151611,1070.532227,41.432190,-1159.547607,1117.372559,50.000397,-1118.357666,1117.373779,58.568604,-1120.079102,1079.809814,58.568604,-1115.523438,1080.165039,50.000397,-1113.837524,1117.375000,56.190277,-1121.780884,1117.376221,53.811951,-1123.482666,1079.107178,53.811951,-1118.856812,1079.458496,56.190277,-1117.190186,1117.405762,53.811951,-1165.030762,1070.532227,53.811951,-1159.547607,1004.440674,56.190277,-1182.149414,1005.124390,53.811951,-1180.588623,1003.757019,58.568604,-1183.710205,945.871338,58.568604,-1149.728271,946.847656,56.190277,-1148.323853,947.823975,53.811951,-1146.919434,1003.065491,50.000397,-1185.289063,1002.373962,41.432190,-1186.867920,943.896179,41.432190,-1152.569580,944.883789,50.000397,-1151.148926,1021.815308,41.432190,-1142.482056,1041.256592,41.432190,-1098.096313,999.423523,41.432220,-1072.693970,971.659851,41.432190,-1112.631714,1040.565186,50.000397,-1099.675171,1039.873535,58.568604,-1101.254028,997.448425,58.568604,-1075.535156,998.435974,50.000397,-1074.114502,1039.189941,56.190277,-1102.814941,1038.506226,53.811951,-1104.375732,995.495728,53.811981,-1078.343994,996.472046,56.190277,-1076.939697,1021.815308,53.811951,-1142.482056,971.659851,53.811981,-1112.631714,889.734131,56.190277,-1099.738770,890.943542,53.811951,-1098.521118,888.524658,58.568604,-1100.956421,838.643677,58.568604,-1041.698242,840.044678,56.190277,-1040.730957,841.445679,53.811981,-1039.763672,887.301270,50.000397,-1102.188110,886.077881,41.432190,-1103.419678,835.809265,41.432220,-1043.655151,837.226440,50.000397,-1042.676758,920.470886,41.432190,-1068.793945,954.863892,41.432220,-1034.168091,915.491821,41.432190,-988.640991,875.650513,41.432220,-1016.148071,953.640503,50.000397,-1035.399780,952.417114,58.568634,-1036.631348,912.657349,58.568604,-990.597778,914.074585,50.000366,-989.619385,951.207642,56.190277,-1037.849121,949.998230,53.811981,-1039.066650,909.855347,53.811951,-992.532349,911.256348,56.190247,-991.565186,920.470886,53.811981,-1068.793945,875.650513,53.811981,-1016.147949,804.724060,56.190247,-975.637329,806.293152,53.811951,-975.016968,803.155029,58.568573,-976.257568,784.081909,58.568573,-907.745850,785.756104,56.190247,-907.526855,787.430237,53.811951,-907.307861,801.567810,50.000366,-976.885010,799.980591,41.432190,-977.512512,780.694946,41.432190,-908.188904,782.388428,50.000366,-907.967346,844.600952,41.432190,-959.873657,889.221313,41.432190,-942.234802,875.912170,41.432190,-895.735046,828.303589,41.432190,-901.961914,887.634094,50.000397,-942.862183,886.046875,58.568604,-943.489624,872.525146,58.568604,-896.177917,874.218628,50.000366,-895.956421,884.477783,56.190277,-944.109863,882.908752,53.811951,-944.730103,869.176880,53.811951,-896.615845,870.851013,56.190277,-896.396912,844.600952,53.811951,-959.873596,828.303589,53.811951,-901.961914,785.124512,56.190247,-839.468506,786.801270,53.811951,-839.662720,783.447632,58.568573,-839.274292,799.250549,58.568573,-772.494263,800.853882,56.190247,-773.066101,802.457214,53.811951,-773.638000,781.751465,50.000366,-839.077942,780.055298,41.432190,-838.881531,796.006836,41.432190,-771.337402,797.628662,50.000366,-771.915833,827.739746,41.432190,-844.404236,875.424194,41.432190,-849.926941,887.196167,41.432190,-803.862244,841.601501,41.432190,-787.599854,873.728027,50.000366,-849.730469,872.031799,58.568604,-849.533936,883.952454,58.568573,-802.705200,885.574341,50.000366,-803.283691,870.354980,56.190277,-849.339783,868.678223,53.811951,-849.145569,880.745789,53.811951,-801.561523,882.349121,56.190247,-802.133423,827.739746,53.811951,-844.404175,841.601501,53.811951,-787.599731,830.968811,56.190247,-709.923340,832.448730,53.811951,-710.790039,829.488892,58.568573,-709.056763,872.109924,58.568573,-649.083618,873.444824,56.190247,-650.172668,874.779663,53.811920,-651.261719,827.991821,50.000366,-708.180176,826.494751,41.432190,-707.303589,869.409424,41.432190,-646.880676,870.759644,50.000366,-647.982178,868.580811,41.432190,-731.948059,910.666870,41.432190,-756.592529,945.329712,41.432190,-708.817078,907.369568,41.432190,-677.848877,909.169800,50.000366,-755.715820,907.672729,58.568573,-754.839233,942.629150,58.568573,-706.613953,943.979431,50.000366,-707.715454,906.192810,56.190247,-753.972656,904.712891,53.811951,-753.105957,939.959412,53.811951,-704.435913,941.294312,56.190247,-705.524902,868.580811,53.811951,-731.947998,907.369568,53.811951,-677.848816,926.257385,56.190247,-593.946411,927.453613,53.811920,-595.195923,925.061157,58.568573,-592.696899,986.943054,58.568542,-539.864258,988.010620,56.190247,-541.228760,989.078186,53.811920,-542.593323,923.851074,50.000366,-591.432983,922.640991,41.432190,-590.169128,984.783203,41.432190,-537.103760,985.863159,50.000366,-538.484009,956.659607,41.432190,-625.702148,990.678223,41.432190,-661.235168,1045.502197,41.432190,-614.711609,1015.142700,41.432190,-575.907715,989.468140,50.000366,-659.971191,988.258057,58.568573,-658.707214,1043.342285,58.568573,-611.950989,1044.422363,50.000366,-613.331299,987.061829,56.190247,-657.457642,985.865540,53.811951,-656.208130,1041.207153,53.811920,-609.221863,1042.274780,56.190247,-610.586365,956.659607,53.811920,-625.702087,1015.142700,53.811920,-575.907593,1057.308594,56.190247,-492.003906,1058.260986,53.811920,-493.454285,1056.356323,58.568542,-490.553467,1132.065186,58.568542,-444.956360,1132.912842,56.190247,-446.471375,1133.760498,53.811920,-447.986389,1055.393066,50.000366,-489.086304,1054.429688,41.432190,-487.619141,1130.350098,41.432190,-441.891296,1131.207642,50.000366,-443.423859,1081.510620,41.432190,-528.865295,1108.591431,41.432190,-570.111389,1178.560913,41.432190,-528.057373,1154.455566,41.432190,-484.974365,1107.628174,50.000366,-568.644165,1106.664795,58.568573,-567.177002,1176.846069,58.568542,-524.992310,1177.703491,50.000366,-526.524841,1105.712524,56.190247,-565.726501,1104.760254,53.811920,-564.276123,1175.150757,53.811920,-521.962280,1175.998291,56.190247,-523.477295,1081.510620,53.811920,-528.865173,1154.455566,53.811920,-484.974304,1213.584473,56.190247,-404.830994,1214.335449,53.811890,-406.397156,1212.833496,58.568542,-403.264771,1297.434814,59.610138,-365.790649,1298.093994,57.230225,-367.397949,1298.753052,54.850281,-369.005188,1212.073853,50.000366,-401.680511,1211.314209,41.432159,-400.096191,1296.101318,42.476990,-362.539001,1296.768066,51.043579,-364.164856,1232.669922,41.432190,-444.634338,1254.025635,41.432190,-489.172485,1333.589233,42.387573,-453.951355,1314.845215,42.432281,-408.245178,1253.265991,50.000366,-487.588257,1252.506348,58.568542,-486.003967,1332.255859,59.527039,-450.699829,1332.922485,50.957336,-452.325592,1251.755371,56.190247,-484.437805,1251.004395,53.811920,-482.871582,1330.937500,54.773529,-447.485291,1331.596680,57.150299,-449.092560,1232.669922,53.811920,-444.634399,1314.845215,54.811890,-408.245239,1385.211548,60.350220,-334.487549,1385.780640,57.965515,-336.129120,1384.642578,62.734955,-332.846008,1473.236206,67.863129,-304.798340,1473.713623,65.469971,-306.468689,1474.190918,63.076843,-308.139008,1384.066895,54.173248,-331.185425,1383.491211,45.611511,-329.524902,1472.270386,50.756775,-301.419098,1472.753296,59.309937,-303.108734,1399.673340,45.432617,-376.206696,1415.855469,45.253723,-422.888489,1499.421997,49.928070,-396.418060,1485.846191,50.342438,-348.918579,1415.279785,53.828186,-421.228027,1414.704346,62.402588,-419.567566,1498.456177,67.093384,-393.038971,1498.939087,58.510742,-394.728516,1414.135254,60.030487,-417.926025,1413.566162,57.658325,-416.284454,1497.501465,62.365356,-389.698364,1497.978760,64.729370,-391.368683,1399.673340,57.811920,-376.206787,1485.846191,62.721130,-348.918671,1562.376343,72.509247,-283.710175,1562.757202,70.103638,-285.404907,1561.995483,74.914886,-282.015442,1649.189941,83.445129,-264.755341,1649.483398,81.025421,-266.468475,1649.777100,78.605682,-268.181641,1561.610229,66.374359,-280.301117,1561.224976,57.833862,-278.586792,1648.595947,66.392639,-261.289429,1648.892822,74.918884,-263.022369,1572.055664,57.070953,-326.780518,1582.886353,56.308014,-374.974243,1665.294434,64.078552,-358.724457,1656.945068,65.235565,-310.006927,1582.501099,64.902832,-373.260010,1582.115845,73.497620,-371.545776,1664.700439,81.295685,-355.258698,1664.997314,72.687134,-356.991577,1581.734985,71.145630,-369.851044,1581.354126,68.793640,-368.156311,1664.113159,76.618927,-351.832397,1664.406738,78.957306,-353.545532,1572.055664,69.448669,-326.780579,1656.945068,77.612305,-310.007019,1733.318604,90.575745,-255.000046,1733.548462,88.142792,-256.723999,1733.088867,93.008698,-253.276138,1810.118774,102.850189,-243.411514,1810.363037,100.414948,-245.128128,1810.607300,97.979736,-246.844772,1732.856567,84.495880,-251.532272,1732.624146,75.983032,-249.788437,1809.624634,85.829102,-239.938553,1809.871826,94.339630,-241.675034,1739.157959,74.453796,-298.812256,1745.691772,72.924622,-347.836060,1823.517578,82.639832,-337.571411,1816.571167,84.234436,-288.755005,1745.459351,81.546265,-346.092285,1745.226929,90.167877,-344.348511,1823.023315,99.887817,-334.098572,1823.270508,91.263824,-335.834991,1744.997070,87.842438,-342.624603,1744.767334,85.516998,-340.900696,1822.534790,95.241638,-330.665344,1822.779053,97.564697,-332.381958,1739.157959,86.829865,-298.812317,1816.571045,96.610657,-288.755066,1877.097656,109.797760,-232.675949,1877.489624,107.381378,-234.356796,1876.705566,112.214172,-230.995102,1934.272705,121.164124,-214.423889,1934.881958,118.780365,-216.036087,1935.491211,116.396576,-217.648285,1876.309082,103.684540,-229.294815,1875.912476,95.154907,-227.594528,1933.040161,104.038757,-211.162231,1933.656494,112.601440,-212.793060,1887.061646,94.086304,-275.393616,1898.210815,93.017761,-323.192688,1967.690796,103.741394,-302.856506,1950.365479,103.890045,-257.009369,1897.814331,101.623413,-321.492462,1897.417603,110.229065,-319.792236,1966.458252,120.887909,-299.594849,1967.074463,112.314667,-301.225708,1897.025513,107.887787,-318.111389,1896.633423,105.546570,-316.430542,1965.239624,116.141357,-296.370453,1965.848999,118.514618,-297.982666,1887.061646,106.463959,-275.393677,1950.365479,116.268951,-257.009399,1985.075684,127.418915,-193.601135,1985.907593,125.074310,-195.107452,1984.243652,129.763504,-192.094818,2027.499512,138.198334,-164.298309,2028.544189,135.897034,-165.666626,2029.588745,133.595749,-167.034943,1983.402222,121.161194,-190.571106,1982.560669,112.558899,-189.047394,2025.386353,120.906189,-161.530060,2026.442993,129.552261,-162.914185,2006.218628,113.526367,-231.883347,2029.876709,114.493866,-274.719299,2084.797852,125.324127,-239.353561,2055.092041,123.115143,-200.441818,2029.035156,123.027344,-273.195618,2028.193604,131.560837,-271.671875,2082.684570,142.302017,-236.585312,2083.741211,133.813080,-237.969437,2027.361694,129.148209,-270.165588,2026.529663,126.735596,-268.659241,2080.595215,137.388763,-233.848648,2081.639648,139.845383,-235.216965,2006.218628,125.904938,-231.883347,2055.091797,135.492264,-200.441818,2066.153320,144.398285,-132.528107,2067.385254,142.142044,-133.731476,2064.921631,146.654556,-131.324738,2097.141113,155.347244,-93.223816,2098.528320,153.135483,-94.249512,2099.915527,150.923737,-95.275223,2063.675781,137.963013,-130.107483,2062.429688,129.271484,-128.890228,2094.334473,137.874237,-91.148743,2095.737793,146.610733,-92.186279,2097.456543,132.776352,-163.110962,2132.483398,136.281235,-197.331696,2173.231934,147.446869,-149.485565,2133.783203,142.660553,-120.317154,2131.237305,144.723480,-196.114426,2129.991455,153.165756,-194.897156,2170.425537,164.239120,-147.410461,2171.828613,155.843002,-148.448013,2128.759766,150.663040,-193.693787,2127.527832,148.160324,-192.490417,2167.650879,159.142532,-145.359039,2169.038086,161.690826,-146.384750,2097.456543,145.151199,-163.110947,2133.783203,155.033127,-120.317139,2126.293945,162.321320,-50.894817,2127.798828,160.151276,-51.744411,2124.789063,164.491348,-50.045231,2148.197754,174.201950,-1.981968,2149.788086,172.069824,-2.665821,2151.378418,169.937698,-3.349678,2123.266602,155.712662,-49.185833,2121.744141,146.933975,-48.326443,2144.980225,156.567871,-0.598480,2146.588867,165.384903,-1.290226,2164.542969,152.918427,-72.486771,2207.342285,158.902878,-96.647095,2235.435059,170.702484,-39.492878,2190.207520,163.635162,-20.045677,2205.819824,167.256027,-95.787674,2204.297363,175.609161,-94.928253,2232.217285,187.331573,-38.109348,2233.826172,179.017029,-38.801113,2202.792480,173.018372,-94.078659,2201.287598,170.427612,-93.229065,2229.036621,182.073700,-36.741634,2230.626953,184.702621,-37.425488,2164.543213,165.289429,-72.486740,2190.207520,176.005676,-20.045658,2169.348389,182.495056,50.235676,2170.997070,180.396027,49.698368,2167.699707,184.594101,50.772987,2183.589844,195.666748,107.817749,2185.276367,193.595779,107.406876,2186.962402,191.524811,106.995987,2166.031982,175.743591,51.316505,2164.364258,166.893097,51.860023,2180.178223,177.908920,108.649033,2181.884277,186.787842,108.233383,2211.247559,174.895981,36.580238,2258.130371,182.898865,21.300453,2276.088867,195.344177,85.280197,2228.133789,186.626556,96.964615,2256.462402,191.180435,21.843967,2254.794922,199.461990,22.387486,2272.677246,211.924637,86.111435,2274.383301,203.634399,85.695816,2253.146240,196.800430,22.924797,2251.497559,194.138855,23.462105,2269.304688,206.495178,86.933197,2270.990967,209.209900,86.522308,2211.247314,187.267426,36.580235,2228.133789,199.009995,96.964592,2197.873535,205.370712,168.444962,2199.583496,203.322571,168.139465,2196.163086,207.418823,168.750458,2205.785156,219.763412,233.097580,2207.509766,217.732925,232.878235,2209.233887,215.702438,232.658875,2194.433350,198.516754,169.059479,2192.703125,189.614670,169.368515,2202.296875,201.923386,233.541351,2204.041260,210.843399,233.319473,2241.337402,198.752594,160.681091,2289.971680,207.890518,151.993683,2300.362305,220.571686,221.065628,2251.329590,211.247543,227.303482,2288.241699,216.267105,152.302673,2286.511719,224.643692,152.611679,2296.874023,237.524292,221.509354,2298.618164,229.047989,221.287491,2284.801270,221.829224,152.917175,2283.091309,219.014740,153.222672,2293.425781,231.714020,221.948090,2295.149902,234.619156,221.728714,2241.337402,211.168655,160.681061,2251.329590,223.708221,227.303467,2214.554443,230.595566,300.234894,2216.286621,228.577499,300.084229,2212.821777,232.613632,300.385559,2217.693848,245.824661,370.139496,2219.430176,243.813889,370.041870,2221.166992,241.803116,369.944275,2211.069824,223.680923,300.537994,2209.317383,214.748215,300.690399,2214.180664,227.944260,370.336975,2215.937012,236.884460,370.238251,2258.581543,224.084869,296.405548,2307.845947,233.421524,292.120728,2312.947266,246.409424,364.784912,2263.563965,237.176849,367.560944,2306.093750,241.946548,292.273163,2304.341309,250.471558,292.425568,2309.434082,263.500244,364.982422,2311.190430,254.954849,364.883667,2302.608887,247.540573,292.576233,2300.876465,244.609604,292.726929,2305.960938,257.655029,365.177673,2307.697266,260.577637,365.080048,2258.581543,236.593552,296.405548,2263.563965,249.729065,367.560974,2222.560059,257.243164,441.826050,2224.298828,255.234573,441.767700,2220.821289,259.251740,441.884399,2222.519043,272.653625,515.053772,2224.258057,270.643555,515.030579,2225.997314,268.633514,515.007324,2219.062500,250.309189,441.943420,2217.304199,241.366638,442.002441,2219.001709,254.764008,515.055237,2220.760254,263.708801,515.054504,2266.747559,250.435715,440.343201,2316.190918,259.504791,438.684021,2317.905762,272.439209,514.175476,2268.453613,263.601624,514.615356,2314.432129,268.065002,438.743042,2312.673340,276.625183,438.802063,2314.386719,289.591919,514.236572,2316.145996,281.015564,514.205994,2310.934814,273.714539,438.860413,2309.196289,270.803894,438.918762,2310.909180,283.802673,514.252014,2312.647949,286.697327,514.244263,2266.747559,263.019226,440.343231,2268.453125,276.218109,514.629639,2224.838867,283.775391,589.098511,2226.577148,281.761627,589.115845,2223.100098,285.789124,589.081116,2221.447754,298.539185,666.977234,2223.185547,296.516876,667.030090,2224.922852,294.494568,667.082947,2221.344238,276.837067,588.972534,2219.588135,267.885010,588.863892,2217.941895,280.631317,666.552002,2219.694824,289.585266,666.764587,2269.003418,276.414673,590.240295,2318.418945,284.944305,591.616638,2316.671387,296.896759,672.644531,2267.306641,288.764038,669.598267,2316.659668,293.545227,591.627319,2314.900146,302.146118,591.638000,2313.153809,314.141235,672.636353,2314.912598,305.518982,672.640442,2313.163574,299.272034,591.558533,2311.426514,296.397919,591.479126,2309.685059,308.444824,672.313538,2311.419434,311.293030,672.474915,2269.001953,289.079773,590.297485,2267.303711,301.469696,669.698242,2218.181152,308.746429,751.825562,2219.917480,306.708069,751.898315,2216.444824,310.784760,751.752869,2209.245361,322.234558,839.596741,2210.979980,320.175049,839.686646,2212.714844,318.115540,839.776550,2214.693359,301.844666,751.497864,2212.941895,292.904602,751.242920,2205.745605,304.400970,839.054077,2207.495361,313.317749,839.325378,2262.272461,300.538940,755.069519,2311.603027,308.173309,758.896057,2304.320557,318.483002,847.665283,2255.033203,311.441986,843.359680,2309.844971,316.802002,758.878784,2308.086914,325.430725,758.861572,2300.807617,335.739624,847.595398,2302.563965,327.111328,847.630371,2306.354004,322.614685,758.665100,2304.621094,319.798615,758.468689,2297.344727,330.183167,847.169556,2299.076172,332.961395,847.382446,2262.269531,313.253357,755.183472,2255.029785,324.149353,843.473022,2202.736084,330.513794,926.814941,2204.468262,328.430328,926.932434,2201.003906,332.597290,926.697510,2191.245605,341.750244,1012.830017,2192.973145,339.639618,1012.985657,2194.700439,337.529022,1013.141357,2199.256836,323.706940,926.400085,2197.509277,314.816589,926.102661,2187.759766,324.029419,1012.162903,2189.502441,332.889832,1012.496460,2246.720215,321.175781,931.174500,2295.930664,327.534973,936.246338,2285.923828,335.214325,1024.430420,2236.841797,329.621857,1018.296631,2294.177246,336.163971,936.182983,2292.423340,344.792969,936.119629,2282.426025,352.473633,1024.224854,2284.174805,343.843994,1024.327515,2290.694824,342.057648,935.880371,2288.965820,339.322327,935.641113,2278.977051,347.098633,1023.673340,2280.701660,349.786133,1023.949097,2246.717041,333.876343,931.286743,2236.838867,342.313812,1018.407349,2181.214844,347.429413,1097.973877,2182.935059,345.288086,1098.178711,2179.494385,349.570740,1097.769043,2165.288086,355.974792,1181.291748,2166.997559,353.798615,1181.556885,2168.707031,351.622437,1181.822021,2177.758301,340.744080,1097.389038,2176.021973,331.917419,1097.009033,2161.835938,338.397766,1180.417969,2163.562012,347.186279,1180.854858,2224.905762,336.661835,1104.508789,2273.789551,341.406250,1112.008545,2259.005371,346.035736,1198.767822,2210.420410,342.216766,1189.592896,2272.048340,350.035400,1111.854980,2270.306641,358.664551,1111.701538,2255.544434,363.287567,1198.336304,2257.274902,354.661652,1198.552002,2268.589111,356.029541,1111.378906,2266.871582,353.394501,1111.056152,2252.129883,358.131378,1197.575806,2253.836914,360.709473,1197.956055,2224.903320,349.341309,1104.617432,2210.418457,354.876923,1189.698975,2149.857422,358.662689,1263.512207,2151.551758,356.446899,1263.848877,2148.163574,360.878479,1263.175537,2127.669922,364.217590,1343.211670,2129.342285,361.953461,1343.630859,2131.014404,359.689362,1344.050049,2146.452148,352.132996,1262.670898,2144.740723,343.387482,1262.166504,2124.288574,346.831696,1342.046631,2125.979492,355.524628,1342.629150,2192.893555,346.207642,1273.330566,2241.046875,349.027832,1284.494751,2219.378174,350.368683,1368.961548,2171.833496,348.600189,1355.504150,2239.332520,357.646149,1284.205078,2237.618164,366.264465,1283.915405,2215.994629,367.584076,1368.211914,2217.686523,358.976379,1368.586792,2235.925537,363.747559,1283.466919,2234.232910,361.230621,1283.018311,2212.651367,362.667786,1367.157349,2214.322998,365.125916,1367.684692,2192.892090,358.838776,1273.433594,2171.833008,361.178558,1355.603638,2104.999512,363.602814,1421.704102,2106.641602,361.277710,1422.216431,2103.356934,365.927917,1421.191895,2074.777832,366.251007,1496.932739,2076.380371,363.874878,1497.547241,2077.983398,361.498749,1498.161987,2101.694336,357.301666,1420.521362,2100.031982,348.675446,1419.850830,2071.527344,349.110291,1495.398315,2073.152344,357.680664,1496.165527,2146.747559,349.360016,1435.895752,2193.462891,350.044617,1451.940552,2162.760742,348.798767,1533.176025,2117.144043,348.954529,1514.287109,2191.802246,358.639893,1451.469727,2190.141113,367.235168,1450.998657,2159.520508,365.970490,1532.022949,2161.140625,357.384644,1532.599487,2188.498047,364.826752,1450.382568,2186.854492,362.418335,1449.766357,2156.309570,361.222565,1530.595215,2157.915039,363.596527,1531.309082,2146.748047,361.848022,1435.991333,2117.146484,361.360657,1514.378540,2043.037476,363.033905,1570.975708,2044.589233,360.639282,1571.700562,2041.485718,365.428528,1570.250977,2003.013062,364.115997,1641.004883,2004.501465,361.719238,1641.844849,2005.989868,359.322510,1642.684814,2039.908813,356.878174,1569.379639,2038.331909,348.327850,1568.508179,1999.979004,347.019318,1639.044312,2001.495972,355.567657,1640.024658,2082.531250,347.851105,1590.460449,2126.730469,347.374390,1612.412598,2084.854248,345.947754,1689.351196,2042.416626,346.483551,1664.197754,2125.163086,355.958618,1611.722290,2123.595459,364.542877,1611.031982,2081.850098,363.120667,1687.732788,2083.352051,354.534210,1688.541992,2122.038574,362.181793,1610.212891,2120.481934,359.820709,1609.393799,2078.857910,358.402527,1685.874756,2080.354004,360.761597,1686.803711,2082.535645,360.230011,1590.547119,2042.423828,358.862518,1664.279785,1960.303223,360.570282,1710.010010,1961.714966,358.171600,1710.967163,1958.891479,362.968994,1709.052734,1908.605469,362.369751,1774.272949,1909.928101,359.973938,1775.345703,1911.250732,357.578064,1776.418213,1957.446899,354.422516,1707.961670,1956.002441,345.876038,1706.870728,1905.884888,345.340424,1771.872559,1907.245239,353.855103,1773.072632,1996.308228,345.285675,1735.281860,2036.614014,344.695282,1763.692871,1981.543213,343.635895,1835.115967,1943.713989,344.488159,1803.494141,2035.191040,353.283752,1762.762695,2033.768188,361.872223,1761.832520,1978.881348,360.816528,1833.017090,1980.212280,352.226196,1834.066528,2032.345215,359.515045,1760.791626,2030.922241,357.157867,1759.750732,1976.205444,356.118347,1830.714722,1977.543335,358.467438,1831.865967,1996.318604,357.664734,1735.358887,1943.728149,356.848206,1803.566528,1852.861572,360.317047,1837.726196,1854.083618,357.933563,1838.908936,1851.639526,362.700562,1836.543457,1787.430786,367.922791,1895.720703,1788.543335,365.543030,1897.005127,1789.656128,363.163269,1898.289917,1850.374390,354.277740,1835.239014,1849.109131,345.854919,1833.934814,1785.106934,351.352417,1892.919556,1786.268921,359.637604,1894.320068,1884.142334,344.321716,1868.616699,1919.175537,342.788513,1903.298706,1849.095337,345.302063,1967.943481,1817.101196,348.327240,1930.431396,1917.948364,351.380493,1902.135620,1916.721313,359.972443,1900.972656,1846.866821,362.555176,1965.407104,1847.981079,353.928619,1966.675293,1915.479370,357.644043,1899.716309,1914.237427,355.315643,1898.459961,1844.591797,357.990326,1962.699951,1845.729370,360.272736,1964.053589,1884.160522,356.624603,1868.684448,1817.123901,360.576782,1930.494873,1716.413208,379.595184,1953.036255,1717.410522,377.192413,1954.411621,1715.415894,381.997986,1951.660889,1635.937500,407.543793,2003.236450,1636.809082,405.129395,2004.693481,1637.680786,402.714996,2006.150513,1714.363037,373.881866,1950.174805,1713.310059,365.765747,1948.688599,1634.064941,391.631775,2000.111694,1635.001221,399.587799,2001.674072,1742.098633,360.045593,1988.720459,1770.887207,354.325439,2028.752441,1684.697754,374.981293,2084.697266,1659.381348,383.306549,2042.404297,1769.891968,363.052673,2027.390625,1768.896851,371.779907,2026.028809,1682.968140,392.648315,2081.804199,1683.832886,383.814819,2083.250732,1767.869385,369.581421,2024.588745,1766.842041,367.382965,2023.148682,1681.150391,388.420166,2078.769531,1682.059326,390.534241,2080.286865,1742.126221,372.287689,1988.780151,1659.415527,395.567596,2042.460083,1550.069092,444.801514,2050.851074,1550.800537,442.425049,2052.383057,1549.337769,447.177979,2049.319092,1456.630737,494.903748,2089.157715,1457.219849,492.605957,2090.752930,1457.808960,490.308197,2092.347656,1548.527832,439.332642,2047.688721,1547.718018,431.487305,2046.058594,1455.264893,479.347717,2085.785156,1455.947754,487.125732,2087.471680,1569.195801,421.939789,2090.403809,1590.673584,412.392242,2134.749023,1490.458496,460.220276,2177.909668,1472.861572,469.783997,2131.847656,1589.955444,421.277191,2133.224365,1589.237305,430.162109,2131.699707,1489.320557,477.997986,2174.728271,1489.889526,469.109131,2176.318848,1588.458252,428.095276,2130.112793,1587.678955,426.028473,2128.525879,1488.023560,473.885223,2171.438965,1488.672119,475.941589,2173.083496,1569.239746,434.226746,2090.454590,1472.916260,482.096710,2131.893555,1359.287842,542.537231,2123.642822,1359.745361,540.350098,2125.283691,1358.830322,544.724243,2122.001953,1256.901733,589.607666,2148.139160,1257.238281,587.526245,2149.812256,1257.574829,585.444885,2151.484863,1358.265625,536.976379,2120.274658,1357.700928,529.228516,2118.547119,1255.991699,574.150818,2144.625977,1256.446777,581.879272,2146.382568,1371.698608,520.677917,2165.864258,1385.696289,512.127319,2213.180908,1277.355225,559.343506,2241.021973,1266.673462,566.747192,2192.823975,1385.265137,520.979980,2211.542236,1384.833984,529.832642,2209.903564,1276.745361,576.962830,2237.677490,1277.050293,568.153137,2239.349609,1384.306885,527.750244,2208.216553,1383.780029,525.667786,2206.529541,1275.916016,572.732422,2234.243652,1276.330688,574.847656,2235.960449,1371.762695,533.008972,2165.906738,1266.745483,579.088623,2192.864258,1152.036621,620.504333,2169.551270,1152.263184,618.486572,2171.245605,1151.810181,622.522095,2167.856445,1044.556396,642.843506,2182.293457,1044.682373,640.908386,2183.998535,1044.808228,638.973267,2185.703369,1151.456299,614.829102,2166.080078,1151.102539,607.136047,2164.303711,1044.036499,627.638794,2178.722656,1044.296387,635.241150,2180.508057,1158.753174,600.117432,2213.097656,1166.403809,593.098816,2261.891602,1053.768555,613.367249,2276.874268,1048.902588,620.502991,2227.798340,1166.213379,601.892090,2260.196777,1166.022949,610.685425,2258.501953,1053.596191,630.958801,2273.462402,1053.682373,622.163025,2275.168457,1165.711304,608.560303,2256.764893,1165.399658,606.435242,2255.027832,1053.163452,626.720642,2269.969238,1053.379883,628.839722,2271.715820,1158.831421,612.460876,2213.136719,1048.985840,632.846924,2227.836182,936.174805,648.175659,2194.292725,936.208130,646.403259,2195.995361,936.141479,649.947998,2192.589844,827.145935,650.444092,2200.815918,827.516418,647.079956,2201.877441,827.463745,645.465515,2203.573975,935.969360,642.530823,2190.807617,935.797180,635.113586,2189.025391,826.971252,636.074463,2197.270020,827.058594,643.259277,2199.042969,938.086914,627.618164,2238.039551,940.376587,620.122681,2287.053467,827.152039,618.813171,2294.314697,827.271667,626.506592,2245.472168,940.385864,628.932129,2285.349121,940.395142,637.741577,2283.644531,827.346924,636.447571,2290.916992,827.249451,627.630371,2292.615967,940.267395,635.637268,2281.899902,940.139648,633.533020,2280.155273,827.258301,632.255249,2287.439453,827.302612,634.351440,2289.178223,938.173889,639.968140,2238.075195,827.361023,638.860352,2245.506836,719.709595,642.395264,2208.196289,719.575989,640.848999,2209.891602,719.843140,643.941467,2206.500977,612.540344,637.438843,2212.185791,613.758423,644.280762,2210.765137,613.547607,642.707642,2212.460693,717.422363,622.212280,2251.748047,719.825562,629.537720,2202.953125,715.019165,614.886841,2300.542969,604.898071,618.008667,2303.097900,609.503540,624.658142,2254.309570,612.679871,623.000916,2208.636230,715.198914,623.688721,2298.846191,715.378723,632.490723,2297.149414,605.413757,635.558472,2299.705566,605.155945,626.783569,2301.401855,715.414124,630.380493,2295.412354,715.449585,628.270264,2293.675537,605.639771,631.289307,2296.232910,605.526794,633.423950,2297.969238,717.512756,634.559631,2251.783691,609.593689,636.998474,2254.346680,510.667358,662.895935,2207.099609,510.381226,661.195435,2208.793457,510.953491,664.596436,2205.405762,411.809814,694.635132,2193.439209,411.448700,692.800659,2195.124756,411.087616,690.966248,2196.810303,612.610107,630.219849,2210.411133,511.102020,657.143677,2203.633301,511.250580,649.691040,2201.860840,412.268738,679.347656,2189.913086,412.039246,686.991394,2191.676270,504.479736,643.767334,2250.599854,497.708923,637.843750,2299.339111,394.364777,669.040466,2286.898682,403.316772,674.194092,2238.405762,498.042084,646.591187,2297.644531,498.375244,655.338623,2295.950195,395.179565,686.480774,2283.525879,394.772186,677.760620,2285.212158,498.565277,653.181091,2294.215820,498.755310,651.023499,2292.481445,395.716522,682.116638,2280.075195,395.448059,684.298706,2281.800537,504.568268,656.109497,2250.637451,403.402069,686.541443,2238.442871,317.114990,728.554932,2172.766113,316.677460,726.673706,2174.432129,317.552490,730.436096,2171.100098,229.221680,766.964478,2141.537598,228.703674,765.086304,2143.174561,228.185699,763.208069,2144.811523,317.867126,722.686768,2169.360352,318.181793,714.937500,2167.620850,230.036560,751.313354,2138.129883,229.629120,759.138916,2139.833740,306.980286,710.592346,2215.514893,295.778748,706.247253,2263.409180,202.835754,744.802734,2232.127930,216.436157,748.058044,2185.128906,296.261017,714.940918,2261.742188,296.743225,723.634583,2260.075684,203.955963,762.121826,2228.852051,203.395844,753.462280,2230.489746,297.093506,721.423462,2258.372314,297.443787,719.212463,2256.668945,204.833008,757.618164,2225.511230,204.394531,759.869995,2227.181641,307.060608,722.943115,2215.550537,216.509338,760.413086,2185.161621,147.252319,797.322510,2109.501221,146.647217,795.459595,2111.101318,147.857422,799.185425,2107.900879,74.558594,825.734131,2072.302734,73.855103,823.882935,2073.857178,73.151672,822.031738,2075.411621,148.368652,791.256836,2106.243652,148.879822,783.328247,2104.586426,75.822876,809.669189,2069.104736,75.190796,817.701660,2070.703613,132.650269,781.686951,2150.449707,116.420776,780.045593,2196.312988,37.353882,809.493286,2158.052246,56.588379,809.581299,2113.578613,117.064087,788.654907,2194.710449,117.707520,797.264160,2193.108154,38.826294,826.617554,2154.930420,38.090088,818.055420,2156.491211,118.243835,794.952637,2191.479492,118.780151,792.641113,2189.851074,40.124878,821.880615,2151.775391,39.475586,824.249023,2153.353027,132.713684,794.050354,2150.476318,56.638306,821.956116,2113.593506,9.606445,843.386780,2038.353516,8.788818,841.527893,2039.851929,10.424133,845.245667,2036.855103,-47.821533,858.239136,2001.067871,-48.730103,856.353516,2002.524414,-49.638672,854.467896,2003.980835,11.200623,837.134521,2035.327148,11.977051,829.023315,2033.799316,-46.031738,841.903381,1998.120117,-46.926636,850.071289,1999.593994,-10.783813,829.843384,2076.616211,-33.544800,830.663452,2119.433105,-97.238342,844.277588,2081.247559,-71.635010,843.090454,2039.683838,-32.702026,839.200623,2117.919434,-31.859253,847.737793,2116.405518,-95.385315,861.334534,2078.289063,-96.311829,852.806030,2079.768311,-31.076111,845.336792,2114.888428,-30.292969,842.935791,2113.371094,-93.601074,856.505859,2075.348633,-94.493164,858.920166,2076.818848,-10.752075,842.231812,2076.611572,-71.619873,855.486877,2039.664673,-104.391174,863.302612,1965.903564,-105.328308,861.371582,1967.356445,-103.453979,865.233643,1964.450684,-160.950378,866.691162,1926.659424,-161.875122,864.705139,1928.130371,-162.799805,862.719116,1929.601318,-102.515686,857.027954,1962.983643,-101.577393,848.822266,1961.516602,-159.086182,850.208557,1923.687866,-160.018250,858.449829,1925.173584,-128.133789,849.939697,2002.901978,-154.690063,851.057068,2044.287354,-211.615479,852.025757,2007.352905,-185.350830,851.117188,1965.520386,-153.739136,859.587219,2042.812134,-152.788208,868.117371,2041.337158,-209.742676,869.095581,2004.373413,-210.679138,860.560669,2005.863159,-151.857605,865.703674,2039.877441,-150.927063,863.289978,2038.417725,-207.897705,864.279175,2001.430176,-208.820190,866.687378,2002.901855,-128.127686,862.330811,2002.887085,-185.348755,863.499146,1965.515747,-225.680420,861.032227,1888.843994,-226.572998,858.990662,1890.337646,-224.787720,863.073792,1887.350342,-293.916260,855.864136,1847.552368,-294.763794,853.760254,1849.071777,-295.611389,851.656372,1850.591309,-223.885986,854.782288,1885.841309,-222.984131,846.490845,1884.332520,-292.203735,839.154419,1844.482422,-293.059937,847.509277,1846.017334,-248.357239,847.349121,1926.788818,-273.730225,848.207458,1969.245239,-340.387817,840.915344,1930.862061,-316.295776,840.034912,1887.672119,-272.826965,856.742981,1967.733643,-271.923584,865.278564,1966.222290,-338.672363,857.984070,1927.786865,-339.530151,849.449707,1929.324463,-271.031738,862.871521,1964.729980,-270.139893,860.464478,1963.237549,-336.978760,853.168152,1924.750610,-337.825562,855.576111,1926.268799,-248.356445,859.727539,1926.787598,-316.295044,852.412231,1887.670898,-368.082153,844.365540,1809.841309,-368.878540,842.186340,1811.387939,-367.286011,846.544739,1808.294556,-443.955078,837.677612,1770.695557,-444.691040,835.422485,1772.271240,-445.427124,833.167236,1773.847046,-366.481567,838.114746,1806.731934,-365.677246,829.684814,1805.169434,-442.467896,820.681763,1767.511597,-443.211426,829.179688,1769.103516,-388.309692,830.573669,1849.135254,-410.942017,831.462524,1893.101196,-484.310059,822.243164,1857.093994,-463.389038,821.462463,1812.302734,-410.136353,839.996338,1891.536011,-409.330444,848.530151,1889.970703,-482.820435,839.318909,1853.904785,-483.565308,830.781006,1855.499390,-408.535034,846.121338,1888.425415,-407.739502,843.712585,1886.880005,-481.349731,834.507813,1850.756104,-482.085083,836.913330,1852.330444,-388.308960,842.949463,1849.134033,-463.388428,833.837524,1812.301514,-523.645874,829.505310,1737.480713,-524.310303,827.185913,1739.087402,-522.981567,831.824707,1735.873901,-603.472168,828.565430,1704.973389,-604.049072,826.202271,1706.612549,-604.625977,823.839050,1708.251465,-522.310181,823.284912,1734.250610,-521.639038,814.744995,1732.627441,-602.306519,811.442322,1701.661743,-602.889404,820.003906,1703.317505,-540.524170,815.198120,1778.299561,-559.409302,815.651245,1823.971924,-635.103394,811.692566,1794.840088,-618.704956,811.567444,1748.250732,-558.737061,824.201782,1822.345947,-558.064697,832.752380,1820.719971,-633.935791,828.819275,1791.522827,-634.519531,820.255920,1793.181396,-557.401001,830.358154,1819.114624,-556.737183,827.963928,1817.509277,-632.782959,824.053833,1788.247559,-633.359497,826.436523,1789.885254,-540.523682,827.574951,1778.298340,-618.704468,823.946411,1748.249512,-685.003052,825.101196,1680.809570,-685.472168,822.723450,1682.481445,-684.533936,827.479004,1679.137695,-765.356079,827.479004,1659.600098,-765.689575,825.101196,1661.301270,-766.023071,822.723450,1663.002441,-684.060059,818.910156,1677.448730,-683.586060,810.341431,1675.759766,-764.682251,810.341431,1656.163086,-765.019165,818.910156,1657.881592,-696.920776,810.357178,1723.281616,-710.255493,810.373047,1770.803467,-783.640869,810.373047,1752.870605,-774.161499,810.357178,1704.516846,-709.780762,818.940674,1769.111572,-709.306030,827.508301,1767.419922,-782.966064,827.508301,1749.427856,-783.303467,818.940674,1751.149170,-708.837402,825.129395,1765.749512,-708.368652,822.750488,1764.079102,-782.299561,822.750488,1746.028564,-782.632813,825.129395,1747.728271,-696.920288,822.736938,1723.280273,-774.161255,822.736938,1704.515503,-845.290161,825.101196,1649.316895,-845.452759,822.723450,1651.039551,-845.127808,827.479004,1647.593994,-923.028320,827.479004,1644.615601,-922.977051,825.101196,1646.338379,-922.926025,822.723450,1648.060913,-844.963745,818.910156,1645.853638,-844.799561,810.341431,1644.113281,-923.131714,810.341431,1641.135010,-923.080078,818.910278,1642.875244,-849.417114,810.357239,1693.081543,-854.034668,810.373047,1742.050049,-920.222534,810.373047,1739.066650,-921.677124,810.357300,1690.100830,-853.870239,818.940674,1740.306641,-853.705933,827.508301,1738.563477,-920.326172,827.508301,1735.580200,-920.274292,818.940674,1737.323486,-853.543579,825.129395,1736.842163,-853.381226,822.750488,1735.120972,-920.428345,822.750549,1732.137939,-920.377197,825.129395,1733.859131,-849.416992,822.736938,1693.080200,-921.677124,822.736938,1690.099487,-997.922119,825.101196,1653.848022,-997.607666,822.723450,1655.534790,-998.236694,827.479004,1652.161133,-1069.322021,827.479004,1671.922485,-1068.710327,825.101196,1673.516113,-1068.098633,822.723450,1675.109863,-998.554565,818.910278,1650.457153,-998.872314,810.341492,1648.753174,-1070.557983,810.341492,1668.702515,-1069.940063,818.910278,1670.312500,-989.931274,810.357300,1696.699463,-980.990234,810.373047,1744.645752,-1035.781494,810.373047,1759.302490,-1053.169800,810.357300,1714.002441,-981.308472,818.940674,1742.938965,-981.626831,827.508301,1741.231934,-1037.019409,827.508301,1756.076904,-1036.400513,818.940674,1757.689697,-981.941162,825.129395,1739.546631,-982.255371,822.750549,1737.861328,-1038.241943,822.750549,1752.892456,-1037.630737,825.129395,1754.484619,-989.931519,822.737000,1696.698120,-1053.170288,822.737000,1714.001221,-1133.926514,825.101196,1707.013062,-1132.999756,822.723450,1708.435059,-1134.853271,827.479004,1705.591187,-1192.715698,827.479004,1753.887573,-1191.497925,825.101196,1755.074219,-1190.280029,822.723450,1756.260986,-1135.789551,818.910278,1704.154785,-1136.725708,810.341492,1702.718262,-1195.176147,810.341492,1751.489746,-1193.946045,818.910278,1752.688721,-1110.382935,810.357300,1743.135010,-1084.039917,810.372986,1783.551514,-1125.944336,810.372986,1818.953979,-1160.560303,810.357239,1785.221924,-1084.977783,818.940613,1782.112549,-1085.915649,827.508301,1780.673828,-1128.409058,827.508301,1816.552246,-1127.176636,818.940613,1817.753174,-1086.841553,825.129395,1779.253174,-1087.767456,822.750549,1777.832520,-1130.842529,822.750488,1814.180908,-1129.625854,825.129395,1815.366699,-1110.383667,822.737000,1743.133789,-1160.561401,822.736938,1785.220947,-1239.351685,825.101196,1818.435181,-1237.908691,822.723389,1819.338745,-1240.794800,827.478943,1817.531738,-1280.035889,827.478943,1891.689575,-1278.455078,825.101196,1892.378296,-1276.874268,822.723389,1893.067139,-1242.252686,818.910217,1816.618896,-1243.710449,810.341431,1815.706055,-1283.230103,810.341431,1890.297729,-1281.633057,818.910156,1890.993652,-1202.691772,810.357239,1841.388428,-1161.673096,810.372986,1867.070801,-1193.357300,810.372986,1929.457031,-1238.293701,810.357239,1909.877441,-1163.133423,818.940613,1866.156372,-1164.593750,827.508301,1865.242188,-1196.556885,827.508240,1928.062866,-1194.957153,818.940613,1928.760010,-1166.035522,825.129395,1864.339355,-1167.477295,822.750488,1863.436768,-1199.715942,822.750488,1926.686523,-1198.136353,825.129395,1927.374756,-1202.692993,822.736938,1841.387695,-1238.295044,822.736938,1909.876831,-1309.775024,825.101196,1972.185913,-1308.165405,822.723389,1972.845093,-1311.384644,827.478943,1971.526855,-1342.217163,827.478943,2049.789307,-1340.659546,825.101196,2050.546631,-1339.101929,822.723450,2051.303955,-1313.010742,818.910156,1970.860840,-1314.636963,810.341431,1970.194946,-1345.364624,810.341431,2048.258789,-1343.790894,818.910156,2049.023926,-1268.882446,810.357178,1988.931641,-1223.127930,810.372986,2007.668213,-1256.807983,810.372986,2091.321045,-1301.086426,810.357239,2069.789795,-1224.756836,818.940613,2007.001221,-1226.385742,827.508240,2006.334106,-1259.960815,827.508240,2089.788086,-1258.384277,818.940613,2090.554443,-1227.993896,825.129395,2005.675537,-1229.602295,822.750488,2005.016846,-1263.073608,822.750488,2088.274170,-1261.517090,825.129395,2089.031250,-1268.883911,822.736938,1988.931030,-1301.087769,822.736938,2069.789307,-1378.457153,825.101196,2120.148682,-1377.003784,822.723450,2121.075439,-1379.910522,827.478943,2119.222168,-1423.884644,826.587280,2179.378906,-1422.580200,824.204468,2180.502930,-1421.275757,821.821655,2181.626709,-1381.378784,818.910217,2118.285645,-1382.847046,810.341431,2117.349609,-1426.520142,809.459961,2177.107910,-1425.202271,818.023621,2178.243408,-1341.534058,810.357239,2143.690918,-1300.220703,810.372986,2170.032227,-1352.363159,809.186523,2241.004883,-1389.441772,809.323242,2209.056152,-1301.691284,818.940613,2169.094482,-1303.162231,827.508240,2168.156738,-1355.003296,826.333313,2238.729980,-1353.683228,817.759888,2239.867676,-1304.614380,825.129395,2167.230957,-1306.066528,822.750488,2166.304932,-1357.609741,821.586914,2236.484131,-1356.306519,823.960083,2237.607178,-1341.535278,822.736938,2143.690186,-1389.442749,821.704224,2209.055664,-1472.441284,821.514160,2231.119629,-1471.322632,819.116211,2232.426025,-1473.559448,823.912231,2229.813232,-1527.462036,819.757324,2269.738037,-1526.571655,817.332336,2271.204346,-1525.681030,814.907471,2272.670898,-1474.689575,815.363892,2228.493408,-1475.819458,806.815491,2227.173584,-1529.261353,802.714722,2266.774902,-1528.361694,811.236023,2268.256348,-1444.026245,806.221313,2264.307617,-1412.233276,805.627197,2301.441895,-1478.635132,799.889648,2350.141602,-1503.948120,801.302185,2308.458252,-1413.365112,814.217773,2300.119873,-1414.496948,822.808472,2298.797852,-1480.437378,817.133179,2347.173828,-1479.536011,808.511414,2348.657715,-1415.614380,820.452209,2297.492676,-1416.731812,818.095947,2296.187500,-1482.216675,812.481934,2344.243652,-1481.327026,814.807495,2345.708740,-1444.027222,818.606079,2264.306641,-1503.948853,813.694641,2308.457275,-1583.502808,811.960815,2299.962646,-1582.887329,809.495605,2301.559082,-1584.118286,814.426086,2298.366211,-1642.307495,808.076782,2315.160156,-1642.009644,805.557861,2316.839844,-1641.712036,803.038940,2318.519287,-1584.740112,805.945190,2296.753174,-1585.361694,797.464355,2295.140137,-1642.909058,791.222839,2311.766113,-1642.608276,799.649841,2313.463135,-1567.867554,794.816528,2340.521484,-1550.373413,792.168823,2385.902588,-1625.980835,782.845520,2407.254883,-1634.445190,787.034180,2359.510742,-1550.995972,800.837891,2384.287109,-1551.619019,809.507019,2382.671387,-1626.583374,800.235107,2403.855469,-1626.282104,791.540283,2405.555420,-1552.233765,807.227905,2381.076416,-1552.848755,804.948730,2379.481445,-1627.178589,795.843811,2400.499268,-1626.881226,798.039429,2402.177246,-1567.868042,807.222168,2340.520508,-1634.445190,799.441345,2359.509277,-1700.867065,798.281860,2321.281006,-1700.925171,795.695740,2322.979736,-1700.808960,800.867920,2319.582031,-1759.041382,792.546875,2310.843262,-1759.464478,789.881348,2312.489746,-1759.887817,787.215820,2314.136230,-1700.750366,792.508301,2317.865723,-1700.691772,784.148621,2316.149414,-1758.186401,775.986816,2307.516113,-1758.613647,784.266846,2309.179688,-1702.341187,778.224670,2364.438965,-1703.990601,772.300659,2412.728516,-1782.245483,761.040283,2401.124756,-1770.215942,768.513550,2354.320313,-1703.931763,780.961670,2411.009521,-1703.872925,789.622681,2409.290283,-1781.389038,778.193970,2397.792236,-1781.817261,769.617126,2399.458496,-1703.815308,787.568481,2407.593018,-1703.757202,785.514343,2405.895508,-1780.543335,774.361450,2394.501953,-1780.966187,776.277710,2396.146973,-1702.341187,790.605042,2364.437744,-1770.215698,780.788635,2354.319336,-1817.192261,780.104980,2289.669678,-1817.961548,777.348999,2291.185059,-1816.423218,782.861023,2288.154297,-1872.258179,771.097412,2249.915771,-1873.329468,768.251892,2251.244141,-1874.400757,765.406372,2252.572754,-1815.646362,774.671814,2286.623047,-1814.869507,766.482544,2285.092285,-1870.093872,754.917419,2247.231201,-1871.176147,763.007385,2248.573242,-1836.729614,758.026367,2328.168457,-1858.589722,749.570190,2371.245117,-1930.992554,736.591797,2322.762207,-1900.543335,745.754639,2284.996582,-1857.811401,758.021851,2369.711670,-1857.033325,766.473511,2368.177979,-1928.824585,753.218140,2320.073242,-1929.908569,744.904968,2321.417725,-1856.265015,764.629822,2366.663818,-1855.496460,762.786133,2365.149658,-1926.683960,749.610596,2317.418457,-1927.754272,751.414368,2318.745605,-1836.729126,770.067566,2328.167480,-1900.542358,757.508484,2284.995605,-1927.154907,753.620911,2195.637207,-1928.460327,750.698853,2196.746582,-1925.849487,756.542969,2194.528076,-1975.706909,738.256836,2120.393799,-1977.183960,735.271179,2121.274414,-1978.661499,732.285583,2122.155029,-1924.530640,748.557983,2193.407227,-1923.211792,740.572998,2192.286621,-1972.722046,722.500916,2118.614502,-1974.214478,730.378845,2119.503906,-1960.317749,730.689819,2223.817871,-1997.423462,720.806580,2255.348877,-2056.704590,701.308716,2168.676758,-2014.713257,711.904846,2143.645508,-1996.102417,728.995605,2254.226318,-1994.781616,737.184570,2253.104004,-2053.714355,717.470093,2166.894531,-2055.209473,709.389404,2167.785645,-1993.477173,735.420898,2251.995605,-1992.172974,733.657166,2250.887207,-2050.762695,714.020264,2165.134766,-2052.238770,715.745239,2166.014648,-1960.316772,742.177979,2223.816895,-2014.712036,723.152954,2143.645020,-2021.932983,712.261841,2026.580933,-2023.525513,709.225708,2027.246826,-2020.340454,715.297974,2025.915283,-2058.053711,686.890076,1909.963867,-2059.718262,683.815063,1910.433838,-2061.382813,680.740051,1910.904053,-2018.731812,707.525391,2025.242676,-2017.122925,699.752808,2024.570190,-2054.690430,671.538086,1909.014038,-2056.372070,679.214111,1909.488770,-2062.390137,688.472656,2043.493652,-2107.657227,677.192505,2062.417236,-2149.326172,647.819336,1935.738281,-2102.008301,659.678711,1922.376099,-2106.045410,685.182190,2061.743652,-2104.434082,693.171875,2061.069824,-2145.957031,663.649414,1934.786865,-2147.641602,655.734375,1935.262695,-2102.842773,691.483154,2060.404785,-2101.251465,689.794434,2059.739502,-2142.630371,660.330017,1933.847412,-2144.293945,661.989746,1934.317139,-2062.388672,699.510132,2043.493164,-2102.006836,670.535034,1922.375732,-2088.856445,649.153076,1771.709473,-2090.563965,646.049377,1772.008545,-2087.149414,652.256836,1771.410400,-2106.298828,614.237427,1620.298218,-2108.027832,611.120544,1620.451416,-2109.756348,608.003662,1620.604736,-2085.424805,644.661621,1771.108154,-2083.700195,637.066406,1770.806152,-2102.806641,599.157532,1619.988403,-2104.552734,606.697510,1620.143311,-2132.228516,624.808594,1779.306885,-2180.757324,612.550720,1787.807617,-2201.078125,574.375488,1628.703491,-2151.942383,586.766479,1624.345947,-2179.029297,620.406494,1787.505127,-2177.301758,628.262268,1787.202393,-2197.579590,590.012573,1628.393066,-2199.329102,582.194031,1628.548340,-2175.595703,626.619812,1786.903687,-2173.890137,624.977295,1786.604736,-2194.125488,586.729370,1628.086914,-2195.852539,588.370972,1628.239990,-2132.227051,635.513306,1779.306641,-2151.940918,597.366516,1624.345825,-2115.910645,572.562256,1466.703857,-2117.647949,569.453064,1466.737305,-2114.173340,575.671509,1466.670410,-2113.459473,540.015320,1322.236206,-2115.196289,536.929749,1322.168945,-2116.933594,533.844177,1322.101929,-2112.418457,568.151489,1466.636719,-2110.663574,560.631531,1466.602905,-2109.950195,524.958740,1322.371826,-2111.705078,532.487061,1322.303955,-2160.041016,548.456909,1467.553223,-2209.418457,536.282349,1468.503418,-2208.688965,501.565887,1318.555664,-2159.319824,513.262329,1320.463745,-2207.660156,544.092468,1468.469727,-2205.902344,551.902649,1468.435791,-2205.174316,517.213989,1318.691650,-2206.931641,509.389954,1318.623657,-2204.166992,550.240967,1468.402344,-2202.431152,548.579224,1468.369019,-2201.703613,513.819946,1318.825684,-2203.438477,515.516968,1318.758545,-2160.039551,559.016113,1467.553101,-2159.318359,523.832092,1320.463867,-2108.576660,507.674561,1198.549316,-2110.308594,504.623718,1198.394409,-2106.844727,510.725403,1198.704346,-2095.063965,486.541840,1091.256592,-2096.783691,483.533630,1091.009644,-2098.503418,480.525421,1090.762695,-2105.095215,503.167511,1198.860840,-2103.345703,495.609650,1199.017456,-2091.588867,471.339996,1091.755371,-2093.326172,478.940918,1091.505859,-2152.574219,484.565216,1194.612671,-2201.802734,473.520782,1190.208008,-2189.363770,450.800995,1077.719360,-2140.476074,461.070496,1084.737305,-2200.050293,481.374481,1190.364868,-2198.297852,489.228180,1190.521729,-2185.882813,466.587219,1078.219116,-2187.623535,458.694122,1077.969238,-2196.567383,487.486481,1190.676514,-2194.836914,485.744751,1190.831299,-2182.445801,463.001099,1078.712402,-2184.164551,464.794189,1078.465820,-2152.572754,495.184235,1194.612793,-2140.475098,471.763275,1084.737549,-2080.548828,463.243927,994.714539,-2082.247559,460.283051,994.354736,-2078.850586,466.204773,995.074341,-2058.206055,449.366913,910.089111,-2059.866699,446.455841,909.592346,-2061.526855,443.544769,909.095581,-2077.134766,458.555206,995.437744,-2075.418945,450.905640,995.801147,-2054.851074,433.955902,911.092773,-2056.528809,441.661407,910.590942,-2123.697754,441.483063,985.574951,-2171.976563,432.060486,975.348694,-2149.248047,416.875641,882.850952,-2102.049805,425.415771,896.971924,-2170.257813,439.996796,975.712769,-2168.539063,447.933105,976.076904,-2145.887695,432.846069,883.856445,-2147.567871,424.860840,883.353699,-2166.842285,446.084839,976.436340,-2165.145020,444.236572,976.795776,-2142.569336,429.035828,884.849182,-2144.228516,430.940948,884.352783,-2123.696289,452.259827,985.575256,-2102.048340,436.290283,896.972351,-2034.728882,432.819794,835.571350,-2036.327515,429.958771,834.910217,-2033.130005,435.680817,836.232544,-2003.739624,424.663422,773.236938,-2005.241089,421.851746,772.388306,-2006.742554,419.040100,771.539795,-2031.515015,427.910522,836.900452,-2029.899780,420.140198,837.568359,-2000.705444,408.980286,774.951538,-2002.222534,416.821869,774.094299,-2075.342773,412.481567,818.774780,-2120.785645,404.822937,799.981201,-2086.070313,395.394531,726.707520,-2043.388062,402.187408,750.829529,-2119.167969,412.864685,800.650269,-2117.550293,420.906433,801.319458,-2083.031250,411.601746,728.425110,-2084.550781,403.498138,727.566284,-2115.952637,418.944977,801.979980,-2114.355469,416.983490,802.640625,-2080.030762,407.568848,730.120911,-2081.531250,409.585297,729.273010,-2075.341309,423.471130,818.775391,-2043.386597,413.304474,750.830322,-1971.508667,413.067657,719.780029,-1972.866089,410.303711,718.725220,-1970.151245,415.831604,720.834839,-1932.203735,408.711029,678.326599,-1933.369019,405.994110,677.067505,-1934.534546,403.277191,675.808350,-1968.779907,407.914734,721.900513,-1967.408325,399.997925,722.966125,-1929.848999,392.722473,680.870667,-1931.026245,400.716766,679.598633,-2005.995728,394.040222,692.982117,-2044.582886,388.082550,662.998108,-1996.104858,382.448151,609.287598,-1962.976929,387.585327,645.079163,-2043.209106,396.251007,664.065613,-2041.835571,404.419464,665.133118,-1993.746216,398.917694,611.836121,-1994.925659,390.682922,610.561890,-2040.479126,402.350281,666.187012,-2039.122925,400.281097,667.240967,-1991.417358,394.676117,614.352234,-1992.581909,396.796906,613.094177,-2005.994507,405.292419,692.983093,-1962.975952,398.976654,645.080322,-1890.660034,400.157715,643.571777,-1891.584351,397.487976,642.130920,-1889.735718,402.827454,645.012634,-1841.927124,397.941467,620.325867,-1842.585083,395.321625,618.741577,-1843.243042,392.701782,617.157227,-1888.801880,394.755432,646.468262,-1887.868042,386.683380,647.923828,-1840.597534,381.632904,623.526855,-1841.262329,389.787201,621.926392,-1914.142456,382.367981,606.967285,-1940.417114,378.052551,566.010742,-1878.009888,374.753998,533.458923,-1859.303589,378.193451,578.492920,-1939.481812,386.353546,567.468872,-1938.546265,394.654510,568.926941,-1876.678101,391.351898,536.665405,-1877.343872,383.052948,535.062195,-1937.622925,392.482178,570.366577,-1936.699341,390.309875,571.806152,-1875.363159,387.044678,539.831238,-1876.020386,389.198273,538.248352,-1914.141724,393.898926,606.968567,-1859.303101,389.873230,578.494263,-1788.348022,391.248993,602.025391,-1788.738647,388.684265,600.351563,-1787.957397,393.813721,603.699219,-1727.138062,390.700500,595.223999,-1727.278931,388.195221,593.505249,-1727.419800,385.689972,591.786560,-1787.562866,385.568512,605.390137,-1787.168335,377.323303,607.081116,-1726.853882,374.010101,598.696533,-1726.995972,382.355286,596.960266,-1798.270874,374.867035,559.502319,-1809.373413,372.410767,511.923584,-1737.622192,370.545197,495.896484,-1730.855347,372.510834,549.841919,-1808.978149,380.571259,513.617432,-1808.582886,388.731750,515.311218,-1737.374390,386.452881,499.410767,-1737.498413,378.499023,497.653625,-1808.192749,386.737305,516.983643,-1807.802612,384.742859,518.656006,-1734.290894,383.377747,507.900299,-1734.431519,385.200165,506.183075,-1798.270386,386.713562,559.503784,-1730.855103,384.533844,549.843384,-1658.707886,386.415741,593.263184,-1658.635620,383.973358,591.534912,-1658.780396,388.858093,594.991394,-1582.710571,387.952881,603.179138,-1582.460815,385.558960,601.464172,-1582.211304,383.165039,599.749268,-1658.853638,380.403473,596.737305,-1658.926636,371.948853,598.483215,-1583.214722,370.872437,606.644043,-1582.962769,379.412659,604.911621,-1656.868286,371.247009,549.358093,-1654.809692,370.545197,500.232971,-1571.997192,370.545166,504.569489,-1576.119995,370.708801,557.897095,-1655.028687,384.687805,505.457458,-1654.956421,386.452881,503.730743,-1655.100952,382.922699,507.184204,-1570.028687,382.922699,516.047852,-1569.779419,384.764526,514.334412,-1572.538208,386.452881,508.050720,-1656.868286,383.448029,549.359558,-1576.119995,383.043884,557.898560,-1498.363647,385.273376,618.273438,-1497.972046,382.895599,616.582153,-1498.755005,387.651154,619.964844,-1407.303833,387.651123,645.299744,-1406.796021,385.273376,643.638672,-1406.287964,382.895599,641.977661,-1499.150513,379.082367,621.673462,-1499.545776,370.513611,623.382141,-1408.330200,370.513611,648.655762,-1407.817017,379.082367,646.977783,-1488.420532,370.529388,575.305298,-1477.295288,370.545166,527.228516,-1379.455444,370.545166,554.225647,-1393.892700,370.529388,601.440674,-1572.267700,378.499023,506.310120,-1477.691284,378.805908,528.940125,-1478.087280,387.066650,530.651733,-1380.483276,387.527008,557.587524,-1379.969360,379.036072,555.906616,-1478.478394,384.994690,532.341614,-1478.869507,382.922699,534.031494,-1381.498413,382.922699,560.906677,-1380.990601,385.224854,559.247070,-1488.420776,382.909149,575.306763,-1393.893188,382.909149,601.442139,-1308.138306,385.273376,677.507568,-1307.528931,382.895599,675.880005,-1308.747681,387.651123,679.135071,-1205.692749,387.651123,721.019775,-1204.995483,385.273346,719.427307,-1204.298340,382.895599,717.834839,-1309.363037,379.082367,680.779236,-1309.978638,370.513611,682.423401,-1207.101318,370.513611,724.237305,-1206.397095,379.082367,722.628540,-1292.659302,370.529388,636.161133,-1275.340210,370.545166,589.898865,-1167.465454,370.545166,633.705566,-1187.283325,370.529388,678.971436,-1275.956665,379.112793,591.545898,-1276.573364,387.680450,593.192871,-1168.876465,387.680420,636.928589,-1168.170898,379.112793,635.317017,-1277.182007,385.301575,594.818970,-1277.790894,382.922699,596.445068,-1170.269653,382.922668,640.110718,-1169.573120,385.301544,638.519653,-1292.659912,382.909149,636.162537,-1187.284058,382.909149,678.972778,-1099.972900,385.273346,768.945313,-1099.199585,382.895599,767.387817,-1100.746216,387.651123,770.502930,-994.223755,387.651123,826.310425,-993.390747,385.273346,824.783203,-992.557495,382.895569,823.255859,-1101.527466,379.082367,772.076416,-1102.308594,370.513611,773.649902,-995.906860,370.513580,829.396240,-995.065430,379.082336,827.853333,-1080.327759,370.529358,729.376404,-1058.346924,370.545135,685.102905,-948.545532,370.545135,742.570862,-972.226196,370.529358,785.983521,-1059.129517,379.112793,686.679077,-1059.911987,387.680420,688.255249,-950.231567,387.680420,745.661926,-949.388550,379.112793,744.116333,-1060.684692,385.301544,689.811462,-1061.457153,382.922668,691.367676,-951.896240,382.922668,748.713867,-951.063843,385.301544,747.187866,-1080.328491,382.909119,729.377686,-972.226929,382.909119,785.984863,-885.569092,385.273346,885.662292,-884.696899,382.895569,884.156128,-886.441162,387.651093,887.168335,-777.231812,387.651093,951.591187,-776.339478,385.273315,950.096802,-775.446899,382.895569,948.602478,-887.322266,379.082336,888.689880,-888.203247,370.513580,890.211426,-779.035034,370.513580,954.610596,-778.133423,379.082336,953.100891,-863.412476,370.529358,847.400269,-838.621704,370.545135,804.589172,-728.300171,370.545135,869.654663,-753.667603,370.529358,912.132629,-839.504272,379.112762,806.113281,-840.386841,387.680420,807.637451,-730.106201,387.680389,872.679260,-729.203247,379.112762,871.166992,-841.258179,385.301544,809.142273,-842.129639,382.922668,810.647095,-731.889648,382.922638,875.665466,-730.997925,385.301514,874.172363,-863.413208,382.909119,847.401611,-753.668335,382.909119,912.133911,-665.533325,385.273315,1016.600952,-664.637329,382.895569,1015.108582,-666.429321,387.651093,1018.093384,-553.825439,387.651093,1085.169189,-552.942261,385.273315,1083.669434,-552.059204,382.895538,1082.169678,-667.334473,379.082336,1019.601135,-668.239624,370.513550,1021.108887,-555.609741,370.513550,1088.199707,-554.717651,379.082306,1086.684570,-642.772095,370.529327,978.686523,-617.304810,370.545135,936.264221,-505.406860,370.545105,1002.935059,-530.508179,370.529327,1045.567383,-618.211548,379.112762,937.774536,-619.118164,387.680389,939.284851,-507.193970,387.680389,1005.970703,-506.300415,379.112762,1004.452881,-620.013306,385.301514,940.776001,-620.908447,382.922638,942.267090,-508.958618,382.922638,1008.967651,-508.076294,385.301514,1007.469238,-642.772827,382.909088,978.687805,-530.508911,382.909088,1045.568726,-438.358154,385.273315,1149.797119,-437.503906,382.895538,1148.281006,-439.212280,387.651062,1151.313232,-322.347534,387.651062,1215.002686,-321.539063,385.273285,1213.462402,-320.730713,382.895538,1211.922119,-440.075317,379.082306,1152.844971,-440.938354,370.513550,1154.376709,-323.980957,370.513550,1218.114990,-323.164185,379.082306,1216.558838,-416.657471,370.529327,1111.280640,-392.376831,370.545105,1068.184692,-278.022888,370.545105,1130.548462,-301.001892,370.529327,1174.331787,-393.241211,379.112732,1069.718994,-394.105591,387.680389,1071.253296,-279.658997,387.680359,1133.666016,-278.840942,379.112732,1132.107178,-394.959106,385.301514,1072.768066,-395.812500,382.922638,1074.282837,-281.274414,382.922607,1136.743774,-280.466736,385.301483,1135.204834,-416.658203,382.909088,1111.281982,-301.002563,382.909088,1174.333008,-202.243713,385.273285,1273.144043,-201.499023,382.895538,1271.572754,-202.988525,387.651062,1274.715332,-80.879272,387.715637,1328.895020,-80.217285,385.348053,1327.288330,-79.555420,382.980438,1325.681641,-203.740906,379.082306,1276.302734,-204.493408,370.513550,1277.890137,-82.216553,370.602814,1332.141602,-81.547852,379.159241,1330.518311,-183.323242,370.529297,1233.226074,-162.153198,370.545074,1188.562012,-44.588257,371.229706,1240.797607,-63.402405,370.916260,1286.469604,-162.906799,379.112732,1190.152100,-163.660522,387.680359,1191.742188,-45.927856,388.289520,1244.049561,-45.258057,379.759613,1242.423584,-164.404663,385.301483,1193.312012,-165.148743,382.922607,1194.881958,-47.250488,383.486023,1247.260132,-46.589111,385.887787,1245.654785,-183.323853,382.909058,1233.227295,-63.402954,383.233246,1286.470947,44.794983,385.572327,1374.342041,45.353333,383.235199,1372.697754,44.236572,387.909454,1375.986328,172.582825,390.429810,1414.385010,173.016846,388.156250,1412.705078,173.450745,385.882721,1411.025146,43.672485,379.390045,1377.647705,43.108398,370.870667,1379.308838,171.705933,373.535248,1417.779297,172.144409,381.982513,1416.082275,58.979858,372.077087,1332.568237,74.851318,373.283539,1285.827637,196.377502,378.789734,1322.275635,184.041748,376.162476,1370.027466,74.286255,381.700256,1287.491699,73.721252,390.116974,1289.155762,195.499146,395.313324,1325.675781,195.938354,387.051514,1323.975708,73.163391,387.646637,1290.798584,72.605469,385.176331,1292.441528,194.631958,390.174713,1329.032593,195.065552,392.744019,1327.354248,58.979431,384.205750,1332.569580,184.041382,388.028717,1370.028931,304.671906,395.309967,1440.777588,304.960388,393.145905,1439.068359,304.383362,397.474030,1442.487061,439.764496,409.509460,1458.668945,439.889954,407.470917,1456.941284,440.015442,405.432373,1455.213623,304.091888,389.144409,1444.213867,303.800415,380.814789,1445.940674,439.511017,393.100586,1462.159912,439.637756,401.305023,1460.414551,312.001343,385.323059,1397.352783,320.202271,389.831360,1348.764893,446.643402,406.106567,1363.939575,443.077209,399.603577,1413.049683,319.910278,397.930267,1350.494751,319.618347,406.029144,1352.224487,446.389465,422.005432,1367.436279,446.516418,414.056000,1365.687988,319.330048,403.345825,1353.932373,319.041809,400.662476,1355.640137,446.138763,416.409698,1370.888672,446.264099,419.207581,1369.162476,312.001129,396.904205,1397.354248,443.077087,410.921021,1413.051147,578.800781,425.076569,1459.577759,578.749084,423.149719,1457.847656,578.852417,427.003418,1461.307861,721.277405,449.786224,1448.927490,721.039368,447.957031,1447.213867,720.801392,446.127869,1445.500244,578.904663,418.893707,1463.055908,578.956909,410.783997,1464.803711,721.758301,433.698792,1452.390137,721.517822,441.742493,1450.658936,577.487793,419.048676,1415.623779,576.018677,427.313385,1366.443848,708.227417,453.277405,1354.965698,714.992859,443.488098,1403.677979,576.070984,435.148285,1368.194702,576.123291,442.983185,1369.945557,708.709106,468.784454,1358.434082,708.468262,461.030914,1356.699829,576.174927,440.084778,1371.674194,576.226563,437.186371,1373.402832,709.184692,462.815186,1361.858521,708.946899,465.799805,1360.146240,577.487793,430.168030,1415.625244,714.993042,454.471527,1403.679443,866.240906,475.942444,1418.376465,865.812256,474.196716,1416.701050,866.669556,477.688171,1420.051758,1006.976563,508.431366,1375.645996,1006.348633,506.751953,1374.038330,1005.720703,505.072571,1372.430542,867.102539,469.683472,1421.744263,867.535522,461.678772,1423.436768,1008.245361,492.441742,1378.894531,1007.610962,500.436554,1377.270264,855.352173,472.751465,1375.814941,843.168701,483.824158,1328.193115,972.546448,516.584229,1287.493896,990.395874,504.513000,1333.194214,843.602417,491.527710,1329.888428,844.036133,499.231293,1331.583740,973.817322,531.959167,1290.747803,973.181885,524.271667,1289.120850,844.464417,496.175079,1333.257690,844.892639,493.118866,1334.931641,975.072144,525.737549,1293.960449,974.444702,528.848328,1292.354126,855.352478,483.657776,1375.816406,990.396423,515.405029,1333.195435,1133.305786,538.104736,1315.172485,1132.465332,536.471619,1313.668945,1134.146240,539.737915,1316.676025,1245.482178,570.623779,1245.136475,1244.430664,569.019775,1243.773926,1243.379150,567.415710,1242.411255,1134.995361,531.721680,1318.195068,1135.844482,523.705444,1319.714111,1247.606689,554.469055,1247.889771,1246.544434,562.546448,1246.513184,1111.954346,536.446777,1276.975098,1088.064331,549.188110,1234.236084,1187.831543,580.734314,1170.424438,1217.719116,567.601685,1209.157104,1088.914795,556.895874,1235.757568,1089.765381,564.603577,1237.279053,1189.959473,596.244995,1173.182251,1188.895508,588.489624,1171.803345,1090.604980,561.457520,1238.781372,1091.444824,558.311462,1240.283691,1192.060669,589.947083,1175.905151,1191.010132,593.096069,1174.543701,1111.955078,547.391541,1276.976196,1217.719971,578.681396,1209.158081,1337.041260,598.515747,1161.837402,1335.795044,596.926636,1160.652588,1338.287598,600.104858,1163.022217,1413.309814,628.347778,1072.184814,1411.895508,626.761475,1071.204590,1410.481079,625.175171,1070.224365,1339.546631,591.918396,1164.218994,1340.805664,583.731934,1165.415894,1416.167603,611.706055,1074.165283,1414.738770,620.026917,1073.175049,1305.381348,597.026489,1131.739868,1269.957153,610.321106,1098.063721,1335.760498,638.228455,1018.440369,1375.964111,624.967285,1046.302856,1271.218262,618.142578,1099.262695,1272.479492,625.964050,1100.461670,1338.623047,654.026123,1020.424377,1337.191895,646.127319,1019.432373,1273.724609,622.857422,1101.645264,1274.969727,619.750854,1102.828979,1341.449463,647.951416,1022.383057,1340.036255,650.988770,1021.403687,1305.382446,608.338745,1131.740723,1375.965332,636.563293,1046.303711,1469.750854,653.925781,973.717041,1468.205322,652.332397,972.957642,1471.296265,655.519226,974.476440,1513.280273,682.099487,871.778931,1511.640381,680.446167,871.245239,1510.000610,678.792847,870.711487,1472.857666,647.061401,975.243530,1474.418945,638.603516,976.010620,1516.593628,664.890747,872.856934,1514.937012,673.495117,872.317871,1430.489990,651.669922,954.425659,1386.561035,664.736328,932.840637,1423.369751,689.953369,842.519287,1469.981689,677.421997,857.688110,1388.124878,672.716431,933.609131,1389.688843,680.696594,934.377625,1426.688599,706.076782,843.599487,1425.029175,698.015076,843.059387,1391.232910,677.737000,935.136353,1392.777100,674.777405,935.895020,1429.965332,700.318420,844.665833,1428.327026,703.197571,844.132690,1430.491211,663.554932,954.426331,1469.983032,689.555664,857.688660,1538.597168,706.760132,765.659546,1536.899292,704.951416,765.345032,1540.295166,708.568970,765.973999,1553.515137,734.339417,658.742432,1551.789673,732.361633,658.636719,1550.064087,730.383789,658.531006,1542.010620,699.801453,766.291626,1543.726074,691.033936,766.609253,1557.001709,716.580872,658.955933,1555.258423,725.460144,658.849182,1495.462036,702.510986,757.670288,1447.197998,713.988098,748.731323,1458.905762,736.632202,652.946167,1507.953735,726.606567,655.951050,1448.916260,722.127991,749.049622,1450.634521,730.267944,749.367920,1462.398071,753.059570,653.160217,1460.651855,744.845886,653.053223,1452.330933,727.465942,749.682129,1454.027466,724.664001,749.996277,1465.846069,747.601318,653.371460,1464.122070,750.330444,653.265808,1495.463379,714.807678,757.670654,1507.955078,738.992554,655.951233,1552.385986,756.744507,551.853577,1550.657715,754.666138,551.942383,1554.114258,758.822876,551.764771,1543.216309,781.346436,446.571655,1541.506104,779.204468,446.842560,1539.796021,777.062622,447.113495,1555.860352,749.951050,551.675049,1557.606445,741.079224,551.585327,1546.671387,763.731201,446.024323,1544.943848,772.538818,446.298004,1508.479492,749.378418,554.109375,1459.352783,757.677551,556.633423,1449.452881,776.770569,461.426025,1498.062134,770.250854,453.725128,1461.101563,765.959412,556.543579,1462.850586,774.241211,556.453735,1452.913940,793.458679,460.877655,1451.183350,785.114624,461.151825,1464.577393,771.579468,556.364990,1466.304199,768.917725,556.276245,1456.331177,788.258301,460.336273,1454.622559,790.858459,460.606964,1508.480957,761.791870,554.109314,1498.063599,782.660400,453.724884,1520.269653,799.037537,345.136230,1518.594971,796.837891,345.578735,1521.944336,801.237244,344.693726,1491.310303,818.204468,247.606094,1489.688477,815.953369,248.213654,1488.066772,813.702209,248.821182,1523.636230,792.488159,344.246704,1525.328125,783.739014,343.799652,1494.587158,800.810425,246.378540,1492.948730,809.507446,246.992325,1477.724365,788.648438,356.378143,1430.120361,793.557861,368.956665,1402.390137,807.781738,280.917572,1448.488647,804.296021,263.648071,1431.815186,801.957886,368.508850,1433.510010,810.357910,368.061066,1405.672607,824.680054,279.687988,1404.031494,816.230835,280.302765,1435.183228,807.812988,367.618927,1436.856445,805.268188,367.176788,1408.913208,819.687622,278.473969,1407.292969,822.183838,279.080994,1477.725708,801.052979,356.377777,1448.489990,816.694946,263.647583,1450.774536,829.661743,157.553879,1449.223755,827.366333,158.323853,1452.325317,831.957153,156.783905,1405.839600,842.443237,73.704697,1404.384277,840.111938,74.638351,1402.929077,837.780762,75.572006,1453.892090,823.305054,156.006042,1455.458740,814.652893,155.228165,1408.779785,825.211365,71.818253,1407.309692,833.827271,72.761475,1411.377930,816.918701,177.114517,1367.297363,819.184448,199.000854,1326.050537,827.783081,124.896240,1367.415161,826.497192,98.357239,1368.866699,827.675537,198.221695,1370.435913,836.166504,197.442551,1328.995605,844.832031,123.006638,1327.523193,836.307556,123.951431,1371.985352,833.711731,196.673264,1373.534790,831.256958,195.903961,1331.903564,839.988708,121.140976,1330.449707,842.410339,122.073807,1411.379272,829.311646,177.113907,1367.416382,838.884766,98.356491,1351.374512,847.253296,0.948486,1350.045898,844.896240,2.050949,1352.703125,849.610229,-0.153976,1293.754395,853.740967,-63.088573,1292.591797,851.368408,-61.818218,1291.429321,848.995850,-60.547855,1354.045410,841.020508,-1.267735,1355.387451,832.430664,-2.381493,1296.103271,836.592896,-65.655334,1294.928833,845.166992,-64.371964,1317.623047,833.012451,28.955978,1279.858643,833.594360,60.293449,1230.014160,836.907471,6.564758,1263.058838,836.750244,-29.545284,1281.203125,842.142761,59.177826,1282.547485,850.691162,58.062195,1232.366943,854.033203,3.993696,1231.190674,845.470337,5.279230,1283.874878,848.293213,56.960701,1285.202393,845.895386,55.859207,1234.689941,849.265869,1.455200,1233.528442,851.649536,2.724449,1317.624146,845.395752,28.955078,1263.059570,849.130859,-29.546322,1228.882813,852.740112,-111.964279,1227.934082,850.362305,-110.532974,1229.831543,855.117859,-113.395584,1165.277344,855.117859,-151.678986,1164.541016,852.740112,-150.117523,1163.804810,850.362305,-148.556091,1230.790283,846.549072,-114.841583,1231.748779,837.980347,-116.287567,1166.765137,837.980347,-154.833954,1166.021240,846.549072,-153.256470,1204.779053,837.996094,-75.602585,1177.809448,838.011902,-34.917591,1124.906982,838.011902,-66.065262,1145.836060,837.996094,-110.449615,1178.769531,846.579529,-36.365993,1179.729736,855.147156,-37.814404,1126.397217,855.147156,-69.225479,1125.652100,846.579529,-67.645370,1180.677612,852.768311,-39.244457,1181.625610,850.389404,-40.674511,1127.868530,850.389404,-72.345642,1127.132813,852.768311,-70.785553,1204.779785,850.375854,-75.603745,1145.836670,850.375854,-110.450867,1103.860229,852.740112,-176.905792,1103.286377,850.362305,-175.268860,1104.434082,855.117859,-178.542725,1047.598999,855.117859,-196.323151,1047.175903,852.740112,-194.643250,1046.752930,850.362305,-192.963348,1105.013794,846.549072,-180.196472,1105.593506,837.980347,-181.850250,1048.453857,837.980347,-199.717499,1048.026367,846.549072,-198.020325,1089.281738,837.996094,-135.320068,1072.969727,838.011902,-88.789871,1024.401367,838.011902,-104.214447,1036.427612,837.996094,-151.965973,1073.550537,846.579529,-90.446365,1074.131226,855.147156,-92.102875,1025.257568,855.147156,-107.614380,1024.829468,846.579529,-105.914413,1074.704590,852.768311,-93.738373,1075.277954,850.389404,-95.373886,1026.103027,850.389404,-110.971252,1025.680298,852.768311,-109.292816,1089.282227,850.375854,-135.321381,1036.427979,850.375854,-151.967316,994.823730,852.740112,-205.644073,994.578247,850.362305,-203.931610,995.069336,855.117859,-207.356567,946.650879,855.117859,-212.040863,946.608154,852.740112,-210.314240,946.565369,850.362305,-208.587616,995.317383,846.549072,-209.086639,995.565491,837.980347,-210.816711,946.737305,837.980347,-215.529541,946.694092,846.549072,-213.785217,988.585449,837.996094,-162.139313,981.605347,838.011902,-113.461914,944.306702,838.011902,-117.371124,945.521973,837.996094,-166.450348,981.853821,846.579529,-115.194855,982.102356,855.147156,-116.927795,944.393311,855.147156,-120.865616,944.349976,846.579590,-119.118362,982.347656,852.768311,-118.638779,982.593018,850.389404,-120.349762,944.478699,850.389404,-124.315842,944.435974,852.768311,-122.590729,988.585632,850.375854,-162.140686,945.522034,850.375854,-166.451721,902.333374,852.740112,-209.059662,902.517212,850.362305,-207.345367,902.149536,855.117859,-210.773926,861.621094,855.117859,-204.014114,862.044434,852.740112,-202.344406,862.467712,850.362305,-200.674698,901.963745,846.549072,-212.505798,901.778015,837.980347,-214.237671,860.765625,837.980347,-207.387802,861.193359,846.549072,-205.700958,907.004089,837.996094,-165.509277,912.230164,838.011902,-116.780853,884.832397,838.011902,-112.464600,872.799072,837.996094,-159.926208,912.044128,846.579590,-118.515610,911.858154,855.147217,-120.250366,883.975647,855.147217,-115.843903,884.404053,846.579590,-114.154266,911.674438,852.768311,-121.963150,911.490723,850.389404,-123.675934,883.129761,850.389404,-119.180420,883.552734,852.768311,-117.512161,907.003967,850.375854,-165.510651,872.798706,850.375854,-159.927551,825.786133,852.740112,-190.632599,826.450867,850.362305,-189.045441,825.121338,855.117859,-192.219757,792.792114,855.117859,-176.140366,793.686035,852.740112,-174.668442,794.579956,850.362305,-173.196533,824.449768,846.549072,-193.823212,823.778137,837.980347,-195.426666,790.985840,837.980347,-179.114441,791.888977,846.549072,-177.627396,842.674072,837.996094,-150.311249,861.570068,838.011902,-105.195862,841.806763,838.011902,-95.434814,816.396301,837.996094,-137.274628,860.897339,846.579590,-106.801987,860.224670,855.147217,-108.408112,839.997559,855.147217,-98.413849,840.902161,846.579590,-96.924332,859.560486,852.768311,-109.993896,858.896301,850.389404,-111.579681,838.211182,850.389404,-101.355133,839.104370,852.768311,-99.884491,842.673584,850.375854,-150.312561,816.395569,850.375854,-137.275833,765.871643,852.740112,-155.196136,766.968384,850.362305,-153.866882,764.774963,855.117859,-156.525421,740.956055,855.117859,-134.287231,742.224548,852.740112,-133.116577,743.493042,850.362305,-131.945938,763.667053,846.549072,-157.868317,762.559082,837.980347,-159.211243,738.393066,837.980347,-136.652512,739.674561,846.549072,-135.469879,793.732666,837.996094,-121.426453,824.906189,838.011902,-83.641647,810.507446,838.011902,-70.101395,774.450195,837.996094,-103.376968,823.796387,846.579590,-84.986816,822.686584,855.147217,-86.331970,807.940125,855.147217,-72.470657,809.223755,846.579590,-71.286026,821.590881,852.768311,-87.660080,820.495117,850.389404,-88.988205,805.405334,850.389404,-74.809891,806.672729,852.768311,-73.640274,793.731750,850.375854,-121.427536,774.449158,850.375854,-103.377930,722.626221,852.740112,-109.330627,724.031067,850.362305,-108.323166,721.221375,855.117859,-110.338089,705.224304,855.117859,-85.457199,706.734375,852.740112,-84.611038,708.244446,850.362305,-83.764893,719.802063,846.549072,-111.355896,718.382813,837.980347,-112.373688,702.173096,837.980347,-87.166885,703.698669,846.549072,-86.312042,758.316162,837.996094,-83.736374,798.249573,838.011902,-55.099033,788.021973,838.011902,-39.062511,745.097534,837.996094,-63.114704,796.827942,846.579590,-56.118542,795.406250,855.147217,-57.138042,784.965698,855.147217,-40.775051,786.493835,846.579590,-39.918781,794.002625,852.768311,-58.144634,792.598999,850.389404,-59.151226,781.948181,850.389404,-42.465908,783.456909,852.768311,-41.620480,758.315063,850.375854,-83.737198,745.096313,850.375854,-63.115398,694.206665,852.740112,-59.730625,695.795166,850.362305,-59.037502,692.618164,855.117859,-60.423748,682.641174,855.118774,-31.052990,684.289246,852.740967,-30.541256,685.937256,850.363159,-30.029522,691.013428,846.549072,-61.123997,689.408630,837.980347,-61.824238,679.310913,837.981323,-32.086964,680.976074,846.550049,-31.569981,734.561279,837.996094,-42.122005,779.713867,838.011902,-22.419769,773.005737,838.010864,-2.994801,726.158325,837.996094,-17.540886,778.106445,846.579590,-23.121178,776.499023,855.147217,-23.822586,769.670349,855.146240,-4.030495,771.338074,846.578613,-3.512650,774.911865,852.768311,-24.515114,773.324829,850.389404,-25.207642,766.376953,850.388611,-5.053078,768.023682,852.767456,-4.541786,734.559937,850.375854,-42.122570,726.157104,850.375854,-17.541306,676.228088,852.743652,7.105158,677.924927,850.365723,7.370501,674.531250,855.121521,6.839815,672.816467,846.552917,6.571756,671.101624,837.984253,6.303696,719.339783,837.996094,13.846039,767.578003,838.007935,21.388382,765.861023,846.575745,21.119873,764.144104,855.143555,20.851366,762.448364,852.764771,20.586252,760.752625,850.386047,20.321136,719.338806,850.375854,13.845819,719.834351,636.739563,2204.727051,-1654.882935,378.499023,501.981873], - - "morphTargets": [], - - "morphColors": [], - - "normals": [0.80432,0.58736,0.089823,0.80431,0.58736,0.089917,0.80322,0.58863,0.091418,0.80322,0.58862,0.091414,0.8043,0.58736,0.090011,0.80322,0.58863,0.091422,0.79592,0.58852,0.14198,0.79592,0.58852,0.14201,0.79591,0.58852,0.14204,-0.97381,0.19952,-0.10903,-0.97379,0.19952,-0.10916,-0.97346,0.20023,-0.11085,-0.97346,0.20023,-0.11084,-0.97378,0.19952,-0.10928,-0.97346,0.20023,-0.11086,-0.96453,0.20023,-0.17202,-0.96452,0.20023,-0.17205,-0.96452,0.20023,-0.17208,0.000157,-1,7.7e-05,0.00016,-1,1.8e-05,8e-05,-1,9e-06,7.6e-05,-1,5.1e-05,0.000164,-1,-4.5e-05,8.3e-05,-1,-2.9e-05,2.2e-05,-1,-1.7e-05,1.9e-05,-1,4e-06,1.6e-05,-1,2.7e-05,0.9745,0.19976,0.10225,0.97448,0.19976,0.10238,0.97349,0.20032,0.1104,0.97349,0.20032,0.1104,0.97447,0.19976,0.1025,0.97349,0.20032,0.11041,0.96425,0.20025,0.17357,0.96424,0.20025,0.1736,0.96424,0.20025,0.17363,-0.80498,0.58724,-0.084632,-0.80497,0.58724,-0.084742,-0.80334,0.58851,-0.091092,-0.80334,0.58851,-0.091084,-0.80495,0.58724,-0.084853,-0.80334,0.58851,-0.091101,-0.79573,0.58849,-0.14318,-0.79572,0.58849,-0.1432,-0.79571,0.5885,-0.14322,-0.000164,1,3.6e-05,-0.00016,1,-1.7e-05,-8e-05,1,-9e-06,-8.3e-05,1,2.4e-05,-0.000157,1,-6.8e-05,-7.7e-05,1,-4.4e-05,-1.6e-05,1,-2.3e-05,-2e-05,1,-4e-06,-2.3e-05,1,1.4e-05,0.77741,0.58831,0.22255,0.77741,0.5883,0.22257,0.77741,0.58831,0.22252,0.74926,0.58822,0.3043,0.74926,0.58822,0.30432,0.74925,0.58821,0.30434,-0.94195,0.20014,-0.26959,-0.94194,0.20014,-0.26962,-0.94196,0.20014,-0.26956,-0.90779,0.2001,-0.36862,-0.90778,0.2001,-0.36864,-0.90777,0.2001,-0.36867,-1e-06,-1,-0,-2e-06,-1,6e-06,0,-1,-6e-06,-1e-06,-1,-1e-06,0.94151,0.20014,0.27111,0.9415,0.20014,0.27113,0.94152,0.20014,0.27108,0.90725,0.2001,0.36993,0.90724,0.2001,0.36995,0.90724,0.2001,0.36997,-0.77707,0.58831,-0.22371,-0.77707,0.58832,-0.22373,-0.77708,0.58831,-0.22369,-0.74886,0.58822,-0.3053,-0.74885,0.58822,-0.30532,-0.74884,0.58823,-0.30534,0,1,0,-1e-06,1,5e-06,2e-06,1,-5e-06,0.70977,0.58812,0.38773,0.70977,0.58812,0.38775,0.70978,0.58813,0.38771,0.65665,0.58763,0.47276,0.65664,0.58763,0.47278,0.65663,0.58763,0.4728,-0.86253,0.20005,-0.46478,-0.86252,0.20005,-0.4648,-0.86254,0.20005,-0.46477,-0.80849,0.20017,-0.55342,-0.80849,0.20017,-0.55342,-0.80849,0.20017,-0.55342,0.003056,-0.99998,-0.005561,0.002931,-0.99998,-0.005335,0.003165,-0.99998,-0.005757,0.013954,-0.99962,-0.023575,0.01345,-0.99965,-0.022857,0.012866,-0.99967,-0.022024,0.86089,0.20005,0.46781,0.86088,0.20005,0.46783,0.8609,0.20005,0.4678,0.80233,0.20001,0.56237,0.80233,0.20001,0.56238,0.80232,0.20001,0.56239,-0.713,0.5881,-0.3818,-0.71299,0.5881,-0.38181,-0.713,0.5881,-0.3818,-0.67349,0.58872,-0.447,-0.67351,0.58872,-0.44699,-0.67352,0.58871,-0.44698,-0.003055,0.99998,0.005557,-0.003149,0.99998,0.005727,-0.002949,0.99998,0.005364,-0.012944,0.99967,0.022134,-0.01344,0.99965,0.022842,-0.013877,0.99963,0.023466,0.59285,0.58586,0.55254,0.59282,0.58585,0.55257,0.59287,0.58586,0.55251,0.52372,0.58305,0.6211,0.52368,0.58305,0.62114,0.52363,0.58305,0.62118,-0.74765,0.20045,-0.63312,-0.74766,0.20045,-0.6331,-0.74764,0.20045,-0.63313,-0.68173,0.20094,-0.70347,-0.68175,0.20094,-0.70345,-0.68178,0.20094,-0.70342,0.028618,-0.99855,-0.045567,0.027218,-0.99866,-0.043964,0.029825,-0.99845,-0.046949,0.046486,-0.99654,-0.068955,0.044262,-0.99678,-0.066885,0.041689,-0.99705,-0.064491,0.73396,0.1998,0.64914,0.73395,0.19979,0.64915,0.73397,0.1998,0.64913,0.65967,0.19947,0.7246,0.65966,0.19948,0.72461,0.65965,0.19948,0.72462,-0.63125,0.59039,-0.50296,-0.63128,0.59039,-0.50293,-0.63122,0.5904,-0.50299,-0.58565,0.59328,-0.5523,-0.58571,0.59327,-0.55224,-0.58576,0.59327,-0.55219,-0.028594,0.99855,0.045539,-0.029643,0.99847,0.046739,-0.027403,0.99865,0.044176,-0.042033,0.99701,0.06481,-0.04422,0.99678,0.066846,-0.046151,0.99657,0.068642,0.45237,0.57917,0.67817,0.4523,0.57917,0.67822,0.45244,0.57917,0.67813,0.38127,0.57456,0.72423,0.38119,0.57456,0.72428,0.3811,0.57455,0.72433,-0.61361,0.20157,-0.76345,-0.61365,0.20157,-0.76342,-0.61357,0.20157,-0.76348,-0.54548,0.20232,-0.81334,-0.54553,0.20233,-0.8133,-0.54558,0.20233,-0.81327,0.059956,-0.99437,-0.087328,0.056058,-0.99486,-0.084358,0.063345,-0.99393,-0.089909,0.0804,-0.99072,-0.10964,0.07599,-0.99136,-0.10688,0.070954,-0.99207,-0.10374,0.58253,0.19899,0.78808,0.58251,0.19899,0.78809,0.58254,0.19898,0.78807,0.50548,0.19839,0.83972,0.50546,0.19839,0.83974,0.50543,0.19839,0.83975,-0.5387,0.59722,-0.59425,-0.53878,0.59722,-0.59418,-0.53862,0.59722,-0.59432,-0.49185,0.60203,-0.629,-0.49196,0.60202,-0.62892,-0.49207,0.60202,-0.62885,-0.059897,0.99438,0.087284,-0.062837,0.994,0.089524,-0.056581,0.99479,0.084757,-0.071635,0.99198,0.10417,-0.07592,0.99137,0.10684,-0.079745,0.99081,0.10923,0.31213,0.56944,0.76047,0.31202,0.56943,0.76052,0.31224,0.56945,0.76042,0.24643,0.56402,0.78813,0.24632,0.564,0.78818,0.2462,0.56398,0.78823,-0.47938,0.20316,-0.85377,-0.47944,0.20316,-0.85374,-0.47932,0.20316,-0.8538,-0.4162,0.20403,-0.88609,-0.41626,0.20403,-0.88606,-0.41632,0.20402,-0.88603,0.092423,-0.98779,-0.12538,0.086473,-0.98871,-0.12234,0.097676,-0.98694,-0.12806,0.11517,-0.98269,-0.14512,0.10929,-0.98371,-0.1427,0.10269,-0.98482,-0.13997,0.43046,0.19772,0.88069,0.43044,0.19772,0.8807,0.43049,0.19772,0.88067,0.35901,0.19699,0.91231,0.35898,0.19698,0.91232,0.35895,0.19698,0.91234,-0.44679,0.60738,-0.65687,-0.44691,0.60737,-0.65679,-0.44666,0.60739,-0.65694,-0.40397,0.61309,-0.67892,-0.40411,0.61307,-0.67885,-0.40425,0.61305,-0.67878,-0.092352,0.98781,0.12535,-0.096904,0.98707,0.12767,-0.087286,0.98859,0.12276,-0.1036,0.98467,0.14035,-0.10923,0.98372,0.14267,-0.11431,0.98284,0.14477,0.18444,0.55848,0.80875,0.1843,0.55847,0.80879,0.18457,0.55849,0.80872,0.12684,0.55296,0.8235,0.1267,0.55295,0.82352,0.12656,0.55294,0.82355,-0.35677,0.20493,-0.91144,-0.35683,0.20492,-0.91142,-0.3567,0.20493,-0.91146,-0.30094,0.20581,-0.93117,-0.301,0.20581,-0.93115,-0.30107,0.20581,-0.93113,0.12642,-0.97922,-0.15859,0.1194,-0.98047,-0.15629,0.13271,-0.97805,-0.16065,0.15008,-0.97314,-0.17458,0.14359,-0.97441,-0.17294,0.13638,-0.97577,-0.17112,0.29169,0.19624,0.93617,0.29165,0.19624,0.93618,0.29173,0.19623,0.93615,0.22888,0.19546,0.95363,0.22884,0.19547,0.95364,0.2288,0.19547,0.95365,-0.36426,0.61894,-0.69586,-0.36441,0.61893,-0.69579,-0.36412,0.61896,-0.69592,-0.32712,0.62483,-0.70892,-0.32727,0.62484,-0.70885,-0.32742,0.62484,-0.70878,-0.12636,0.97923,0.15858,-0.1318,0.97822,0.16036,-0.12038,0.9803,0.15662,-0.13739,0.97558,0.17139,-0.14354,0.97442,0.17294,-0.14916,0.97332,0.17436,0.072974,0.54757,0.83357,0.072831,0.54756,0.83359,0.073118,0.54759,0.83355,0.023082,0.54237,0.83982,0.022937,0.54236,0.83983,0.022793,0.54235,0.83985,-0.24876,0.20669,-0.94625,-0.24882,0.20669,-0.94624,-0.24869,0.20669,-0.94627,-0.19951,0.20754,-0.95767,-0.19957,0.20754,-0.95765,-0.19963,0.20754,-0.95764,0.16061,-0.96941,-0.1856,0.15339,-0.97084,-0.18426,0.16715,-0.96807,-0.1868,0.18371,-0.96297,-0.19734,0.17728,-0.96433,-0.19655,0.1702,-0.96579,-0.19568,0.17024,0.19472,0.96597,0.1702,0.19472,0.96598,0.17028,0.19472,0.96596,0.11551,0.19398,0.97418,0.11546,0.19398,0.97419,0.11542,0.19398,0.97419,-0.29288,0.63065,-0.71868,-0.29303,0.63065,-0.71862,-0.29273,0.63066,-0.71873,-0.26048,0.63634,-0.7261,-0.26062,0.63633,-0.72606,-0.26077,0.63631,-0.72602,-0.16057,0.96942,0.1856,-0.16623,0.96826,0.18665,-0.15442,0.97063,0.18446,-0.17122,0.96558,0.19582,-0.17725,0.96434,0.19657,-0.18282,0.96316,0.19725,-0.02853,0.53714,0.84301,-0.028696,0.53712,0.84301,-0.028363,0.53716,0.84301,-0.086137,0.53092,0.84303,-0.086334,0.53091,0.84302,-0.086529,0.53089,0.84301,-0.14778,0.20841,-0.96681,-0.14781,0.20841,-0.96681,-0.14775,0.20841,-0.96682,-0.087111,0.20906,-0.97402,-0.087102,0.20905,-0.97402,-0.087092,0.20904,-0.97402,0.19382,-0.95921,-0.20578,0.18783,-0.96049,-0.20538,0.19921,-0.95803,-0.20613,0.2125,-0.95402,-0.2114,0.21019,-0.95453,-0.21141,0.20755,-0.95511,-0.21141,0.057683,0.19323,0.97946,0.057703,0.19323,0.97946,0.057664,0.19323,0.97946,-0.008331,0.19318,0.98113,-0.008071,0.19319,0.98113,-0.007812,0.1932,0.98113,-0.22446,0.64237,-0.73279,-0.22477,0.64235,-0.73271,-0.22415,0.6424,-0.73286,-0.1793,0.65498,-0.73407,-0.18017,0.65489,-0.73393,-0.18103,0.6548,-0.7338,-0.19396,0.95918,0.2058,-0.19862,0.95816,0.20611,-0.18886,0.96027,0.20547,-0.20859,0.95487,0.21144,-0.21082,0.95438,0.21144,-0.2128,0.95394,0.21144,-0.15529,0.52401,0.83744,-0.15546,0.52401,0.8374,-0.15513,0.52401,0.83747,-0.23372,0.51716,0.82336,-0.23383,0.51717,0.82332,-0.23395,0.51718,0.82328,-0.012299,0.20981,-0.97766,-0.012322,0.20981,-0.97766,-0.012279,0.20981,-0.97766,0.075141,0.21108,-0.97458,0.075071,0.21108,-0.97458,0.075002,0.21109,-0.97459,0.2284,-0.9505,-0.21067,0.2311,-0.9499,-0.21043,0.22611,-0.951,-0.21087,0.24188,-0.94871,-0.20359,0.2489,-0.94716,-0.20231,0.25716,-0.94528,-0.20079,-0.083832,0.19527,0.97716,-0.083312,0.19527,0.9772,-0.084357,0.19526,0.97712,-0.17097,0.19834,0.9651,-0.17044,0.19834,0.9652,-0.1699,0.19834,0.9653,-0.13019,0.68149,-0.72015,-0.13146,0.68135,-0.72006,-0.12891,0.68163,-0.72025,-0.072766,0.70941,-0.70103,-0.073536,0.70932,-0.70104,-0.074303,0.70923,-0.70105,-0.22972,0.9502,0.21061,-0.22767,0.95065,0.21079,-0.23208,0.94967,0.21041,-0.25804,0.94505,0.20072,-0.25093,0.94669,0.20204,-0.24473,0.94807,0.20317,-0.31054,0.51038,0.80192,-0.31063,0.51038,0.80189,-0.31044,0.51038,0.80196,-0.38145,0.50396,0.77494,-0.38154,0.50396,0.77489,-0.38162,0.50396,0.77485,0.16226,0.2124,-0.96362,0.1622,0.21239,-0.96363,0.16233,0.21241,-0.9636,0.24416,0.21372,-0.94589,0.24409,0.21372,-0.94591,0.24402,0.21372,-0.94593,0.26932,-0.94488,-0.18617,0.28116,-0.94208,-0.18283,0.25913,-0.94717,-0.18902,0.2782,-0.94555,-0.16895,0.28917,-0.94299,-0.1648,0.30177,-0.93986,-0.15998,-0.25768,0.20058,0.94518,-0.25726,0.20059,0.94529,-0.2581,0.20058,0.94507,-0.34025,0.20244,0.91828,-0.33988,0.20245,0.91842,-0.33951,0.20245,0.91856,-0.01326,0.72094,-0.69287,-0.013264,0.72094,-0.69287,-0.013256,0.72094,-0.69287,0.043483,0.72325,-0.68921,0.04374,0.72328,-0.68917,0.043996,0.72331,-0.68912,-0.2718,0.94428,0.18561,-0.26285,0.94632,0.18812,-0.28198,0.94186,0.18273,-0.30252,0.93964,0.15987,-0.29169,0.94235,0.16402,-0.28207,0.94463,0.16767,-0.44749,0.49786,0.74289,-0.44756,0.49786,0.74284,-0.44742,0.49785,0.74294,-0.50909,0.49201,0.70622,-0.50915,0.49201,0.70618,-0.50921,0.49201,0.70614,0.32136,0.21502,-0.92222,0.32131,0.21502,-0.92224,0.32142,0.21501,-0.9222,0.39509,0.21626,-0.89283,0.39505,0.21626,-0.89284,0.39501,0.21626,-0.89286,0.30711,-0.94111,-0.14142,0.31927,-0.93792,-0.13552,0.29644,-0.94374,-0.14655,0.31134,-0.94234,-0.12275,0.32181,-0.9396,-0.11658,0.33367,-0.93631,-0.10953,-0.41729,0.20432,0.88551,-0.41694,0.20432,0.88567,-0.41763,0.20432,0.88535,-0.4902,0.20618,0.84688,-0.48987,0.20617,0.84706,-0.48955,0.20617,0.84725,0.09729,0.725,-0.68184,0.097563,0.72503,-0.68177,0.097015,0.72497,-0.68191,0.14974,0.72621,-0.67097,0.15003,0.72625,-0.67086,0.15032,0.72629,-0.67075,-0.30947,0.94048,0.14047,-0.30012,0.94282,0.14497,-0.31994,0.93772,0.13539,-0.33422,0.93613,0.10939,-0.32401,0.93898,0.11546,-0.31483,0.94142,0.12088,-0.56697,0.48647,0.66475,-0.567,0.48648,0.66472,-0.56694,0.48646,0.66478,-0.62111,0.48166,0.61825,-0.62108,0.48167,0.61826,-0.62106,0.48168,0.61827,0.46576,0.21747,-0.85777,0.46573,0.21747,-0.85779,0.46579,0.21747,-0.85776,0.53385,0.21863,-0.81683,0.53383,0.21864,-0.81684,0.53381,0.21864,-0.81685,0.33323,-0.93851,-0.090318,0.34487,-0.93506,-0.082019,0.32292,-0.94138,-0.097615,0.33115,-0.94088,-0.071335,0.34129,-0.93786,-0.062817,0.3527,-0.93422,-0.053156,-0.55822,0.20805,0.80319,-0.55792,0.20805,0.80339,-0.55851,0.20806,0.80298,-0.62292,0.20984,0.75362,-0.62266,0.20984,0.75383,-0.6224,0.20985,0.75404,0.20249,0.72703,-0.65607,0.20281,0.72707,-0.65593,0.20218,0.72699,-0.6562,0.25483,0.72724,-0.63732,0.25516,0.72728,-0.63715,0.2555,0.72732,-0.63697,-0.33522,0.93792,0.089065,-0.32618,0.94047,0.09547,-0.34524,0.93493,0.081913,-0.35278,0.93419,0.053193,-0.34296,0.93733,0.061511,-0.33408,0.94002,0.06898,-0.6714,0.4781,0.56625,-0.67132,0.4781,0.56635,-0.67148,0.4781,0.56616,-0.71763,0.476,0.50835,-0.71749,0.47602,0.50854,-0.71735,0.47603,0.50872,0.59936,0.21976,-0.76973,0.59935,0.21976,-0.76973,0.59936,0.21975,-0.76972,0.66212,0.22081,-0.71613,0.66212,0.22081,-0.71613,0.66212,0.22082,-0.71613,0.34583,-0.93768,-0.034198,0.35693,-0.93385,-0.023073,0.33594,-0.94086,-0.044022,0.33716,-0.94131,-0.01596,0.34667,-0.93798,-0.004779,0.35732,-0.93395,0.007873,-0.68328,0.21144,0.69887,-0.68306,0.21144,0.69908,-0.68349,0.21144,0.69866,-0.74009,0.21277,0.63796,-0.73993,0.21277,0.63815,-0.73976,0.21277,0.63834,0.3081,0.72699,-0.61365,0.30843,0.72704,-0.61342,0.30776,0.72693,-0.61388,0.36087,0.72605,-0.58534,0.36122,0.7261,-0.58506,0.36157,0.72614,-0.58479,-0.34711,0.93725,0.032928,-0.33846,0.94006,0.04153,-0.35666,0.93394,0.023359,-0.35668,0.9342,-0.007231,-0.34753,0.93766,0.003637,-0.33924,0.94061,0.013412,-0.75875,0.4757,0.44498,-0.75857,0.47572,0.44526,-0.75892,0.47568,0.44471,-0.79476,0.47647,0.37594,-0.79458,0.47651,0.37627,-0.79441,0.47654,0.3766,0.72165,0.22181,-0.65576,0.72166,0.22181,-0.65575,0.72164,0.22181,-0.65578,0.77716,0.2227,-0.58858,0.77718,0.22271,-0.58855,0.7772,0.22271,-0.58852,0.34359,-0.93878,0.0251,0.3536,-0.93457,0.0393,0.33466,-0.94225,0.012545,0.3283,-0.94368,0.041024,0.33645,-0.9401,0.054902,0.34557,-0.93574,0.070589,-0.79219,0.21376,0.57161,-0.79206,0.21376,0.57179,-0.79232,0.21375,0.57144,-0.83957,0.21452,0.4991,-0.83947,0.21452,0.49927,-0.83937,0.21453,0.49944,0.41408,0.72457,-0.55093,0.41442,0.72463,-0.5506,0.41375,0.72451,-0.55127,0.46574,0.72229,-0.51126,0.46606,0.72236,-0.51087,0.46638,0.72242,-0.51048,-0.34409,0.93857,-0.026099,-0.3363,0.94163,-0.015136,-0.35268,0.93496,-0.038282,-0.34449,0.93623,-0.069292,-0.33667,0.93997,-0.055839,-0.32956,0.94312,-0.043728,-0.82445,0.4778,0.30331,-0.82429,0.47783,0.30368,-0.82461,0.47776,0.30294,-0.84773,0.47962,0.22655,-0.8476,0.47965,0.22696,-0.84747,0.47969,0.22736,0.82779,0.22349,-0.51461,0.82782,0.22349,-0.51456,0.82776,0.2235,-0.51465,0.87231,0.22416,-0.43454,0.87235,0.22415,-0.43448,0.87238,0.22415,-0.43441,0.32509,-0.94195,0.08396,0.33305,-0.93748,0.101,0.31794,-0.94561,0.068866,0.30356,-0.94803,0.095355,0.30948,-0.94435,0.11148,0.31605,-0.93984,0.12965,-0.88093,0.21521,0.42149,-0.88085,0.21522,0.42165,-0.88101,0.2152,0.42133,-0.91578,0.21578,0.33879,-0.91573,0.21577,0.33895,-0.91567,0.21576,0.3391,0.51641,0.71939,-0.46455,0.5167,0.71946,-0.46411,0.51611,0.71932,-0.46498,0.56386,0.71559,-0.4123,0.56414,0.71564,-0.41182,0.56442,0.7157,-0.41134,-0.32505,0.94188,-0.084852,-0.31882,0.9451,-0.071683,-0.33188,0.93806,-0.099466,-0.31481,0.9405,-0.12785,-0.30917,0.94436,-0.11227,-0.30401,0.94759,-0.098204,-0.86345,0.48211,0.14841,-0.86336,0.48214,0.14885,-0.86354,0.48208,0.14797,-0.87164,0.48531,0.068664,-0.87159,0.48534,0.06913,-0.87153,0.48537,0.069595,0.90981,0.2246,-0.349,0.90984,0.2246,-0.34892,0.90978,0.2246,-0.34908,0.93918,0.22482,-0.2596,0.93921,0.22482,-0.25949,0.93924,0.22482,-0.25939,0.28974,-0.94733,0.13643,0.29472,-0.94285,0.15544,0.28521,-0.95099,0.1195,0.2631,-0.9545,0.14035,0.26611,-0.95093,0.15782,0.26939,-0.94656,0.17734,-0.94306,0.21618,0.25279,-0.94303,0.21618,0.25292,-0.9431,0.21618,0.25265,-0.96238,0.2164,0.16428,-0.96237,0.2164,0.16439,-0.96235,0.2164,0.16449,0.60826,0.711,-0.35285,0.60848,0.71107,-0.35232,0.60803,0.71094,-0.35337,0.6474,0.70537,-0.28865,0.64759,0.70543,-0.28809,0.64777,0.70549,-0.28754,-0.28915,0.94742,-0.13704,-0.28521,0.95063,-0.12228,-0.29343,0.9436,-0.15335,-0.26807,0.94739,-0.17492,-0.26526,0.95112,-0.15817,-0.26263,0.95425,-0.14296,-0.87198,0.48951,-0.006164,-0.87196,0.48953,-0.005684,-0.87199,0.48948,-0.006647,-0.86565,0.49471,-0.076898,-0.86568,0.49474,-0.076405,-0.86571,0.49476,-0.075914,0.9593,0.22471,-0.17105,0.95932,0.22471,-0.17092,0.95927,0.22471,-0.17118,0.9708,0.22431,-0.085067,0.97081,0.22432,-0.084909,0.97082,0.22434,-0.084754,0.23911,-0.95528,0.17399,0.24062,-0.9511,0.19368,0.23766,-0.95869,0.15628,0.21019,-0.96337,0.16653,0.21013,-0.96017,0.1842,0.20997,-0.95625,0.20369,-0.97311,0.21641,0.078883,-0.9731,0.21641,0.078954,-0.97312,0.21641,0.07881,-0.97634,0.21622,-0.00266,-0.97634,0.21621,-0.002626,-0.97635,0.2162,-0.002593,0.68071,0.69845,-0.22092,0.68086,0.69848,-0.22034,0.68056,0.69841,-0.2215,0.70696,0.69055,-0.15278,0.70704,0.69061,-0.15218,0.70711,0.69066,-0.15159,-0.23799,0.95555,-0.17403,-0.23673,0.95854,-0.15861,-0.2393,0.95199,-0.19091,-0.20866,0.9572,-0.20056,-0.20878,0.96053,-0.18384,-0.20884,0.96333,-0.16846,-0.85422,0.50066,-0.14018,-0.85428,0.50069,-0.1397,-0.85415,0.50064,-0.14067,-0.83834,0.50661,-0.20135,-0.83845,0.50662,-0.20085,-0.83856,0.50663,-0.20035,0.97469,0.22354,-0.003667,0.97469,0.22356,-0.00345,0.97469,0.22354,-0.003884,0.97203,0.22219,0.076085,0.97201,0.2222,0.076377,0.97198,0.22221,0.076668,0.18082,-0.9653,0.18842,0.17913,-0.96159,0.208,0.18228,-0.96833,0.17063,0.15495,-0.9735,0.1682,0.15194,-0.97057,0.18686,0.1485,-0.96686,0.20768,-0.97325,0.21566,-0.079292,-0.97324,0.21566,-0.07932,-0.97325,0.21566,-0.079262,-0.96454,0.2146,-0.15366,-0.96452,0.2146,-0.15375,-0.96451,0.2146,-0.15383,0.72672,0.68193,-0.082797,0.72674,0.68198,-0.082169,0.72669,0.68188,-0.083428,0.74005,0.67246,-0.011028,0.74001,0.67251,-0.010349,0.73998,0.67256,-0.009674,-0.17929,0.96574,-0.18763,-0.18055,0.96838,-0.17216,-0.17786,0.96259,-0.20443,-0.14734,0.96793,-0.20348,-0.15027,0.97106,-0.18565,-0.15289,0.97361,-0.16942,-0.81619,0.51247,-0.26687,-0.81635,0.51248,-0.26633,-0.81602,0.51246,-0.2674,-0.78517,0.51808,-0.33926,-0.78541,0.51809,-0.3387,-0.78564,0.51811,-0.33814,0.96121,0.22075,0.16539,0.96114,0.22076,0.16574,0.96127,0.22074,0.16503,0.93976,0.21913,0.26235,0.93964,0.21915,0.26277,0.93952,0.21917,0.26318,0.12377,-0.97561,0.18127,0.11801,-0.97187,0.20383,0.12872,-0.97843,0.16154,0.10379,-0.98267,0.15358,0.096613,-0.98003,0.17382,0.088088,-0.97632,0.19761,-0.94826,0.21342,-0.23505,-0.94824,0.21341,-0.23517,-0.94829,0.21343,-0.23494,-0.92191,0.21208,-0.32418,-0.92186,0.21208,-0.32433,-0.92181,0.21208,-0.32448,0.74479,0.66353,0.070873,0.74467,0.66358,0.071574,0.74491,0.66347,0.070169,0.73893,0.6549,0.1584,0.73874,0.65494,0.15912,0.73855,0.65498,0.15983,-0.12205,0.97614,-0.17958,-0.12635,0.9786,-0.16243,-0.11715,0.97301,-0.19883,-0.087767,0.97751,-0.19175,-0.094987,0.98059,-0.17155,-0.10121,0.98288,-0.15396,-0.74469,0.52353,-0.41395,-0.74501,0.52354,-0.41336,-0.74437,0.52352,-0.41454,-0.69415,0.52928,-0.48787,-0.69456,0.52931,-0.48727,-0.69496,0.52933,-0.48667,0.90493,0.21736,0.36586,0.90475,0.21736,0.3663,0.90511,0.21736,0.36543,0.85727,0.21573,0.46749,0.85705,0.21573,0.46789,0.85684,0.21573,0.46828,0.070967,-0.98384,0.16437,0.059466,-0.9803,0.18837,0.080438,-0.98624,0.14445,0.05902,-0.98913,0.13465,0.047641,-0.98704,0.15321,0.033656,-0.98384,0.17587,-0.88381,0.21058,-0.41779,-0.88373,0.21057,-0.41795,-0.88388,0.21058,-0.41763,-0.83432,0.20912,-0.51008,-0.83422,0.20912,-0.51025,-0.83411,0.20912,-0.51042,0.72036,0.6467,0.25073,0.7201,0.64673,0.25138,0.72062,0.64667,0.25007,0.68948,0.63976,0.33958,0.68919,0.63979,0.34013,0.6889,0.63981,0.34067,-0.069618,0.98442,-0.16147,-0.077846,0.98649,-0.14414,-0.059897,0.98151,-0.1818,-0.03472,0.98502,-0.16893,-0.046603,0.98764,-0.14964,-0.056559,0.98945,-0.13338,-0.63822,0.53506,-0.55351,-0.63869,0.53507,-0.55297,-0.63775,0.53506,-0.55406,-0.58042,0.54031,-0.60924,-0.58084,0.54034,-0.60882,-0.58125,0.54037,-0.6084,0.79897,0.21413,0.56195,0.79874,0.21413,0.56229,0.79922,0.21413,0.56161,0.73657,0.21264,0.64207,0.7363,0.21264,0.64237,0.73604,0.21264,0.64267,0.026514,-0.98951,0.14199,0.011956,-0.98691,0.16086,0.038374,-0.99122,0.12654,0.018062,-0.99211,0.12405,0.008589,-0.99092,0.13416,-0.002851,-0.98923,0.14634,-0.77571,0.20748,-0.59601,-0.77557,0.20748,-0.59619,-0.77585,0.20748,-0.59583,-0.7131,0.20573,-0.6702,-0.71291,0.20574,-0.6704,-0.71272,0.20575,-0.67059,0.64899,0.63418,0.42027,0.64872,0.63419,0.42066,0.64926,0.63416,0.41988,0.60591,0.63087,0.48463,0.60573,0.63088,0.48486,0.60555,0.63088,0.48508,-0.025718,0.99016,-0.13757,-0.036157,0.99163,-0.12395,-0.01327,0.98802,-0.15373,0.001512,0.99026,-0.13922,-0.008235,0.99163,-0.12883,-0.016525,0.99264,-0.11997,-0.52777,0.54368,-0.65259,-0.52807,0.54369,-0.65233,-0.52746,0.54366,-0.65285,-0.48139,0.54547,-0.6861,-0.48158,0.54549,-0.68595,-0.48177,0.54551,-0.6858,0.67669,0.2109,0.70542,0.67639,0.21091,0.7057,0.67699,0.21089,0.70513,0.62638,0.20893,0.75099,0.62606,0.20893,0.75127,0.62572,0.20894,0.75154,-0.003898,-0.99128,0.13173,-0.010996,-0.99036,0.13811,0.00215,-0.99199,0.12628,-0.008639,-0.99175,0.12788,-0.013292,-0.99122,0.13153,-0.018556,-0.99058,0.13564,-0.65214,0.20361,-0.73025,-0.65189,0.20362,-0.73047,-0.65239,0.2036,-0.73002,-0.60042,0.20123,-0.77395,-0.60011,0.20124,-0.77419,-0.59981,0.20125,-0.77442,0.56352,0.63021,0.53412,0.56341,0.63021,0.53423,0.56362,0.63021,0.53401,0.52637,0.63016,0.57082,0.52626,0.63016,0.57092,0.52614,0.63017,0.57102,0.00363,0.99205,-0.12582,-0.001586,0.99264,-0.12111,0.009615,0.99131,-0.13121,0.017157,0.99151,-0.1289,0.012648,0.99203,-0.12537,0.008592,0.99247,-0.12219,-0.4469,0.54622,-0.70847,-0.44702,0.54624,-0.70838,-0.44678,0.5462,-0.70856,-0.42626,0.54702,-0.72046,-0.42641,0.54702,-0.72038,-0.42655,0.54702,-0.7203,0.58806,0.20678,0.78194,0.58769,0.20678,0.78222,0.58842,0.20679,0.78166,0.56426,0.20429,0.79992,0.56385,0.20429,0.80021,0.56344,0.20428,0.8005,-0.021246,-0.99123,0.13039,-0.025452,-0.99074,0.13336,-0.017375,-0.99167,0.12766,-0.024034,-0.99151,0.1278,-0.025847,-0.99131,0.129,-0.027739,-0.99109,0.13025,-0.56034,0.19877,-0.80406,-0.56002,0.19878,-0.80428,-0.56065,0.19877,-0.80384,-0.53512,0.19666,-0.82156,-0.53489,0.19666,-0.82171,-0.53466,0.19666,-0.82187,0.49841,0.62866,0.59697,0.4983,0.62866,0.59706,0.49851,0.62866,0.59688,0.48141,0.62828,0.61116,0.48148,0.62828,0.6111,0.48155,0.62828,0.61104,0.020527,0.99207,-0.124,0.017261,0.99242,-0.12169,0.024034,0.99168,-0.12647,0.025703,0.99202,-0.12341,0.024811,0.99212,-0.12283,0.023952,0.99221,-0.12226,-0.41849,0.54932,-0.72327,-0.4186,0.54932,-0.7232,-0.41839,0.54932,-0.72333,-0.42294,0.55014,-0.72005,-0.42283,0.55014,-0.72011,-0.42273,0.55014,-0.72017,0.55445,0.20151,0.80745,0.55407,0.20151,0.80771,0.55483,0.20151,0.80719,0.55999,0.19923,0.80419,0.55977,0.19924,0.80434,0.55955,0.19924,0.80449,-0.028924,-0.99105,0.13033,-0.026306,-0.99134,0.12865,-0.031525,-0.99075,0.132,-0.040862,-0.98842,0.14613,-0.030415,-0.98978,0.13935,-0.02023,-0.99095,0.13273,-0.52378,0.19553,-0.8291,-0.52359,0.19553,-0.82923,-0.52398,0.19554,-0.82898,-0.52672,0.19413,-0.82757,-0.52639,0.19413,-0.82779,-0.52605,0.19413,-0.828,0.47649,0.63196,0.61121,0.47683,0.63197,0.61094,0.47616,0.63196,0.61147,0.48381,0.6397,0.59725,0.48444,0.63964,0.59681,0.48507,0.63958,0.59636,0.027001,0.99173,-0.12547,0.030135,0.99138,-0.12749,0.023848,0.99206,-0.12344,0.019616,0.99135,-0.1298,0.028109,0.9904,-0.13533,0.036791,0.98933,-0.14097,-0.43832,0.54684,-0.71333,-0.43791,0.54684,-0.71358,-0.43872,0.54684,-0.71308,-0.4642,0.5384,-0.70331,-0.46348,0.53839,-0.70379,-0.46277,0.53837,-0.70428,0.57917,0.19837,0.7907,0.57908,0.19837,0.79077,0.57927,0.19837,0.79063,0.61157,0.19758,0.76612,0.61142,0.19759,0.76624,0.61128,0.1976,0.76635,-0.029795,-0.98652,0.16092,-0.010866,-0.98892,0.14806,-0.049733,-0.98342,0.17439,-0.056072,-0.97447,0.21739,-0.026871,-0.98017,0.19635,0.000287,-0.98429,0.17657,-0.54171,0.19143,-0.81848,-0.54121,0.19143,-0.81881,-0.54221,0.19143,-0.81815,-0.5684,0.18806,-0.80097,-0.56785,0.18806,-0.80136,-0.56729,0.18805,-0.80176,0.50517,0.65155,0.56593,0.50602,0.65149,0.56525,0.50433,0.65162,0.56661,0.53678,0.66558,0.51853,0.53773,0.66549,0.51767,0.53867,0.66539,0.51681,0.028576,0.9874,-0.15565,0.044334,0.98508,-0.16632,0.013514,0.98928,-0.1454,0.004338,0.98491,-0.17302,0.027002,0.9815,-0.18956,0.051136,0.977,-0.20702,-0.49622,0.52417,-0.6921,-0.4953,0.52414,-0.69279,-0.49713,0.52421,-0.69142,-0.5341,0.50747,-0.67617,-0.53317,0.50741,-0.67695,-0.53224,0.50735,-0.67773,0.65355,0.19573,0.73114,0.65334,0.19574,0.73133,0.65376,0.19573,0.73095,0.70252,0.1934,0.68488,0.70232,0.1934,0.68509,0.70212,0.1934,0.6853,-0.015999,-0.96989,0.24301,0.015445,-0.97583,0.21799,-0.050276,-0.96159,0.26984,-0.030252,-0.94734,0.3188,0.002129,-0.95675,0.29092,0.031618,-0.96372,0.26503,-0.6037,0.18468,-0.77553,-0.60318,0.18467,-0.77593,-0.60422,0.18468,-0.77512,-0.64748,0.18171,-0.7401,-0.64706,0.1817,-0.74047,-0.64663,0.1817,-0.74085,0.57474,0.67965,0.45579,0.57567,0.67951,0.45483,0.57381,0.6798,0.45675,0.60837,0.6926,0.38755,0.60916,0.69244,0.38659,0.60996,0.69228,0.38562,0.016742,0.97152,-0.23635,0.046052,0.96467,-0.25941,-0.01047,0.97663,-0.21466,-0.02682,0.96448,-0.26279,-0.000984,0.95837,-0.28551,0.027013,0.95044,-0.30974,-0.57174,0.49072,-0.6575,-0.57091,0.49065,-0.65827,-0.57257,0.49078,-0.65673,-0.61024,0.47619,-0.63313,-0.60957,0.47614,-0.63381,-0.6089,0.47609,-0.63449,0.75027,0.19104,0.63293,0.75012,0.19105,0.63311,0.75043,0.19104,0.63275,0.79318,0.18906,0.5789,0.79309,0.18907,0.57903,0.79299,0.18907,0.57916,0.02477,-0.94321,0.33128,0.049337,-0.95032,0.30733,-0.002245,-0.93405,0.35712,0.029566,-0.92283,0.38406,0.050552,-0.93093,0.36168,0.069727,-0.93752,0.34086,-0.69166,0.17936,-0.6996,-0.69135,0.17935,-0.69991,-0.69197,0.17936,-0.69929,-0.73351,0.17774,-0.65603,-0.7333,0.17775,-0.65626,-0.7331,0.17775,-0.65649,0.63719,0.70216,0.31774,0.6378,0.702,0.31687,0.63658,0.70232,0.3186,0.65723,0.70928,0.25489,0.65765,0.70915,0.25418,0.65807,0.70902,0.25345,-0.023333,0.94462,-0.32734,0.000132,0.93679,-0.34988,-0.044964,0.9509,-0.30622,-0.066067,0.93785,-0.34069,-0.049104,0.932,-0.35912,-0.030781,0.925,-0.37873,-0.64568,0.46505,-0.60566,-0.64523,0.46502,-0.60616,-0.64612,0.46509,-0.60516,-0.67862,0.45994,-0.57265,-0.67849,0.45992,-0.57283,-0.67835,0.4599,-0.573,0.83032,0.18757,0.52477,0.83029,0.18756,0.52482,0.83035,0.18757,0.52472,0.86206,0.18702,0.47103,0.86212,0.18702,0.47092,0.86218,0.18702,0.47082,0.077145,-0.92156,0.3805,0.091183,-0.92709,0.36358,0.061851,-0.91501,0.39866,0.093067,-0.91124,0.40122,0.1034,-0.91607,0.38746,0.11288,-0.92025,0.37469,-0.77124,0.1768,-0.61149,-0.77112,0.1768,-0.61165,-0.77136,0.1768,-0.61134,-0.80614,0.1765,-0.56478,-0.8061,0.1765,-0.56485,-0.80605,0.1765,-0.56492,0.67216,0.71306,0.19937,0.67242,0.71296,0.19885,0.67191,0.71315,0.19988,0.68306,0.7138,0.15466,0.68317,0.71376,0.15436,0.68329,0.71371,0.15407,-0.07585,0.9222,-0.37919,-0.062405,0.91648,-0.39519,-0.088346,0.92715,-0.36412,-0.11089,0.92003,-0.37583,-0.10236,0.91625,-0.38732,-0.093171,0.91196,-0.39956,-0.70706,0.46358,-0.53401,-0.70676,0.46352,-0.53445,-0.70736,0.46363,-0.53357,-0.74877,0.45169,-0.48509,-0.7477,0.45144,-0.48698,-0.7466,0.45118,-0.4889,0.8903,0.18799,0.41476,0.89074,0.18798,0.41383,0.88987,0.18801,0.41568,0.91399,0.19905,0.35355,0.91506,0.19895,0.35084,0.91611,0.19884,0.34815,0.12723,-0.91483,0.38327,0.13245,-0.91739,0.37531,0.12152,-0.91193,0.39194,0.14501,-0.9177,0.36986,0.1462,-0.91836,0.36775,0.14728,-0.91895,0.36584,-0.839,0.17696,-0.51455,-0.83901,0.17696,-0.51453,-0.83899,0.17696,-0.51457,-0.87068,0.17809,-0.45847,-0.87074,0.17809,-0.45836,-0.8708,0.1781,-0.45824,0.69328,0.71095,0.11792,0.6933,0.71094,0.11786,0.69327,0.71096,0.11798,0.70408,0.70462,0.088231,0.70403,0.70465,0.088412,0.70397,0.70468,0.088595,-0.1266,0.91456,-0.38413,-0.12138,0.9119,-0.39205,-0.13143,0.91694,-0.37677,-0.14744,0.91839,-0.36719,-0.14621,0.91771,-0.36937,-0.14486,0.91696,-0.37174,-0.80746,0.40755,-0.42652,-0.80644,0.40672,-0.42922,-0.80844,0.40835,-0.42388,-0.85221,0.38679,-0.35233,-0.85197,0.38609,-0.35368,-0.85172,0.38537,-0.35505,0.93432,0.2221,0.27877,0.93538,0.22174,0.27548,0.93324,0.22247,0.2821,0.94935,0.23528,0.20827,0.94985,0.23492,0.20639,0.95034,0.23458,0.20452,0.1574,-0.92711,0.34014,0.15543,-0.92588,0.34438,0.15962,-0.92847,0.33535,0.16602,-0.94256,0.28984,0.16226,-0.9399,0.30045,0.15897,-0.93748,0.30962,-0.90129,0.17996,-0.39408,-0.90138,0.17996,-0.39387,-0.9012,0.17995,-0.39429,-0.93007,0.18234,-0.31894,-0.93017,0.18235,-0.31865,-0.93026,0.18237,-0.31836,0.71659,0.69471,0.062296,0.71649,0.69477,0.062717,0.71668,0.69465,0.061875,0.73125,0.68122,0.034796,0.73113,0.68131,0.03544,0.73102,0.6814,0.036087,-0.15818,0.92613,-0.34243,-0.15977,0.92712,-0.33901,-0.15674,0.92523,-0.34552,-0.16128,0.93669,-0.31081,-0.16389,0.93862,-0.30352,-0.16683,0.94073,-0.29528,-0.86416,0.42334,-0.27204,-0.86417,0.42347,-0.27181,-0.86416,0.4232,-0.27228,-0.85348,0.49065,-0.17561,-0.85342,0.49098,-0.17498,-0.85336,0.49131,-0.17434,0.96515,0.22696,0.13032,0.96518,0.22692,0.13012,0.96511,0.227,0.13051,0.97764,0.20662,0.038998,0.9776,0.20671,0.039474,0.97757,0.2068,0.039961,0.16009,-0.95455,0.2514,0.15689,-0.95151,0.26459,0.16385,-0.95792,0.23568,0.15169,-0.9727,0.17561,0.14936,-0.96912,0.19622,0.14742,-0.9659,0.21283,-0.95564,0.18531,-0.22892,-0.95573,0.18532,-0.22857,-0.95556,0.1853,-0.22928,-0.9746,0.18847,-0.121,-0.97464,0.18848,-0.1206,-0.97469,0.18848,-0.1202,0.7469,0.66493,0.002364,0.74681,0.66503,0.003244,0.74699,0.66483,0.00149,0.76222,0.6458,-0.044251,0.76221,0.64589,-0.043154,0.7622,0.64597,-0.042048,-0.16277,0.95308,-0.25523,-0.16576,0.9558,-0.24283,-0.16017,0.9506,-0.2659,-0.15174,0.96496,-0.21409,-0.15333,0.96761,-0.20054,-0.15521,0.97055,-0.18425,-0.83767,0.54349,-0.054021,-0.83774,0.54334,-0.054514,-0.83761,0.54365,-0.053521,-0.82765,0.55278,0.097116,-0.82785,0.55267,0.095987,-0.82805,0.55257,0.094864,0.97905,0.18873,-0.076472,0.97902,0.18868,-0.07697,0.97907,0.18879,-0.075988,0.95749,0.18807,-0.21871,0.95715,0.18803,-0.22026,0.95679,0.18798,-0.22183,0.12838,-0.98188,0.13938,0.12888,-0.97891,0.15851,0.12766,-0.98519,0.11444,0.092412,-0.99388,0.060559,0.097664,-0.99133,0.087858,0.10142,-0.98901,0.1076,-0.98136,0.19191,0.010404,-0.98135,0.19191,0.010767,-0.98136,0.19191,0.010046,-0.96671,0.19459,0.16614,-0.96668,0.1946,0.16629,-0.96666,0.19461,0.16644,0.77273,0.62553,-0.1077,0.77285,0.6256,-0.10646,0.7726,0.62548,-0.10892,0.7699,0.60655,-0.19838,0.77017,0.60657,-0.19724,0.77044,0.6066,-0.19609,-0.13386,0.98056,-0.14346,-0.13331,0.98337,-0.12337,-0.13425,0.97803,-0.15946,-0.10689,0.98837,-0.10816,-0.10355,0.9905,-0.090538,-0.099101,0.9928,-0.067277,-0.78705,0.55811,0.26279,-0.78704,0.55811,0.26286,-0.78707,0.55811,0.26273,-0.69503,0.57588,0.43046,-0.69472,0.57591,0.43093,-0.6944,0.57593,0.4314,0.90394,0.19417,-0.38105,0.90354,0.19415,-0.38199,0.90432,0.19418,-0.38012,0.81218,0.19626,-0.5494,0.81204,0.19627,-0.54961,0.8119,0.19628,-0.54982,0.060201,-0.99706,0.047293,0.066855,-0.99569,0.064205,0.050468,-0.99847,0.022619,0.016505,-0.99984,0.00761,0.025143,-0.99947,0.020881,0.030887,-0.99908,0.029709,-0.91707,0.19597,0.34723,-0.91706,0.19598,0.34726,-0.91709,0.19597,0.3472,-0.82113,0.19675,0.53575,-0.82112,0.19675,0.53577,-0.82111,0.19675,0.53579,0.74096,0.59267,-0.31578,0.74129,0.59269,-0.31498,0.74063,0.59266,-0.31658,0.67197,0.58461,-0.45463,0.67222,0.58459,-0.45427,0.67248,0.58458,-0.45391,-0.064117,0.99676,-0.048568,-0.055388,0.99811,-0.026416,-0.070417,0.99542,-0.064594,-0.032099,0.99903,-0.030108,-0.026532,0.99942,-0.02155,-0.018637,0.99978,-0.009419,-0.56581,0.58114,0.58493,-0.56564,0.58116,0.58507,-0.56598,0.58112,0.58478,-0.41105,0.58096,0.70252,-0.41093,0.58095,0.70259,-0.41081,0.58094,0.70266,0.68146,0.19659,-0.70496,0.68134,0.1966,-0.70507,0.68159,0.19658,-0.70484,0.52447,0.19757,-0.82819,0.52427,0.19756,-0.82832,0.52407,0.19756,-0.82844,-0.00159,-1,-0.001575,4.5e-05,-1,4.4e-05,-0.004037,-0.99998,-0.003999,-0.025925,-0.99942,-0.022318,-0.027987,-0.99933,-0.023641,-0.029437,-0.99926,-0.024571,-0.67533,0.19656,0.71084,-0.67515,0.19656,0.71101,-0.6755,0.19657,0.71067,-0.49831,0.19708,0.8443,-0.49795,0.19708,0.84452,-0.49759,0.19707,0.84473,0.5636,0.58112,-0.58707,0.56355,0.5811,-0.58714,0.56366,0.58114,-0.587,0.43487,0.58391,-0.68552,0.43455,0.5839,-0.68573,0.43423,0.58389,-0.68594,0.001342,1,0.001329,0.003598,0.99999,0.003565,-0.000256,1,-0.000254,0.029181,0.99928,0.024408,0.027897,0.99933,0.023584,0.026159,0.9994,0.02247,-0.25374,0.57759,0.77589,-0.25361,0.57757,0.77595,-0.25386,0.57761,0.77584,-0.11339,0.57421,0.81082,-0.11326,0.57421,0.81084,-0.11313,0.5742,0.81086,0.3676,0.19883,-0.90848,0.36733,0.19882,-0.90859,0.36787,0.19884,-0.90837,0.23522,0.20116,-0.9509,0.23492,0.20118,-0.95097,0.23462,0.20119,-0.95104,-0.059501,-0.99725,-0.044251,-0.062479,-0.99701,-0.045436,-0.055599,-0.99754,-0.042698,-0.092333,-0.99386,-0.060887,-0.097397,-0.99331,-0.062043,-0.10168,-0.99282,-0.06302,-0.32413,0.1972,0.92523,-0.32374,0.19718,0.92537,-0.32452,0.1972,0.92509,-0.17583,0.19797,0.96431,-0.17549,0.19796,0.96437,-0.17516,0.19794,0.96444,0.31514,0.58883,-0.74429,0.31473,0.58884,-0.74445,0.31554,0.58882,-0.74413,0.22136,0.59674,-0.7713,0.22096,0.59675,-0.7714,0.22055,0.59676,-0.77151,0.059371,0.99726,0.044204,0.056074,0.9975,0.042891,0.061987,0.99705,0.045245,0.10105,0.99289,0.062887,0.097331,0.99332,0.062037,0.09303,0.99379,0.061056,-0.015627,0.56984,0.82161,-0.015624,0.56982,0.82162,-0.01563,0.56985,0.8216,0.026805,0.56546,0.82434,0.026766,0.56547,0.82433,0.026727,0.56549,0.82432,0.15295,0.20336,-0.96708,0.15279,0.20337,-0.96711,0.15312,0.20335,-0.96706,0.13716,0.20403,-0.96931,0.13712,0.20404,-0.96931,0.13708,0.20405,-0.96932,-0.137,-0.98744,-0.078642,-0.14207,-0.98667,-0.079311,-0.1315,-0.98825,-0.077915,-0.17396,-0.98044,-0.092052,-0.17745,-0.97979,-0.092357,-0.18086,-0.97913,-0.092654,-0.086604,0.19844,0.97628,-0.086494,0.19844,0.97629,-0.086714,0.19844,0.97627,-0.060126,0.19807,0.97834,-0.060134,0.19807,0.97834,-0.060144,0.19806,0.97834,0.17808,0.60456,-0.7764,0.17783,0.60457,-0.77645,0.17833,0.60455,-0.77634,0.19046,0.60746,-0.77118,0.19035,0.60745,-0.77121,0.19024,0.60744,-0.77125,0.13702,0.98744,0.078659,0.13232,0.98813,0.078039,0.1414,0.98678,0.079237,0.18046,0.97921,0.092638,0.17753,0.97977,0.092383,0.17453,0.98033,0.092121,0.040642,0.56395,0.82481,0.040644,0.56395,0.82481,0.040638,0.56395,0.82481,0.044292,0.56447,0.82427,0.044357,0.56445,0.82428,0.044422,0.56442,0.82429,0.15008,0.20416,-0.96737,0.15008,0.20416,-0.96737,0.15009,0.20415,-0.96737,0.1631,0.20392,-0.9653,0.16313,0.20392,-0.9653,0.16315,0.20392,-0.9653,-0.21072,-0.97248,-0.099409,-0.21148,-0.97231,-0.099473,-0.20995,-0.97265,-0.099346,-0.23356,-0.96714,-0.10048,-0.2312,-0.96773,-0.10025,-0.22881,-0.96832,-0.10001,-0.05941,0.19795,0.97841,-0.059419,0.19793,0.97841,-0.059401,0.19796,0.97841,-0.063652,0.19798,0.97814,-0.063637,0.19798,0.97814,-0.06362,0.19799,0.97814,0.21919,0.60704,-0.76384,0.21916,0.60706,-0.76384,0.21923,0.60702,-0.76385,0.2416,0.60522,-0.75851,0.24163,0.60521,-0.75851,0.24167,0.6052,-0.75851,0.21082,0.97245,0.099437,0.21017,0.9726,0.099383,0.21148,0.9723,0.099491,0.22926,0.96821,0.10007,0.23131,0.9677,0.10028,0.23333,0.96719,0.10047,0.039685,0.56778,0.82222,0.039823,0.56776,0.82223,0.039546,0.56781,0.82221,0.026893,0.57371,0.81862,0.027087,0.57367,0.81864,0.027281,0.57363,0.81866,0.16998,0.20342,-0.96422,0.17003,0.20342,-0.96422,0.16993,0.20343,-0.96423,0.16516,0.20273,-0.96521,0.16523,0.20273,-0.96519,0.16531,0.20273,-0.96518,-0.23549,-0.96755,-0.091646,-0.22948,-0.96905,-0.090992,-0.24145,-0.96601,-0.092292,-0.22784,-0.97089,-0.073853,-0.21841,-0.97314,-0.072776,-0.20894,-0.9753,-0.071691,-0.069139,0.19835,0.97769,-0.069095,0.19836,0.97769,-0.069184,0.19834,0.97769,-0.07296,0.19903,0.97728,-0.072888,0.19902,0.97728,-0.072815,0.19902,0.97729,0.25104,0.60209,-0.75793,0.25116,0.60207,-0.75791,0.25092,0.60211,-0.75796,0.24013,0.59829,-0.76445,0.24034,0.59828,-0.7644,0.24055,0.59826,-0.76434,0.23556,0.96753,0.091671,0.24068,0.96621,0.092226,0.2304,0.96882,0.091111,0.21027,0.975,0.071858,0.2184,0.97314,0.072789,0.2265,0.97122,0.073714,0.014956,0.58103,0.81375,0.015168,0.58101,0.81375,0.014745,0.58104,0.81374,0.010838,0.58677,0.80968,0.010973,0.58679,0.80966,0.011109,0.58681,0.80965,0.1526,0.20188,-0.96745,0.15268,0.20188,-0.96744,0.15253,0.20188,-0.96746,0.135,0.2012,-0.9702,0.13504,0.2012,-0.9702,0.13509,0.2012,-0.97019,-0.19186,-0.98038,-0.04529,-0.18139,-0.98242,-0.044089,-0.20237,-0.9782,-0.046491,-0.17235,-0.98479,-0.02183,-0.16565,-0.98596,-0.021122,-0.15903,-0.98706,-0.020423,-0.072978,0.20004,0.97706,-0.07289,0.20006,0.97707,-0.073066,0.20002,0.97706,-0.067513,0.20089,0.97728,-0.067458,0.20089,0.97729,-0.067407,0.2009,0.97729,0.21682,0.59285,-0.77558,0.21706,0.59283,-0.77553,0.21658,0.59287,-0.77563,0.18666,0.58842,-0.78672,0.18681,0.58839,-0.7867,0.18696,0.58837,-0.78668,0.19178,0.98039,0.045288,0.2008,0.97854,0.04632,0.18278,0.98216,0.044257,0.1599,0.98692,0.020517,0.16558,0.98597,0.021118,0.17133,0.98497,0.021724,0.0152,0.58842,0.80841,0.015237,0.58845,0.80839,0.015162,0.5884,0.80843,0.02937,0.58777,0.80849,0.029371,0.58777,0.80849,0.11201,0.20106,-0.97315,0.11203,0.20106,-0.97315,0.11199,0.20106,-0.97316,0.082536,0.20115,-0.97608,0.082545,0.20114,-0.97608,0.082554,0.20114,-0.97608,-0.14254,-0.98972,-0.011607,-0.14073,-0.98998,-0.01145,-0.14439,-0.98945,-0.011766,-0.12851,-0.99165,-0.010165,-0.1282,-0.9917,-0.010147,-0.1279,-0.99174,-0.010129,-0.054369,0.2011,0.97806,-0.054362,0.20109,0.97806,-0.054377,0.20111,0.97806,-0.030929,0.20093,0.97912,-0.030935,0.20093,0.97912,-0.030941,0.20093,0.97912,0.15438,0.58798,-0.79401,0.15443,0.58795,-0.79402,0.15434,0.58801,-0.79399,0.12323,0.58924,-0.79851,0.12324,0.58924,-0.7985,0.12326,0.58924,-0.7985,0.14252,0.98972,0.011606,0.14411,0.98949,0.011743,0.14097,0.98995,0.011472,0.12794,0.99173,0.010132,0.1282,0.9917,0.010148,0.12847,0.99166,0.010163,0.051828,0.58691,0.80799,0.051832,0.58691,0.80799,0.051823,0.58691,0.80799,0.080608,0.58613,0.8062,0.08062,0.5861,0.80622,0.080633,0.58607,0.80624,0.04389,0.20125,-0.97856,0.04391,0.20125,-0.97855,0.043869,0.20124,-0.97856,-0.007397,0.20123,-0.97952,-0.007361,0.20123,-0.97952,-0.007324,0.20123,-0.97952,-0.11668,-0.99313,-0.008885,-0.11592,-0.99322,-0.00887,-0.11747,-0.99304,-0.008901,-0.10201,-0.99476,-0.006891,-0.10035,-0.99493,-0.006941,-0.098797,-0.99508,-0.006987,0.002564,0.20073,0.97964,0.002552,0.20073,0.97964,0.002576,0.20074,0.97964,0.046415,0.20046,0.9786,0.046398,0.20045,0.9786,0.046381,0.20044,0.97861,0.087266,0.59048,-0.80232,0.087294,0.59047,-0.80232,0.087237,0.59048,-0.80232,0.039036,0.59147,-0.80539,0.039094,0.59148,-0.80537,0.03915,0.59149,-0.80536,0.11669,0.99313,0.008886,0.11736,0.99305,0.0089,0.11603,0.99321,0.008873,0.099029,0.99506,0.00698,0.10037,0.99493,0.00694,0.10179,0.99478,0.006898,0.11892,0.5857,0.80176,0.11894,0.58571,0.80175,0.1189,0.58568,0.80177,0.17033,0.58538,0.79267,0.17035,0.58535,0.79268,0.17038,0.58531,0.7927,-0.07435,0.20114,-0.97674,-0.074282,0.20114,-0.97674,-0.074419,0.20113,-0.97673,-0.16077,0.20065,-0.96638,-0.16066,0.20066,-0.9664,-0.16055,0.20067,-0.96642,-0.079939,-0.99679,-0.00449,-0.077151,-0.99701,-0.004753,-0.082973,-0.99654,-0.004204,-0.061068,-0.99813,-0.000579,-0.056029,-0.99843,-0.001486,-0.051549,-0.99867,-0.002292,0.10342,0.20021,0.97428,0.10338,0.2002,0.97428,0.10345,0.20021,0.97428,0.17785,0.19979,0.96356,0.17779,0.19978,0.96358,0.17773,0.19977,0.96359,-0.023001,0.59216,-0.80549,-0.022891,0.59217,-0.80549,-0.023111,0.59215,-0.80549,-0.10207,0.59143,-0.79987,-0.10188,0.59144,-0.79988,-0.10168,0.59146,-0.7999,0.07996,0.99679,0.004489,0.082549,0.99658,0.004245,0.077552,0.99698,0.004716,0.052151,0.99864,0.002184,0.056027,0.99843,0.001487,0.060315,0.99818,0.000715,0.24202,0.58577,0.7735,0.24201,0.58578,0.7735,0.24203,0.58576,0.7735,0.3408,0.58501,0.73595,0.34071,0.58501,0.73599,0.34062,0.58501,0.73603,-0.26977,0.20002,-0.94192,-0.26961,0.20003,-0.94196,-0.26993,0.2,-0.94188,-0.40321,0.19879,-0.89326,-0.40301,0.19878,-0.89334,-0.40282,0.19878,-0.89344,-0.031934,-0.99949,0.002431,-0.026876,-0.99964,0.000936,-0.037885,-0.99927,0.00419,-0.017702,-0.99982,0.006195,-0.013677,-0.9999,0.004364,-0.010453,-0.99994,0.002898,0.27399,0.19949,0.94081,0.27387,0.19948,0.94085,0.27412,0.19951,0.94077,0.39665,0.19865,0.89621,0.39642,0.19864,0.89632,0.39618,0.19864,0.89643,-0.19929,0.5893,-0.78295,-0.19901,0.58928,-0.78303,-0.19956,0.58931,-0.78287,-0.31601,0.5858,-0.7463,-0.31571,0.58579,-0.74645,-0.31539,0.58577,-0.7466,0.031908,0.99949,-0.002423,0.036952,0.99931,-0.003914,0.02752,0.99962,-0.001126,0.01085,0.99994,-0.003079,0.013656,0.9999,-0.004355,0.01705,0.99984,-0.005898,0.46031,0.58311,0.6694,0.46021,0.58312,0.66946,0.46041,0.58309,0.66935,0.58757,0.58237,0.56179,0.58757,0.58231,0.56185,0.58757,0.58224,0.56193,-0.55357,0.19756,-0.80903,-0.55344,0.19758,-0.80912,-0.55371,0.19755,-0.80894,-0.70868,0.19718,-0.67741,-0.70864,0.19717,-0.67746,-0.7086,0.19715,-0.67751,-0.003124,-0.99999,0.002155,-0.002287,-1,0.001578,-0.004231,-0.99999,0.00292,0,-1,0,0.54581,0.19756,0.81429,0.5456,0.19756,0.81443,0.54602,0.19756,0.81415,0.7056,0.19717,0.68063,0.70552,0.19717,0.68071,0.70544,0.19718,0.68079,-0.44961,0.58303,-0.6767,-0.44942,0.58301,-0.67685,-0.44981,0.58304,-0.67656,-0.58525,0.58228,-0.56429,-0.58518,0.58231,-0.56434,-0.5851,0.58234,-0.56439,0.003119,0.99999,-0.002152,0.004048,0.99999,-0.002793,0.002388,1,-0.001648,-0,1,-0,0.69203,0.58133,0.42796,0.69209,0.58127,0.42795,0.69197,0.58139,0.42797,0.7597,0.58317,0.28771,0.75973,0.58317,0.28762,0.75976,0.58317,0.28754,-0.83384,0.19668,-0.51577,-0.83387,0.19666,-0.51573,-0.83382,0.1967,-0.51581,-0.91666,0.19762,-0.34738,-0.9167,0.1976,-0.34729,-0.91675,0.19757,-0.34719,0,-1,-0,0.83568,0.19668,0.51279,0.83573,0.1967,0.51271,0.83564,0.19666,0.51286,0.91939,0.19759,0.34013,0.91945,0.1976,0.33995,0.91952,0.19761,0.33976,-0.69344,0.58132,-0.42567,-0.69344,0.58139,-0.42559,-0.69344,0.58126,-0.42576,-0.76179,0.58314,-0.28216,-0.76181,0.5832,-0.282,-0.76183,0.58325,-0.28184,-0,1,0,0.79821,0.58486,0.14422,0.79822,0.58486,0.14416,0.7982,0.58486,0.14427,0.81059,0.58557,0.007606,0.81055,0.58562,0.007564,0.81051,0.58567,0.007521,-0.96448,0.19842,-0.1744,-0.96449,0.1984,-0.17433,-0.96446,0.19843,-0.17446,-0.98,0.1988,-0.009296,-0.97999,0.19881,-0.009247,-0.97999,0.19883,-0.009196,0.96533,0.19844,0.1696,0.96535,0.19844,0.16948,0.96531,0.19844,0.16972,0.98002,0.19883,0.00581,0.98002,0.19883,0.005726,0.98002,0.19883,0.005642,-0.79889,0.58482,-0.14055,-0.79891,0.58482,-0.14046,-0.79888,0.58482,-0.14064,-0.81061,0.58557,-0.004939,-0.81061,0.58557,-0.004872,-0.81061,0.58557,-0.004806,0.80139,0.58633,-0.11829,0.80138,0.58633,-0.11836,0.8014,0.58633,-0.11822,0.77581,0.58767,-0.22971,0.7758,0.58763,-0.22983,0.77579,0.5876,-0.22996,-0.96965,0.19914,0.14187,-0.96964,0.19914,0.14193,-0.96966,0.19914,0.14181,-0.94083,0.19955,0.2739,-0.94082,0.19952,0.27396,-0.94081,0.1995,0.27401,0.000306,-1,0.002057,0.00017,-1,0.00114,0.000479,-0.99999,0.003219,0.005409,-0.99992,0.011512,0.004167,-0.99996,0.007288,0.003157,-0.99999,0.003855,0.96883,0.19917,-0.14733,0.96881,0.19917,-0.14744,0.96884,0.19917,-0.14721,0.9384,0.19967,-0.28203,0.93835,0.19969,-0.28217,0.9383,0.1997,-0.28232,-0.80128,0.58627,0.1193,-0.80127,0.58627,0.11936,-0.80129,0.58627,0.11924,-0.77825,0.58651,0.22436,-0.77824,0.58652,0.22434,-0.77824,0.58653,0.22433,-0.000304,1,-0.002039,-0.000449,0.99999,-0.003016,-0.000185,1,-0.001241,-0.00327,0.99999,-0.004236,-0.004147,0.99996,-0.007218,-0.005194,0.99993,-0.01078,0.73754,0.58982,-0.32886,0.73748,0.58982,-0.32901,0.7376,0.58982,-0.32872,0.68911,0.59162,-0.41846,0.68902,0.59163,-0.4186,0.68893,0.59163,-0.41874,-0.90139,0.19974,0.38419,-0.90138,0.19972,0.38421,-0.9014,0.19975,0.38416,-0.85844,0.19982,0.4724,-0.85843,0.19981,0.47241,-0.85843,0.19979,0.47242,0.016279,-0.9997,0.018203,0.013882,-0.99982,0.012637,0.01914,-0.99951,0.024845,0.040662,-0.99818,0.044566,0.037035,-0.99859,0.038111,0.033911,-0.99889,0.032554,0.89585,0.20034,-0.39662,0.89579,0.20035,-0.39676,0.89592,0.20032,-0.39649,0.8465,0.20085,-0.49304,0.84644,0.20086,-0.49315,0.84638,0.20086,-0.49326,-0.75009,0.58546,0.30756,-0.75013,0.58546,0.30747,-0.75005,0.58546,0.30766,-0.72238,0.58396,0.37034,-0.72244,0.58394,0.37025,-0.7225,0.58393,0.37016,-0.016246,0.9997,-0.018118,-0.018666,0.99954,-0.023738,-0.014166,0.99981,-0.013289,-0.034325,0.99886,-0.033283,-0.037034,0.99859,-0.038102,-0.040112,0.99824,-0.04358,0.63398,0.59239,-0.49714,0.63392,0.5924,-0.49721,0.63404,0.59237,-0.49708,0.57765,0.58932,-0.56481,0.57774,0.58932,-0.56473,0.57783,0.58931,-0.56465,-0.81558,0.19994,0.54301,-0.81557,0.19992,0.54302,-0.81559,0.19995,0.54299,-0.77437,0.20041,0.60015,-0.77433,0.20039,0.60022,-0.77428,0.20037,0.60028,0.061558,-0.9962,0.06164,0.059442,-0.99651,0.058568,0.06396,-0.99582,0.065128,0.081843,-0.99301,0.085107,0.083358,-0.99272,0.086968,0.084714,-0.99246,0.088631,0.7944,0.20116,-0.57311,0.79435,0.20117,-0.57319,0.79446,0.20115,-0.57304,0.74268,0.20126,-0.63868,0.74263,0.20127,-0.63874,0.74258,0.20127,-0.6388,-0.69576,0.58355,0.41879,-0.69578,0.58355,0.41876,-0.69574,0.58356,0.41882,-0.66892,0.5855,0.45797,-0.66885,0.58549,0.45808,-0.66879,0.58547,0.4582,-0.061505,0.99621,-0.061558,-0.063561,0.99589,-0.064544,-0.059661,0.99648,-0.058881,-0.084177,0.99257,-0.087831,-0.083053,0.99279,-0.086451,-0.081816,0.99302,-0.084932,0.52164,0.58017,-0.62554,0.52189,0.58018,-0.62532,0.52139,0.58015,-0.62576,0.46284,0.56692,-0.68146,0.46317,0.56696,-0.6812,0.4635,0.56701,-0.68094,-0.73583,0.20164,0.64645,-0.73574,0.20164,0.64655,-0.73592,0.20164,0.64635,-0.70075,0.20332,0.68382,-0.70064,0.20334,0.68393,-0.70052,0.20336,0.68404,0.10258,-0.98725,0.12169,0.10847,-0.98584,0.12791,0.096069,-0.98873,0.1148,0.11469,-0.98074,0.15809,0.12532,-0.97782,0.16784,0.13497,-0.97497,0.17668,0.69103,0.2014,-0.6942,0.69097,0.2014,-0.69426,0.69109,0.2014,-0.69414,0.63867,0.20155,-0.74261,0.6386,0.20155,-0.74268,0.63853,0.20154,-0.74274,-0.64415,0.59122,0.48532,-0.64392,0.59126,0.48557,-0.64438,0.59117,0.48506,-0.6254,0.60112,0.49752,-0.625,0.60115,0.498,-0.6246,0.60117,0.49847,-0.10212,0.98742,-0.12068,-0.096644,0.98867,-0.11489,-0.10714,0.98623,-0.12599,-0.13326,0.97563,-0.17431,-0.12494,0.97806,-0.16669,-0.11589,0.98055,-0.15839,0.40647,0.55247,-0.72771,0.40683,0.5525,-0.72748,0.40611,0.55244,-0.72793,0.35589,0.53912,-0.76334,0.3562,0.53915,-0.76318,0.35651,0.53918,-0.76301,-0.66675,0.20526,0.71646,-0.66663,0.20527,0.71657,-0.66687,0.20525,0.71635,-0.63145,0.20715,0.74723,-0.63135,0.20716,0.74732,-0.63124,0.20716,0.74741,0.14619,-0.96537,0.21609,0.15784,-0.96141,0.22532,0.13339,-0.96943,0.20592,0.14941,-0.95716,0.24803,0.16131,-0.95307,0.25619,0.17217,-0.94914,0.26361,0.58631,0.20176,-0.78456,0.58622,0.20176,-0.78463,0.58639,0.20177,-0.7845,0.5353,0.20187,-0.82019,0.53522,0.20187,-0.82023,0.53515,0.20186,-0.82028,-0.6077,0.61672,0.50035,-0.60714,0.61681,0.50093,-0.60826,0.61665,0.49977,-0.5901,0.63427,0.49949,-0.58954,0.63436,0.50003,-0.58899,0.63445,0.50057,-0.1459,0.96563,-0.21511,-0.13493,0.96912,-0.20639,-0.15601,0.96222,-0.22313,-0.17057,0.94989,-0.26195,-0.16111,0.9533,-0.25548,-0.15088,0.95682,-0.24846,0.31086,0.52872,-0.78982,0.31107,0.52874,-0.78973,0.31064,0.5287,-0.78992,0.26973,0.52127,-0.80964,0.26983,0.52129,-0.8096,0.26992,0.52131,-0.80956,-0.5931,0.2088,0.77758,-0.59303,0.20882,0.77763,-0.59317,0.20878,0.77753,-0.55031,0.21009,0.8081,-0.55028,0.21008,0.80812,-0.55026,0.21008,0.80814,0.1729,-0.94292,0.2846,0.18108,-0.93992,0.28941,0.16395,-0.9461,0.27932,0.17426,-0.93837,0.2985,0.17931,-0.9366,0.30105,0.18393,-0.93495,0.30336,0.48513,0.20175,-0.85085,0.48508,0.20175,-0.85088,0.48519,0.20175,-0.85082,0.43566,0.20142,-0.87728,0.43562,0.20142,-0.87731,0.43557,0.20143,-0.87733,-0.56957,0.65003,0.50305,-0.56911,0.65011,0.50346,-0.57003,0.64994,0.50263,-0.54473,0.66375,0.51255,-0.5444,0.66381,0.51282,-0.54406,0.66388,0.51309,-0.17282,0.94307,-0.28417,-0.1651,0.94581,-0.27962,-0.17997,0.94046,-0.28837,-0.18345,0.93519,-0.30292,-0.17938,0.93664,-0.30087,-0.17497,0.93818,-0.29865,0.23178,0.51702,-0.82399,0.23173,0.51703,-0.824,0.23183,0.51701,-0.82398,0.19527,0.51587,-0.83412,0.19506,0.51585,-0.83418,0.19486,0.51583,-0.83423,-0.50256,0.21096,0.83841,-0.50257,0.21096,0.8384,-0.50255,0.21096,0.83841,-0.44853,0.21161,0.86835,-0.44857,0.21161,0.86833,-0.44861,0.21161,0.86831,0.18171,-0.93435,0.30656,0.18195,-0.93426,0.30667,0.18144,-0.93444,0.30645,0.18512,-0.93434,0.30454,0.17991,-0.93597,0.30263,0.17504,-0.93747,0.30085,0.38502,0.20103,-0.90075,0.38496,0.20103,-0.90077,0.38508,0.20103,-0.90072,0.33227,0.20077,-0.92157,0.33218,0.20077,-0.9216,0.33209,0.20077,-0.92163,-0.51275,0.67532,0.53013,-0.51255,0.67537,0.53025,-0.51294,0.67527,0.53,-0.47312,0.68487,0.55418,-0.47308,0.68488,0.55419,-0.47304,0.6849,0.5542,-0.18193,0.93428,-0.30663,-0.1816,0.93439,-0.3065,-0.18223,0.93418,-0.30676,-0.17619,0.93707,-0.30143,-0.18029,0.9358,-0.30293,-0.18465,0.93444,-0.30452,0.18349,0.51921,-0.83471,0.1833,0.51921,-0.83476,0.18367,0.51922,-0.83467,0.237,0.52426,-0.81791,0.23709,0.52426,-0.81789,0.23718,0.52426,-0.81786,-0.41627,0.21143,0.88432,-0.41647,0.21143,0.88422,-0.41606,0.21144,0.88441,-0.44989,0.20864,0.86837,-0.45041,0.20863,0.86811,-0.45092,0.20861,0.86784,0.16559,-0.94346,0.28717,0.15981,-0.94504,0.28523,0.17136,-0.94184,0.2891,0.12336,-0.95581,0.26685,0.12444,-0.95556,0.26726,0.12572,-0.95525,0.26774,0.31668,0.20104,-0.92698,0.31684,0.20104,-0.92693,0.31652,0.20103,-0.92704,0.38217,0.19904,-0.9024,0.38283,0.19905,-0.90212,0.38349,0.19905,-0.90184,-0.44536,0.68831,0.57261,-0.44564,0.68827,0.57244,-0.44508,0.68835,0.57278,-0.45756,0.67766,0.57569,-0.45832,0.67754,0.57522,-0.45909,0.67743,0.57474,-0.16633,0.94315,-0.28775,-0.1712,0.94178,-0.28938,-0.16147,0.94449,-0.28612,-0.12719,0.95478,-0.26874,-0.12599,0.95507,-0.26828,-0.12494,0.95532,-0.26788,0.35491,0.53142,-0.76917,0.35484,0.53141,-0.76922,0.35499,0.53143,-0.76913,0.49356,0.54519,-0.67762,0.49319,0.54517,-0.67791,0.49282,0.54514,-0.6782,-0.55163,0.20475,0.80856,-0.55201,0.20475,0.80831,-0.55125,0.20475,0.80882,-0.68224,0.20324,0.70231,-0.68227,0.20324,0.70228,-0.68231,0.20324,0.70225,0.069053,-0.96687,0.24576,0.071154,-0.96641,0.24696,0.06756,-0.96719,0.24491,0.032277,-0.97516,0.21914,0.028728,-0.97596,0.21604,0.023442,-0.97711,0.21143,0.49633,0.19464,-0.84603,0.49693,0.19464,-0.84568,0.49572,0.19464,-0.84639,0.63059,0.19306,-0.75172,0.6308,0.19308,-0.75154,0.631,0.19309,-0.75137,-0.51181,0.65364,0.5575,-0.51267,0.65353,0.55683,-0.51094,0.65375,0.55817,-0.59653,0.6304,0.49673,-0.59704,0.63034,0.4962,-0.59754,0.63028,0.49567,-0.070981,0.96636,-0.24722,-0.069492,0.96668,-0.24638,-0.072976,0.96592,-0.24835,-0.025457,0.97663,-0.2134,-0.02972,0.97569,-0.21712,-0.032752,0.975,-0.21976,0.61247,0.55719,-0.56073,0.61215,0.55719,-0.56107,0.61279,0.5572,-0.56038,0.69843,0.56729,-0.43632,0.6982,0.56728,-0.4367,0.69797,0.56727,-0.43708,-0.79679,0.20197,0.5695,-0.79676,0.20197,0.56954,-0.79682,0.20197,0.56946,-0.87888,0.20122,0.43254,-0.87883,0.20123,0.43262,-0.87878,0.20124,0.43271,0.006787,-0.9836,0.18022,-0.00191,-0.98559,0.16913,0.012756,-0.98212,0.1878,0.002226,-0.98827,0.15273,-0.002849,-0.98967,0.1433,-0.009983,-0.99146,0.13002,0.75866,0.19388,-0.62197,0.75862,0.19388,-0.62202,0.7587,0.19388,-0.62192,0.85308,0.19583,-0.48365,0.85298,0.19582,-0.48381,0.85289,0.19582,-0.48397,-0.6803,0.61466,0.39924,-0.68049,0.61462,0.39898,-0.68011,0.6147,0.39949,-0.73774,0.60541,0.29869,-0.73781,0.6054,0.29855,-0.73787,0.60539,0.2984,-0.006778,0.98358,-0.18032,-0.012043,0.98228,-0.18701,0.000487,0.98526,-0.17107,0.009053,0.99123,-0.13183,0.003053,0.98972,-0.143,-0.001427,0.98848,-0.15132,0.75492,0.57552,-0.31444,0.75479,0.57551,-0.31477,0.75505,0.57553,-0.31411,0.78994,0.58154,-0.19445,0.78988,0.58153,-0.1947,0.78983,0.58152,-0.19495,-0.93199,0.20073,0.30183,-0.93197,0.20074,0.3019,-0.93201,0.20071,0.30177,-0.96313,0.2003,0.17962,-0.96312,0.20031,0.17967,-0.96311,0.20031,0.17971,-0.006297,-0.99412,0.10812,-0.010423,-0.99528,0.096445,-0.003247,-0.99316,0.11673,-0.005489,-0.99682,0.079492,-0.006854,-0.99732,0.072828,-0.008642,-0.99791,0.064082,0.91757,0.19748,-0.34506,0.91751,0.19748,-0.34521,0.91762,0.19748,-0.34492,0.95708,0.19864,-0.21104,0.95705,0.19865,-0.21115,0.95703,0.19867,-0.21127,-0.77512,0.5983,0.20304,-0.77514,0.59832,0.20289,-0.7751,0.59828,0.20318,-0.7966,0.59315,0.11665,-0.79661,0.59315,0.11655,-0.79663,0.59314,0.11644,0.006414,0.99415,-0.10783,0.003731,0.99331,-0.11541,0.009891,0.99514,-0.097993,0.008413,0.99784,-0.065226,0.006904,0.99734,-0.072608,0.005707,0.9969,-0.078456,0.80663,0.58543,-0.081335,0.80662,0.58542,-0.081484,0.80665,0.58543,-0.081186,0.80902,0.58729,0.024122,0.80902,0.58729,0.024056,0.80902,0.58729,0.023992,-0.9776,0.20014,0.065186,-0.97759,0.20014,0.065213,-0.9776,0.20014,0.065158,-0.97879,0.19999,-0.044512,-0.97879,0.2,-0.044504,-0.97879,0.2,-0.044496,-0.005476,-0.99911,0.041842,-0.005882,-0.99931,0.036535,-0.005159,-0.99893,0.045981,-0.003027,-0.99978,0.020895,-0.002947,-0.99982,0.018972,-0.002847,-0.99986,0.016536,0.97629,0.19947,-0.084085,0.97628,0.19947,-0.084154,0.9763,0.19947,-0.084013,0.97917,0.19983,0.03598,0.97917,0.19983,0.03595,0.97917,0.19982,0.03592,-0.80651,0.59017,0.035263,-0.80653,0.59014,0.035202,-0.80648,0.5902,0.035324,-0.80724,0.58848,-0.04532,-0.80724,0.58848,-0.045353,-0.80724,0.58848,-0.045383,0.005487,0.99911,-0.041709,0.00521,0.99896,-0.045333,0.005831,0.99929,-0.037224,0.00286,0.99985,-0.01685,0.002945,0.99982,-0.01891,0.003015,0.99978,-0.020592,0.79918,0.58799,0.12484,0.79919,0.58797,0.12485,0.79917,0.588,0.12483,0.77769,0.58719,0.22451,0.77767,0.58718,0.22459,0.77765,0.58718,0.22468,-0.96804,0.19998,-0.15135,-0.96804,0.19998,-0.15136,-0.96804,0.19998,-0.15134,-0.94539,0.19995,-0.25742,-0.94538,0.19995,-0.25745,-0.94537,0.19995,-0.25748,-2e-05,-1,0.000126,-2.7e-05,-1,0.000172,-1.4e-05,-1,8.9e-05,0.003423,-0.99978,-0.020576,0.002878,-0.99982,-0.018618,0.002184,-0.99987,-0.016121,0.96797,0.19998,0.15177,0.96797,0.19998,0.15178,0.96798,0.19998,0.15176,0.94291,0.19977,0.26648,0.9429,0.19976,0.26652,0.94289,0.19976,0.26657,-0.7991,0.58799,-0.12535,-0.79909,0.588,-0.12535,-0.79911,0.58797,-0.12535,-0.78218,0.58837,-0.20499,-0.78216,0.5884,-0.20496,-0.78215,0.58842,-0.20493,2e-05,1,-0.000127,1.5e-05,1,-9.4e-05,2.6e-05,1,-0.000167,-0.002273,0.99986,0.016442,-0.00286,0.99982,0.018553,-0.003337,0.99979,0.020267,0.74227,0.5852,0.32644,0.7422,0.5852,0.32661,0.74235,0.58521,0.32628,0.68936,0.5811,0.43256,0.68921,0.58109,0.43281,0.68905,0.58108,0.43307,-0.90943,0.20004,-0.36457,-0.90941,0.20004,-0.36463,-0.90946,0.20003,-0.36452,-0.85754,0.20012,-0.47389,-0.8575,0.20013,-0.47396,-0.85746,0.20014,-0.47404,0.007348,-0.99913,-0.040954,0.00518,-0.99935,-0.035714,0.009018,-0.99895,-0.044987,0.019046,-0.99686,-0.076924,0.015464,-0.99738,-0.07072,0.010665,-0.99799,-0.062406,0.90197,0.19936,0.38303,0.90193,0.19936,0.38311,0.902,0.19936,0.38294,0.84132,0.19844,0.5028,0.84125,0.19843,0.50292,0.84118,0.19842,0.50304,-0.75568,0.59005,-0.28424,-0.7557,0.59005,-0.28419,-0.75566,0.59005,-0.2843,-0.71871,0.59303,-0.363,-0.71876,0.59303,-0.36291,-0.71881,0.59302,-0.36283,-0.00729,0.99914,0.040817,-0.008753,0.99898,0.044352,-0.005458,0.99932,0.036391,-0.011282,0.99792,0.063489,-0.015329,0.99739,0.070498,-0.018478,0.99694,0.075952,0.61422,0.57477,0.54071,0.61396,0.57476,0.54102,0.61449,0.57478,0.5404,0.51482,0.56614,0.64378,0.51442,0.56613,0.6441,0.51403,0.56612,0.64442,-0.78444,0.20048,-0.5869,-0.78438,0.20049,-0.58699,-0.78451,0.20048,-0.58682,-0.68413,0.20095,-0.70113,-0.68403,0.20095,-0.70123,-0.68393,0.20095,-0.70133,0.027152,-0.99417,-0.10432,0.018822,-0.99541,-0.093809,0.033132,-0.99317,-0.11186,0.050679,-0.98815,-0.14491,0.042291,-0.98962,-0.13731,0.030076,-0.99155,-0.12622,0.75618,0.19713,0.62397,0.75606,0.19712,0.62411,0.75629,0.19714,0.62383,0.64216,0.19532,0.74127,0.64199,0.19532,0.74141,0.64184,0.19533,0.74155,-0.66707,0.59832,-0.44387,-0.66715,0.59832,-0.44376,-0.66699,0.59833,-0.44398,-0.59467,0.60584,-0.52852,-0.59479,0.60583,-0.5284,-0.5949,0.60581,-0.52828,-0.026909,0.99421,0.10404,-0.032186,0.99333,0.11069,-0.019901,0.99526,0.095199,-0.031682,0.9913,0.12774,-0.041933,0.98968,0.13704,-0.049364,0.98838,0.14377,0.38176,0.55545,0.73874,0.38136,0.55544,0.73895,0.38215,0.55546,0.73852,0.21707,0.54352,0.81085,0.21675,0.54349,0.81095,0.21643,0.54347,0.81105,-0.54899,0.20167,-0.81114,-0.549,0.20167,-0.81113,-0.54898,0.20167,-0.81114,-0.38146,0.20333,-0.90175,-0.38168,0.20333,-0.90165,-0.38191,0.20332,-0.90156,0.064482,-0.98335,-0.16988,0.052017,-0.98539,-0.1622,0.072754,-0.98188,-0.17497,0.10166,-0.97518,-0.1967,0.098555,-0.97573,-0.19555,0.093862,-0.97654,-0.19381,0.49757,0.19322,0.84563,0.49755,0.19323,0.84564,0.4976,0.19322,0.84561,0.32342,0.19275,0.92642,0.32379,0.19276,0.92629,0.32416,0.19277,0.92615,-0.49937,0.61563,-0.60962,-0.49965,0.6156,-0.60942,-0.49908,0.61566,-0.60982,-0.3784,0.63239,-0.67594,-0.37912,0.63234,-0.67558,-0.37982,0.6323,-0.67523,-0.064518,0.98333,0.17001,-0.07183,0.98203,0.1745,-0.054133,0.98504,0.16361,-0.096469,0.97605,0.19498,-0.10015,0.97541,0.19634,-0.10274,0.97494,0.1973,0.054245,0.53032,0.84606,0.054201,0.53031,0.84607,0.05429,0.53032,0.84606,-0.058763,0.52346,0.85002,-0.058751,0.52346,0.85002,-0.058739,0.52346,0.85002,-0.22132,0.20519,-0.95337,-0.22185,0.20519,-0.95325,-0.22077,0.20519,-0.9535,-0.12222,0.20881,-0.97029,-0.12276,0.2088,-0.97022,-0.12329,0.2088,-0.97016,0.14798,-0.9671,-0.20693,0.15273,-0.9662,-0.20768,0.14461,-0.96772,-0.2064,0.20601,-0.9566,-0.20608,0.20733,-0.95632,-0.20608,0.2089,-0.95598,-0.20609,0.16095,0.19496,0.96752,0.16174,0.19496,0.96738,0.16017,0.19495,0.96765,0.04491,0.19962,0.97884,0.045609,0.19962,0.97881,0.046303,0.19962,0.97878,-0.27441,0.65568,-0.70341,-0.27546,0.65559,-0.70309,-0.27336,0.65577,-0.70373,-0.2272,0.67759,-0.69947,-0.22802,0.67748,-0.69931,-0.22884,0.67736,-0.69915,-0.15076,0.9665,0.20774,-0.14755,0.9671,0.20724,-0.15505,0.96567,0.20842,-0.21089,0.95544,0.20657,-0.2094,0.95576,0.20656,-0.20812,0.95604,0.20656,-0.11803,0.51788,0.84727,-0.11824,0.51786,0.84725,-0.11782,0.51789,0.84729,-0.14372,0.51147,0.8472,-0.14394,0.51145,0.84717,-0.14416,0.51144,0.84714,-0.081688,0.21174,-0.97391,-0.081945,0.21174,-0.97389,-0.08143,0.21174,-0.97393,-0.074448,0.21276,-0.97427,-0.074545,0.21276,-0.97426,-0.074641,0.21275,-0.97425,0.25499,-0.94375,-0.21052,0.24812,-0.94551,-0.21085,0.26162,-0.942,-0.21019,0.28875,-0.9318,-0.21995,0.2828,-0.93354,-0.22027,0.27682,-0.93526,-0.2206,-0.026075,0.20173,0.97909,-0.025897,0.20173,0.9791,-0.026253,0.20173,0.97909,-0.051777,0.20109,0.9782,-0.051839,0.20109,0.9782,-0.051899,0.20109,0.9782,-0.21827,0.68803,-0.69208,-0.21859,0.68798,-0.69203,-0.21795,0.68807,-0.69214,-0.22274,0.68912,-0.68957,-0.2227,0.68912,-0.68957,-0.22267,0.68913,-0.68958,-0.25598,0.94341,0.21085,-0.26156,0.94194,0.21057,-0.25022,0.94489,0.21112,-0.27835,0.93478,0.22069,-0.28335,0.93334,0.22042,-0.28831,0.93188,0.22015,-0.15942,0.5078,0.84659,-0.15948,0.5078,0.84659,-0.15935,0.50781,0.8466,-0.17697,0.50649,0.84389,-0.17688,0.5065,0.84391,-0.17678,0.5065,0.84392,-0.074104,0.21325,-0.97418,-0.074132,0.21325,-0.97418,-0.074076,0.21325,-0.97418,-0.062239,0.21338,-0.97498,-0.062194,0.21338,-0.97499,-0.062148,0.21338,-0.97499,0.29757,-0.92822,-0.2233,0.29813,-0.92805,-0.22326,0.29702,-0.92839,-0.22333,0.29579,-0.93003,-0.21807,0.30346,-0.9277,-0.21746,0.31128,-0.92525,-0.21683,-0.059217,0.20055,0.97789,-0.059272,0.20055,0.97789,-0.059162,0.20055,0.97789,-0.072492,0.20002,0.97711,-0.072525,0.20002,0.9771,-0.072558,0.20002,0.9771,-0.22387,0.68576,-0.69254,-0.22357,0.68581,-0.69259,-0.22417,0.68572,-0.69249,-0.2088,0.67944,-0.70339,-0.20823,0.67953,-0.70348,-0.20766,0.67961,-0.70357,-0.29797,0.9281,0.22324,-0.29736,0.92829,0.22329,-0.29859,0.92791,0.2232,-0.31065,0.92551,0.21662,-0.30378,0.92766,0.21718,-0.29703,0.92972,0.21771,-0.1956,0.50801,0.83885,-0.19533,0.50804,0.83889,-0.19587,0.50799,0.8388,-0.21511,0.51282,0.83111,-0.21465,0.51284,0.83122,-0.21419,0.51287,0.83132,-0.039034,0.21309,-0.97625,-0.03891,0.21309,-0.97626,-0.039158,0.21309,-0.97625,-0.004048,0.21228,-0.9772,-0.003838,0.21228,-0.9772,-0.003627,0.21228,-0.9772,0.29988,-0.93254,-0.2011,0.31533,-0.92776,-0.19955,0.28481,-0.93694,-0.20256,0.26172,-0.94873,-0.17726,0.28419,-0.94273,-0.17461,0.30739,-0.93595,-0.17176,-0.091461,0.19966,0.97559,-0.091478,0.19966,0.97559,-0.091444,0.19965,0.97559,-0.11603,0.19927,0.97305,-0.11606,0.19927,0.97305,-0.11608,0.19927,0.97305,-0.1758,0.66978,-0.72145,-0.17498,0.66989,-0.72155,-0.17663,0.66968,-0.72134,-0.12653,0.65607,-0.74402,-0.12546,0.65619,-0.74409,-0.12439,0.65631,-0.74417,-0.30007,0.9326,0.20053,-0.28692,0.93646,0.2018,-0.31351,0.92846,0.19919,-0.30419,0.93709,0.17125,-0.28409,0.94293,0.1737,-0.26451,0.94818,0.176,-0.2347,0.52144,0.82037,-0.23406,0.52149,0.82053,-0.23535,0.52139,0.82022,-0.25658,0.53343,0.80599,-0.25575,0.53348,0.80622,-0.25493,0.53353,0.80645,0.043938,0.2109,-0.97652,0.044239,0.21091,-0.9765,0.043636,0.2109,-0.97653,0.10529,0.20892,-0.97225,0.10568,0.20892,-0.97221,0.10606,0.20893,-0.97216,0.25679,-0.95652,-0.13828,0.28602,-0.94883,-0.13387,0.22885,-0.963,-0.14235,0.18842,-0.97647,-0.10485,0.21744,-0.971,-0.099436,0.24844,-0.96412,-0.093517,-0.14833,0.19873,0.96876,-0.14836,0.19873,0.96876,-0.1483,0.19873,0.96877,-0.19057,0.19821,0.96146,-0.19058,0.19821,0.96145,-0.19059,0.19821,0.96145,-0.059939,0.63807,-0.76764,-0.058805,0.63817,-0.76765,-0.061076,0.63797,-0.76764,0.015859,0.62143,-0.78331,0.016744,0.6215,-0.78324,0.017626,0.62155,-0.78317,-0.25611,0.95689,0.13697,-0.23187,0.96255,0.1405,-0.28129,0.95033,0.13319,-0.24216,0.96575,0.093139,-0.21584,0.97148,0.098141,-0.19097,0.9762,0.10277,-0.28307,0.54849,0.78678,-0.28219,0.54853,0.78707,-0.28394,0.54845,0.7865,-0.32402,0.56144,0.76144,-0.32337,0.56149,0.76168,-0.32272,0.56154,0.76192,0.1807,0.20644,-0.96163,0.18112,0.20644,-0.96155,0.18028,0.20643,-0.96171,0.26823,0.20407,-0.94149,0.26859,0.20408,-0.94139,0.26894,0.20408,-0.94129,0.17272,-0.98279,-0.06546,0.20206,-0.97764,-0.058152,0.14602,-0.98666,-0.07202,0.10862,-0.99305,-0.0454,0.13122,-0.99062,-0.037968,0.15694,-0.98717,-0.029452,-0.24592,0.19802,0.94885,-0.2459,0.19801,0.94885,-0.24594,0.19802,0.94884,-0.31736,0.19804,0.92739,-0.31732,0.19804,0.92741,-0.31727,0.19803,0.92743,0.1004,0.61246,-0.7841,0.10099,0.61249,-0.784,0.099808,0.61243,-0.7842,0.18935,0.60612,-0.77251,0.18986,0.60613,-0.77237,0.19037,0.60615,-0.77223,-0.17074,0.98317,0.064949,-0.14813,0.98645,0.070502,-0.19527,0.97898,0.058856,-0.15177,0.98793,0.03096,-0.13028,0.99075,0.038067,-0.11106,0.99282,0.04439,-0.37854,0.5679,0.73089,-0.37816,0.56792,0.73106,-0.37892,0.56787,0.73071,-0.44958,0.57141,0.68656,-0.44925,0.57145,0.68675,-0.44892,0.57149,0.68693,0.37062,0.20277,-0.90638,0.37091,0.20277,-0.90626,0.37033,0.20277,-0.9065,0.48624,0.20155,-0.85027,0.48655,0.20156,-0.85009,0.48685,0.20156,-0.84991,0.093352,-0.99544,-0.019626,0.11484,-0.99333,-0.010072,0.075196,-0.99679,-0.027671,0.043717,-0.99889,-0.017575,0.058666,-0.99824,-0.008628,0.077143,-0.99702,0.002449,-0.40559,0.19847,0.89225,-0.40554,0.19847,0.89227,-0.40563,0.19847,0.89223,-0.50978,0.19868,0.83705,-0.50978,0.19869,0.83705,-0.50979,0.19869,0.83704,0.28941,0.59892,-0.74668,0.28989,0.59892,-0.7465,0.28894,0.59892,-0.74687,0.39931,0.59209,-0.69998,0.39966,0.5921,-0.69978,0.4,0.5921,-0.69958,-0.093457,0.99543,0.019671,-0.077775,0.99662,0.026622,-0.11158,0.99369,0.011616,-0.074092,0.99725,-0.000507,-0.058502,0.99825,0.008838,-0.045502,0.99883,0.016619,-0.53263,0.57718,0.61901,-0.53231,0.57718,0.61927,-0.53296,0.57717,0.61873,-0.62138,0.58247,0.52404,-0.62122,0.58247,0.52423,-0.62106,0.58247,0.52442,0.61338,0.19991,-0.76407,0.61365,0.19991,-0.76385,0.61311,0.1999,-0.76428,0.73922,0.19856,-0.64353,0.73936,0.19857,-0.64336,0.7395,0.19858,-0.6432,0.028571,-0.99959,-0.001014,0.04252,-0.99904,0.010442,0.017727,-0.99979,-0.009913,0.003707,-0.99999,-0.002958,0.008685,-0.99996,0.002758,0.015265,-0.99983,0.010313,-0.62561,0.19848,0.75447,-0.62565,0.19848,0.75444,-0.62558,0.19848,0.7545,-0.74431,0.1982,0.63775,-0.74433,0.19821,0.63771,-0.74436,0.19822,0.63768,0.51178,0.58754,-0.6268,0.51197,0.5875,-0.62668,0.51159,0.58757,-0.62692,0.61554,0.58508,-0.52801,0.61561,0.58508,-0.52793,0.61567,0.58508,-0.52785,-0.027923,0.99961,0.001623,-0.018512,0.99979,0.009347,-0.039604,0.99918,-0.007969,-0.013744,0.99987,-0.008543,-0.008264,0.99996,-0.00225,-0.003949,0.99999,0.002704,-0.70519,0.58351,0.40278,-0.70513,0.5835,0.40289,-0.70525,0.58351,0.40267,-0.76795,0.58418,0.26266,-0.76786,0.58423,0.26279,-0.76778,0.58429,0.26292,0.84947,0.19776,-0.48917,0.84945,0.19778,-0.48919,0.84949,0.19775,-0.48915,0.92756,0.19809,-0.31685,0.92749,0.1981,-0.31703,0.92743,0.19811,-0.3172,0.000959,-1,0.001621,0.002207,-0.99999,0.003729,2e-05,-1,3.5e-05,-0,-1,0,-0,-1,-0,-0.84872,0.19777,0.49047,-0.84871,0.19776,0.4905,-0.84874,0.19778,0.49043,-0.92495,0.19814,0.32436,-0.92491,0.19814,0.32447,-0.92487,0.19814,0.32457,0.70312,0.58353,-0.40634,0.70311,0.58353,-0.40636,0.70313,0.58353,-0.40633,0.76589,0.58428,-0.26838,0.76586,0.58428,-0.26847,0.76583,0.58428,-0.26856,-0.000878,1,-0.001483,-6.4e-05,1,-0.000108,-0.001916,0.99999,-0.003238,-0.79907,0.58496,0.13894,-0.79902,0.58498,0.13912,-0.79913,0.58493,0.13875,-0.80694,0.58801,0.05561,-0.80691,0.58803,0.055776,-0.80688,0.58806,0.055937,0.9657,0.19845,-0.16744,0.96566,0.19844,-0.16767,0.96574,0.19847,-0.1672,0.97751,0.19998,-0.066957,0.9775,0.19998,-0.067159,0.97748,0.19998,-0.067363,-0.96385,0.19847,0.17777,-0.96382,0.19847,0.17793,-0.96388,0.19847,0.17762,-0.97678,0.19993,0.077015,-0.97676,0.19993,0.077183,-0.97675,0.19993,0.07735,0.79766,0.58496,-0.14685,0.79765,0.58493,-0.14699,0.79766,0.58498,-0.14672,0.80644,0.58792,-0.063307,0.80641,0.58795,-0.063442,0.80638,0.58798,-0.063579,-0.80692,0.59047,0.014961,-0.80696,0.59042,0.015013,-0.80688,0.59052,0.014906,-0.80699,0.59049,0.008842,-0.80701,0.59047,0.008841,-0.80703,0.59044,0.008842,0.97939,0.20119,-0.018028,0.97938,0.20119,-0.018093,0.97939,0.20119,-0.017963,0.97949,0.2012,-0.010732,0.97949,0.2012,-0.010732,-0.97932,0.2012,0.021478,-0.97932,0.20119,0.021541,-0.97931,0.20121,0.021414,-0.97949,0.20123,0.010721,-0.97949,0.20122,0.010722,-0.97949,0.2012,0.010723,0.8069,0.59043,-0.017594,0.80687,0.59046,-0.017643,0.80692,0.59041,-0.017544,0.80703,0.59044,-0.008835,0.80703,0.59044,-0.008835,0.80703,0.59044,-0.008834,-0.80695,0.59046,0.013556,-0.80695,0.59046,0.013557,-0.80696,0.59046,0.01302,-0.80696,0.59046,0.013019,0.97941,0.2012,-0.016455,0.97941,0.20121,-0.016454,0.97942,0.20119,-0.016455,0.97942,0.20121,-0.015802,0.97942,0.2012,-0.015804,0.97943,0.20119,-0.015803,-0.97941,0.20123,0.016448,-0.97941,0.20121,0.016449,-0.9794,0.20124,0.016449,-0.97942,0.20121,0.01578,-0.97942,0.20121,0.015779,0.80697,0.59043,-0.013554,0.80699,0.59041,-0.013553,0.80695,0.59046,-0.013553,0.80696,0.59046,-0.013002,0.80698,0.59043,-0.013002,0.807,0.5904,-0.013002,-0.80706,0.59042,0.007751,-0.80706,0.59042,0.007749,-0.80706,0.59042,0.007752,-0.80711,0.5904,-0.002063,-0.80713,0.59037,-0.002065,-0.80715,0.59035,-0.002067,0.9795,0.20121,-0.009409,0.97951,0.2012,-0.009409,0.9795,0.20122,-0.009409,0.97954,0.20121,0.002502,0.97955,0.2012,0.002504,0.97955,0.20118,0.002504,-0.9795,0.20122,0.009352,-0.9795,0.20122,0.00935,-0.9795,0.20122,0.009351,-0.97954,0.20124,-0.002592,-0.97954,0.20121,-0.002594,-0.97955,0.20118,-0.002595,0.80706,0.59042,-0.007706,0.80706,0.59042,-0.007705,0.80706,0.59042,-0.007708,0.80715,0.59035,0.002133,0.80715,0.59035,0.002134,0.80715,0.59035,0.002136,-0.80699,0.59034,-0.016379,-0.80701,0.59031,-0.016382,-0.80697,0.59037,-0.016377,-0.80639,0.59032,-0.035368,-0.80643,0.59027,-0.035372,-0.80647,0.59022,-0.035376,0.97935,0.20119,0.019874,0.97935,0.20119,0.019876,0.97935,0.20119,0.019871,0.97862,0.20115,0.042914,0.97862,0.20115,0.042918,0.97862,0.20115,0.042922,-0.97935,0.20119,-0.020008,-0.97935,0.20119,-0.02001,-0.97935,0.20119,-0.020005,-0.97861,0.20117,-0.043099,-0.97861,0.20116,-0.043103,-0.97861,0.20115,-0.043107,0.80699,0.59034,0.016483,0.80701,0.59031,0.016485,0.80697,0.59036,0.01648,0.80642,0.59027,0.035511,0.80642,0.59027,0.035514,0.80642,0.59027,0.035516,-0.80504,0.59024,-0.059399,-0.80508,0.59018,-0.059405,-0.805,0.59029,-0.059392,-0.80238,0.59014,-0.089025,-0.80237,0.59014,-0.089033,-0.80237,0.59015,-0.089038,0.97691,0.20111,0.07207,0.97691,0.20111,0.072076,0.97691,0.20111,0.072064,0.97361,0.20104,0.10801,0.97361,0.20104,0.10802,0.97361,0.20104,0.10802,-0.97689,0.20111,-0.07235,-0.97689,0.20111,-0.072355,-0.97689,0.20111,-0.072345,-0.97356,0.20107,-0.10841,-0.97356,0.20106,-0.10841,-0.97357,0.20104,-0.10842,0.80502,0.59024,0.059613,0.80503,0.59024,0.059617,0.80502,0.59024,0.059609,0.80238,0.59009,0.089331,0.80238,0.59009,0.089338,0.80238,0.59009,0.089344,-0.7977,0.58996,-0.12498,-0.7977,0.58996,-0.12499,-0.7977,0.58996,-0.12497,-0.78994,0.58969,-0.16812,-0.78992,0.58971,-0.16813,-0.7899,0.58974,-0.16814,0.96779,0.20099,0.1516,0.96779,0.20099,0.15161,0.96779,0.201,0.15159,0.95816,0.20088,0.20389,0.95816,0.20088,0.20391,0.95816,0.20088,0.20393,-0.96769,0.20099,-0.15221,-0.9677,0.20097,-0.15222,-0.96769,0.20102,-0.1522,-0.95799,0.20085,-0.20475,-0.95798,0.20086,-0.20477,-0.95797,0.20088,-0.20478,0.79762,0.58997,0.12544,0.79762,0.58996,0.12545,0.79762,0.58997,0.12543,0.78976,0.58974,0.16877,0.78976,0.58974,0.16878,0.78975,0.58974,0.16879,-0.77744,0.58946,-0.21937,-0.77747,0.58941,-0.2194,-0.77741,0.58951,-0.21934,-0.7583,0.58892,-0.27955,-0.75826,0.58896,-0.27958,-0.75823,0.58899,-0.27959,0.94285,0.20072,0.26599,0.94284,0.2007,0.26602,0.94285,0.20075,0.26597,0.91924,0.20049,0.33881,0.91923,0.20049,0.33885,0.91922,0.20049,0.33888,-0.94249,0.20072,-0.26725,-0.94248,0.20075,-0.26727,-0.9425,0.2007,-0.26723,-0.91861,0.20048,-0.34053,-0.9186,0.2005,-0.34055,-0.91858,0.20051,-0.34058,0.77717,0.58946,0.22033,0.77713,0.58951,0.22034,0.77721,0.58942,0.22032,0.7578,0.58895,0.28086,0.75777,0.58897,0.28087,0.75775,0.58899,0.28089,-0.7293,0.58848,-0.34901,-0.72927,0.58852,-0.34903,-0.72934,0.58845,-0.34898,-0.68725,0.58775,-0.4269,-0.68722,0.58775,-0.42694,-0.6872,0.58775,-0.42698,0.8838,0.20024,0.42284,0.88379,0.20023,0.42288,0.88382,0.20025,0.42279,0.83238,0.19987,0.51691,0.83235,0.19987,0.51696,0.83232,0.19987,0.51701,-0.88279,0.20023,-0.42496,-0.88277,0.20025,-0.42499,-0.88281,0.20022,-0.42492,-0.83086,0.19982,-0.51938,-0.83082,0.19986,-0.51941,-0.83079,0.1999,-0.51945,0.72852,0.58849,0.35062,0.72848,0.58853,0.35064,0.72856,0.58845,0.35061,0.68609,0.58772,0.42879,0.68603,0.58779,0.4288,0.68597,0.58786,0.4288,-0.62198,0.58696,-0.51828,-0.62194,0.58696,-0.51833,-0.62202,0.58696,-0.51823,-0.52515,0.58456,-0.61847,-0.5251,0.58458,-0.61849,-0.52505,0.5846,-0.61852,0.7529,0.19946,0.62718,0.75285,0.19948,0.62723,0.75296,0.19945,0.62712,0.63451,0.19827,0.74705,0.63445,0.19829,0.74709,0.6344,0.19831,0.74713,-0.75055,0.19946,-0.62999,-0.75051,0.19947,-0.63004,-0.75059,0.19945,-0.62995,-0.63213,0.19827,-0.74906,-0.63209,0.19827,-0.7491,-0.63206,0.19827,-0.74913,0.62019,0.58694,0.52045,0.62013,0.58698,0.52046,0.62024,0.5869,0.52043,0.52333,0.58457,0.62001,0.5233,0.58457,0.62003,0.52327,0.58457,0.62006,-0.40087,0.58217,-0.70738,-0.40095,0.58219,-0.70731,-0.40078,0.58214,-0.70745,-0.27501,0.58541,-0.76267,-0.27516,0.58545,-0.76258,-0.27532,0.5855,-0.76249,0.48313,0.19709,0.85308,0.48324,0.1971,0.85301,0.48302,0.19708,0.85314,0.33204,0.19869,0.9221,0.33224,0.19871,0.92203,0.33244,0.19873,0.92195,-0.48842,0.19711,-0.85005,-0.4885,0.19713,-0.85,-0.48834,0.1971,-0.8501,-0.34195,0.19873,-0.91846,-0.34212,0.19873,-0.9184,-0.34228,0.19874,-0.91834,0.4049,0.58226,0.70501,0.40495,0.58231,0.70494,0.40485,0.58221,0.70508,0.28257,0.58556,0.75978,0.28271,0.58555,0.75974,0.28285,0.58553,0.75971,-0.18004,0.58833,-0.78832,-0.18012,0.58835,-0.78829,-0.17996,0.58832,-0.78835,-0.1126,0.58912,-0.80016,-0.11263,0.58914,-0.80014,-0.11265,0.58916,-0.80012,0.21795,0.20014,0.95522,0.21805,0.20015,0.95519,0.21785,0.20012,0.95524,0.13644,0.20054,0.97014,0.13648,0.20056,0.97013,0.13651,0.20057,0.97012,-0.22296,0.20017,-0.95406,-0.22304,0.20017,-0.95404,-0.22287,0.20017,-0.95408,-0.1384,0.20057,-0.96985,-0.13844,0.20056,-0.96985,-0.13847,0.20055,-0.96985,0.18386,0.58836,0.78742,0.18394,0.58834,0.78741,0.18379,0.58837,0.78743,0.1141,0.58911,0.79995,0.11413,0.58912,0.79995,0.11416,0.58912,0.79994,-0.062184,0.58984,-0.80512,-0.062198,0.58984,-0.80512,-0.062169,0.58984,-0.80512,-0.022977,0.59005,-0.80704,-0.022984,0.59002,-0.80706,-0.02299,0.58999,-0.80708,0.0754,0.20091,0.9767,0.075417,0.20094,0.9767,0.075382,0.20089,0.97671,0.027865,0.20098,0.9792,0.027873,0.201,0.9792,0.027879,0.20101,0.97919,-0.076349,0.20093,-0.97663,-0.076366,0.20091,-0.97663,-0.076332,0.20094,-0.97662,-0.028225,0.20104,-0.97918,-0.028231,0.20101,-0.97918,-0.028238,0.20098,-0.97919,0.062909,0.58984,0.80507,0.062923,0.58984,0.80506,0.062895,0.58984,0.80507,0.023253,0.58999,0.80707,0.023258,0.59002,0.80705,0.023263,0.59005,0.80703,0.009022,0.5902,-0.8072,0.009019,0.5902,-0.8072,0.009025,0.5902,-0.8072,0.036247,0.59024,-0.80642,0.036245,0.59024,-0.80642,0.036244,0.59024,-0.80642,-0.010955,0.20109,0.97951,-0.010952,0.20109,0.97951,-0.01096,0.20109,0.97951,-0.043988,0.20113,0.97858,-0.043987,0.20112,0.97858,-0.043985,0.2011,0.97858,0.010758,0.20109,-0.97952,0.010754,0.20109,-0.97952,0.010761,0.20109,-0.97951,0.0439,0.2011,-0.97859,0.043899,0.20112,-0.97858,0.043897,0.20113,-0.97858,-0.008871,0.5902,0.8072,-0.008868,0.5902,0.8072,-0.008874,0.5902,0.8072,-0.036179,0.59024,0.80642,-0.036178,0.59024,0.80642,-0.036177,0.59024,0.80642,0.06044,0.59029,-0.80493,0.060437,0.59029,-0.80493,0.060444,0.59029,-0.80493,0.082874,0.59066,-0.80266,0.082861,0.59066,-0.80266,0.082849,0.59066,-0.80266,-0.073339,0.20113,0.97681,-0.073342,0.20113,0.97681,-0.073336,0.20113,0.97681,-0.10054,0.20094,0.97443,-0.10056,0.20094,0.97443,-0.10057,0.20094,0.97443,-2.5e-05,-1,-2e-06,-5e-05,-1,-4e-06,2.3e-05,-1,-0.000221,-7.5e-05,-1,-0.000231,-0.000174,-1,-0.000241,0.073299,0.20113,-0.97682,0.073299,0.20113,-0.97682,0.0733,0.20113,-0.97682,0.10056,0.20114,-0.97439,-0.060402,0.59029,0.80493,-0.060401,0.59029,0.80493,-0.060403,0.59029,0.80493,-0.082868,0.59028,0.80293,-0.082868,0.59028,0.80293,0.10892,0.59182,-0.79868,0.10885,0.59182,-0.79868,0.10899,0.59182,-0.79867,0.14419,0.59905,-0.78762,0.14396,0.59908,-0.78764,0.14373,0.59911,-0.78766,-0.12543,0.20036,0.97166,-0.12548,0.20034,0.97166,-0.12537,0.20039,0.97166,-0.14749,0.19845,0.96895,-0.14762,0.19846,0.96893,-0.14775,0.19847,0.96891,-0.006399,-0.99998,-0.001734,-0.007995,-0.99997,-0.001944,-0.004823,-0.99999,-0.001527,-0.017951,-0.99969,-0.017203,-0.023898,-0.99955,-0.018153,-0.029923,-0.99937,-0.019114,0.12797,0.20114,-0.97117,0.12799,0.20111,-0.97117,0.12795,0.20117,-0.97116,0.15776,0.20017,-0.96698,0.15784,0.20016,-0.96697,0.15792,0.20014,-0.96696,-0.1018,0.59027,0.80076,-0.10184,0.59032,0.80071,-0.10176,0.59022,0.8008,-0.11568,0.5848,0.80289,-0.11586,0.5848,0.80286,-0.11604,0.5848,0.80283,0.006126,0.99998,0.000804,0.004899,0.99999,0.000643,0.007366,0.99997,0.000967,0.028136,0.99945,0.017267,0.023058,0.9996,0.016456,0.018036,0.99972,0.015654,0.18468,0.61842,-0.76384,0.1843,0.61845,-0.7639,0.18507,0.61838,-0.76378,0.22948,0.64134,-0.73214,0.22909,0.64138,-0.73222,0.2287,0.64142,-0.73231,-0.17018,0.19441,0.96605,-0.17037,0.19442,0.96601,-0.16999,0.1944,0.96608,-0.19612,0.19,0.962,-0.19631,0.18999,0.96196,-0.19651,0.18998,0.96192,-0.044775,-0.9971,-0.061539,-0.054981,-0.99647,-0.063456,-0.03471,-0.99762,-0.059643,-0.05569,-0.99221,-0.11144,-0.066097,-0.99131,-0.11371,-0.07668,-0.99028,-0.11602,0.19129,0.19727,-0.96151,0.19142,0.19726,-0.96148,0.19115,0.19729,-0.96153,0.22971,0.19383,-0.95376,0.22985,0.19382,-0.95373,0.22999,0.19381,-0.9537,-0.12827,0.56884,0.81238,-0.12859,0.56879,0.81237,-0.12795,0.56889,0.8124,-0.14031,0.54994,0.82333,-0.14064,0.54992,0.82329,-0.14098,0.5499,0.82324,0.043413,0.99728,0.05952,0.034781,0.99772,0.057893,0.052149,0.99677,0.061163,0.073924,0.99075,0.11378,0.064818,0.99162,0.11179,0.055842,0.99238,0.10983,0.27621,0.65819,-0.70035,0.27589,0.65826,-0.70042,0.27653,0.65812,-0.70029,0.32412,0.66961,-0.66826,0.32386,0.6696,-0.66839,0.32359,0.6696,-0.66853,-0.22907,0.18681,0.95532,-0.22923,0.1868,0.95528,-0.2289,0.18682,0.95535,-0.2735,0.1844,0.94403,-0.27365,0.1844,0.94399,-0.2738,0.1844,0.94394,-0.084215,-0.98411,-0.15631,-0.093492,-0.9829,-0.15867,-0.075154,-0.98521,-0.15401,-0.081332,-0.97897,-0.18709,-0.089756,-0.97773,-0.18969,-0.098501,-0.97637,-0.19236,0.27445,0.19107,-0.94243,0.27457,0.19107,-0.94239,0.27433,0.19107,-0.94246,0.32681,0.18883,-0.92603,0.32691,0.18883,-0.926,0.327,0.18883,-0.92596,-0.15903,0.53495,0.82978,-0.15932,0.53498,0.82971,-0.15874,0.53491,0.82986,-0.19258,0.52334,0.83008,-0.19285,0.52335,0.83001,-0.19312,0.52337,0.82993,0.083305,0.98444,0.15472,0.075458,0.98538,0.15272,0.091313,0.98341,0.15676,0.096686,0.97686,0.19077,0.089137,0.97803,0.18846,0.081826,0.9791,0.18621,0.37551,0.67716,-0.63281,0.37527,0.67719,-0.63292,0.37575,0.67713,-0.6327,0.43415,0.68159,-0.58902,0.43393,0.68161,-0.58916,0.43371,0.68163,-0.5893,-0.3335,0.18271,0.92488,-0.33363,0.18271,0.92483,-0.33337,0.1827,0.92492,-0.41139,0.18201,0.8931,-0.41148,0.18202,0.89306,-0.41157,0.18202,0.89302,-0.084193,-0.97273,-0.21613,-0.092736,-0.97121,-0.21943,-0.076096,-0.97409,-0.21299,-0.062211,-0.97097,-0.23096,-0.069745,-0.96958,-0.23461,-0.07778,-0.96803,-0.23849,0.39043,0.18727,-0.90138,0.39049,0.18727,-0.90136,0.39037,0.18727,-0.90141,0.46845,0.18651,-0.86358,0.46847,0.18649,-0.86357,0.46849,0.18648,-0.86356,-0.24267,0.51511,0.82206,-0.24291,0.51512,0.82198,-0.24243,0.51509,0.82214,-0.30918,0.51072,0.80223,-0.30936,0.51078,0.80212,-0.30954,0.51084,0.80201,0.083815,0.97296,0.21522,0.076782,0.97414,0.21249,0.09118,0.97167,0.21807,0.07647,0.96842,0.23732,0.069546,0.96975,0.23398,0.062993,0.97096,0.23081,0.49041,0.68317,-0.54109,0.49022,0.68319,-0.54124,0.4906,0.68315,-0.54094,0.52498,0.68449,-0.50584,0.52485,0.6845,-0.50595,0.52472,0.68452,-0.50606,-0.49434,0.18179,0.85005,-0.49438,0.1818,0.85002,-0.4943,0.18179,0.85007,-0.54782,0.18186,0.81659,-0.54782,0.18187,0.81659,-0.54783,0.18188,0.81658,-0.050541,-0.96818,-0.24509,-0.057305,-0.9668,-0.24902,-0.044211,-0.96942,-0.24139,-0.03221,-0.96799,-0.24892,-0.036588,-0.96707,-0.25186,-0.041208,-0.96607,-0.25496,0.54858,0.186,-0.81515,0.54856,0.186,-0.81516,0.5486,0.186,-0.81513,0.60061,0.18596,-0.77762,0.60057,0.18596,-0.77765,0.60054,0.18595,-0.77767,-0.38114,0.5088,0.77192,-0.38128,0.50881,0.77184,-0.381,0.5088,0.77199,-0.42742,0.50771,0.74803,-0.42751,0.50771,0.74798,-0.42759,0.50771,0.74793,0.050472,0.96828,0.24471,0.044955,0.96936,0.24149,0.056312,0.96709,0.24811,0.040611,0.96624,0.25442,0.036596,0.96711,0.25173,0.032763,0.96791,0.24915,0.54366,0.68508,-0.48487,0.54361,0.68508,-0.48493,0.54372,0.68507,-0.48482,0.56076,0.68384,-0.46681,0.56073,0.68386,-0.46681,0.56071,0.68387,-0.46682,-0.57869,0.18207,0.79497,-0.57869,0.18207,0.79497,-0.57869,0.18206,0.79497,-0.60736,0.18229,0.77323,-0.60735,0.1823,0.77324,-0.60734,0.18231,0.77324,-0.02765,-0.96655,-0.25499,-0.030428,-0.96592,-0.25703,-0.02498,-0.96714,-0.25303,-0.016771,-0.96742,-0.2526,-0.018643,-0.967,-0.25408,-0.02059,-0.96656,-0.25561,0.6315,0.18606,-0.75272,0.63148,0.18605,-0.75274,0.63153,0.18606,-0.7527,0.65904,0.18608,-0.72873,0.65901,0.18607,-0.72876,0.65898,0.18607,-0.72878,-0.45514,0.50726,0.7318,-0.45521,0.50726,0.73176,-0.45508,0.50726,0.73184,-0.48173,0.50736,0.71451,-0.48176,0.50738,0.71447,-0.48179,0.5074,0.71444,0.02771,0.96652,0.2551,0.025351,0.96704,0.25336,0.030151,0.96597,0.25689,0.020519,0.9665,0.25582,0.018787,0.9669,0.25446,0.017113,0.96728,0.25314,0.57739,0.68203,-0.44883,0.57739,0.68204,-0.44882,0.57739,0.68203,-0.44884,0.59557,0.67944,-0.42856,0.59557,0.67946,-0.42852,0.59556,0.67949,-0.42849,-0.63624,0.18276,0.74953,-0.63621,0.18276,0.74955,-0.63626,0.18276,0.74951,-0.66813,0.18338,0.72109,-0.6681,0.18339,0.72112,-0.66806,0.1834,0.72115,-0.008571,-0.968,-0.2508,-0.01023,-0.96762,-0.25222,-0.006987,-0.96836,-0.24945,0.004114,-0.96979,-0.24393,0.002675,-0.96945,-0.24527,0.001152,-0.96909,-0.2467,0.68559,0.18635,-0.70373,0.68554,0.18635,-0.70378,0.68563,0.18636,-0.70369,0.71459,0.1868,-0.67414,0.71454,0.18679,-0.6742,0.71448,0.18677,-0.67427,-0.50901,0.50804,0.69484,-0.50904,0.50804,0.69481,-0.50899,0.50803,0.69486,-0.5394,0.5092,0.67064,-0.53942,0.5092,0.67062,-0.53944,0.50921,0.67061,0.008792,0.96783,0.25147,0.007366,0.96815,0.25025,0.010277,0.96748,0.25273,-0.001052,0.96889,0.24747,-0.002421,0.96922,0.24619,-0.003725,0.96952,0.24497,0.61564,0.67632,-0.40446,0.61566,0.67632,-0.40442,0.61561,0.67632,-0.40449,0.63803,0.6726,-0.37487,0.63806,0.67259,-0.37484,0.63809,0.67258,-0.3748,-0.70334,0.18416,0.68659,-0.7033,0.18416,0.68663,-0.70337,0.18416,0.68655,-0.74247,0.18498,0.64383,-0.74243,0.18498,0.64387,-0.7424,0.18498,0.64391,0.015094,-0.97127,-0.23751,0.013521,-0.97089,-0.23914,0.016562,-0.97162,-0.23599,0.030536,-0.97374,-0.2256,0.028866,-0.97334,-0.22756,0.027046,-0.97289,-0.2297,0.74639,0.18735,-0.6386,0.74632,0.18734,-0.63867,0.74645,0.18736,-0.63852,0.78159,0.18796,-0.59481,0.78152,0.18796,-0.59489,0.78145,0.18796,-0.59499,-0.57338,0.51089,0.64048,-0.57339,0.5109,0.64047,-0.57337,0.51089,0.6405,-0.61134,0.51283,0.60272,-0.61136,0.51284,0.60269,-0.61137,0.51285,0.60267,-0.014845,0.97099,0.23867,-0.016175,0.9713,0.23729,-0.013433,0.97065,0.24014,-0.027025,0.97261,0.23086,-0.028649,0.97301,0.22896,-0.030156,0.97338,0.22719,0.6628,0.66856,-0.33722,0.66282,0.66857,-0.33716,0.66278,0.66855,-0.33727,0.68979,0.66403,-0.28855,0.68981,0.66402,-0.2885,0.68983,0.66402,-0.28845,-0.78546,0.18588,0.59035,-0.78543,0.18588,0.59038,-0.78548,0.18588,0.59032,-0.83222,0.18667,0.52208,-0.83222,0.18667,0.52208,-0.83221,0.18667,0.52209,0.044035,-0.97557,-0.21521,0.041758,-0.97499,-0.21831,0.046073,-0.97609,-0.21243,0.063306,-0.97854,-0.19606,0.060822,-0.97787,-0.20016,0.057949,-0.97707,-0.20489,0.82022,0.18866,-0.54004,0.82016,0.18866,-0.54014,0.82029,0.18866,-0.53994,0.86208,0.18927,-0.4701,0.86202,0.18928,-0.47021,0.86196,0.18929,-0.47031,-0.65361,0.51505,0.55454,-0.65364,0.51506,0.5545,-0.65358,0.51503,0.55459,-0.69991,0.5171,0.49268,-0.69996,0.5171,0.4926,-0.70001,0.51711,0.49252,-0.043879,0.97522,0.21683,-0.045707,0.97569,0.21433,-0.041866,0.9747,0.21957,-0.058244,0.97678,0.20616,-0.060761,0.9775,0.20201,-0.062983,0.97811,0.19835,0.71744,0.65942,-0.2246,0.71745,0.65942,-0.22454,0.71742,0.65942,-0.22466,0.7431,0.65415,-0.14106,0.7431,0.65416,-0.14099,0.74311,0.65416,-0.14093,-0.88105,0.1875,0.43428,-0.88107,0.18751,0.43423,-0.88102,0.18749,0.43434,-0.92826,0.18804,0.32091,-0.92831,0.18805,0.32075,-0.92836,0.18806,0.3206,0.079017,-0.98017,-0.18174,0.075642,-0.97907,-0.18892,0.081804,-0.98102,-0.17579,0.10078,-0.98342,-0.15076,0.09813,-0.98238,-0.15905,0.094726,-0.98094,-0.16967,0.9053,0.18996,-0.37993,0.90526,0.18996,-0.38003,0.90534,0.18996,-0.37983,0.94576,0.19035,-0.26326,0.94574,0.19035,-0.26334,0.94571,0.19035,-0.26343,-0.7488,0.51923,0.41195,-0.74886,0.51925,0.41181,-0.74874,0.5192,0.41209,-0.79648,0.52071,0.30737,-0.79655,0.52074,0.30715,-0.79661,0.52077,0.30694,-0.079101,0.97977,0.18382,-0.081594,0.98055,0.1785,-0.076163,0.97881,0.19006,-0.095484,0.98072,0.17051,-0.098429,0.98198,0.16134,-0.1008,0.98293,0.15391,0.76024,0.64885,-0.032016,0.76025,0.64885,-0.031948,0.76024,0.64885,-0.032086,0.75953,0.64242,0.10205,0.7595,0.64243,0.1022,0.75947,0.64244,0.10235,-0.96652,0.18859,0.174,-0.96656,0.18859,0.17379,-0.96648,0.18858,0.17423,-0.98192,0.18918,-0.006368,-0.98192,0.18919,-0.006619,-0.98191,0.1892,-0.006868,0.11674,-0.98443,-0.13142,0.11456,-0.9827,-0.1455,0.11831,-0.98556,-0.12113,0.13142,-0.98744,-0.087675,0.13175,-0.98632,-0.099057,0.1322,-0.98446,-0.11563,0.97471,0.19078,-0.11641,0.97469,0.19078,-0.11652,0.97472,0.19078,-0.1163,0.97957,0.19134,0.06186,0.97958,0.19135,0.061696,0.97959,0.19136,0.061533,-0.83484,0.52204,0.1747,-0.83489,0.52205,0.17444,-0.83479,0.52202,0.17496,-0.852,0.52334,0.01449,-0.85198,0.52338,0.014224,-0.85197,0.52341,0.01396,-0.11733,0.98402,0.13396,-0.11875,0.98506,0.12469,-0.11546,0.98251,0.14608,-0.13312,0.98427,0.11617,-0.13274,0.98589,0.10193,-0.13245,0.98695,0.091611,0.72948,0.63382,0.25716,0.72947,0.6338,0.25723,0.72949,0.63384,0.25709,0.66294,0.62613,0.41045,0.66295,0.62613,0.41043,0.66296,0.62613,0.41042,-0.95766,0.18972,-0.21654,-0.95767,0.18972,-0.21652,-0.95766,0.18972,-0.21657,-0.88426,0.19134,-0.42599,-0.88441,0.19134,-0.42568,-0.88456,0.19134,-0.42537,0.14105,-0.98794,-0.063871,0.14473,-0.98627,-0.07955,0.13859,-0.9889,-0.053505,0.13831,-0.99012,-0.023074,0.14189,-0.98941,-0.03062,0.14722,-0.98822,-0.0419,0.94716,0.19213,0.25685,0.94725,0.19214,0.25653,0.94707,0.19213,0.25717,0.87132,0.19423,0.45063,0.87155,0.19423,0.4502,0.87177,0.19422,0.44977,-0.83593,0.5244,-0.16196,-0.8359,0.52441,-0.1621,-0.83596,0.52439,-0.16182,-0.78013,0.52799,-0.33559,-0.78013,0.52801,-0.33557,-0.78013,0.52803,-0.33554,-0.14257,0.98752,0.06689,-0.14033,0.98844,0.057407,-0.14574,0.98605,0.080397,-0.14846,0.98798,0.043101,-0.14385,0.98904,0.033328,-0.14057,0.98972,0.026397,0.57466,0.6178,0.53674,0.57465,0.61779,0.53677,0.57468,0.61781,0.53671,0.4771,0.6107,0.632,0.47704,0.61068,0.63206,0.47699,0.61067,0.63211,-0.77715,0.19276,-0.59907,-0.77738,0.19276,-0.59877,-0.77692,0.19276,-0.59937,-0.65355,0.19435,-0.73151,-0.65378,0.19434,-0.7313,-0.65402,0.19434,-0.73109,0.13613,-0.99069,-0.003265,0.14031,-0.99007,-0.008837,0.13322,-0.99109,0.000611,0.12518,-0.99203,0.014427,0.12484,-0.99207,0.01473,0.12438,-0.99212,0.015146,0.76173,0.19624,0.61747,0.76202,0.19623,0.6171,0.76142,0.19625,0.61784,0.63452,0.19836,0.74702,0.63482,0.19836,0.74676,0.63512,0.19835,0.74651,-0.69374,0.5318,-0.48571,-0.69383,0.53182,-0.48556,-0.69365,0.53178,-0.48586,-0.5906,0.53903,-0.60052,-0.59091,0.53903,-0.60022,-0.59121,0.53903,-0.59993,-0.13807,0.99041,0.005208,-0.13539,0.99079,0.001636,-0.14172,0.98986,0.010082,-0.12581,0.99195,-0.014105,-0.12611,0.99192,-0.013829,-0.12635,0.99189,-0.013619,0.38159,0.60473,0.69906,0.38136,0.60474,0.69918,0.38183,0.60473,0.69894,0.27172,0.59737,0.75453,0.27131,0.59737,0.75468,0.2709,0.59736,0.75484,-0.53151,0.19572,-0.82413,-0.53153,0.19573,-0.82412,-0.5315,0.19571,-0.82414,-0.38967,0.19586,-0.89989,-0.38942,0.19586,-0.9,-0.38916,0.19586,-0.90011,0.1083,-0.99389,0.021504,0.10342,-0.99433,0.024542,0.11192,-0.99353,0.019244,0.09263,-0.99547,0.021552,0.087983,-0.99585,0.023394,0.081522,-0.99633,0.025953,0.50179,0.19992,0.84157,0.50191,0.19993,0.8415,0.50167,0.19991,0.84164,0.35043,0.19971,0.91505,0.35034,0.19971,0.91508,0.35025,0.19971,0.91512,-0.47938,0.55219,-0.68211,-0.47978,0.55217,-0.68185,-0.47898,0.5522,-0.68238,-0.34815,0.56427,-0.74859,-0.34838,0.56427,-0.74849,-0.34861,0.56426,-0.74838,-0.10875,0.99384,-0.021309,-0.11192,0.99353,-0.019335,-0.10467,0.99422,-0.023851,-0.082548,0.99626,-0.025574,-0.087976,0.99585,-0.023423,-0.092068,0.99551,-0.021801,0.12583,0.59075,0.79698,0.12557,0.59075,0.79702,0.12608,0.59076,0.79694,-0.03209,0.58822,0.80807,-0.032077,0.58823,0.80806,-0.032064,0.58824,0.80805,-0.20208,0.19587,-0.95958,-0.20197,0.19586,-0.95961,-0.20219,0.19589,-0.95956,0.000581,0.19721,-0.98036,0.000406,0.19721,-0.98036,0.000231,0.19721,-0.98036,0.066303,-0.99753,0.023045,0.059537,-0.99793,0.024263,0.070952,-0.99723,0.022208,0.051228,-0.9985,0.019181,0.047442,-0.99869,0.019106,0.041937,-0.99894,0.018996,0.17299,0.19859,0.96469,0.17291,0.19859,0.96471,0.17307,0.19859,0.96468,-0.013634,0.19863,0.97998,-0.013596,0.19863,0.97998,-0.01356,0.19862,0.97998,-0.19214,0.57122,-0.79799,-0.19226,0.57122,-0.79796,-0.19201,0.57123,-0.79802,-0.026287,0.57775,-0.81579,-0.026436,0.57774,-0.8158,-0.026584,0.57772,-0.8158,-0.066099,0.99755,-0.023088,-0.070215,0.99728,-0.022347,-0.060422,0.99788,-0.024109,-0.042611,0.99891,-0.019013,-0.047232,0.9987,-0.019105,-0.050586,0.99854,-0.019171,-0.17512,0.58691,0.79048,-0.17496,0.58693,0.79051,-0.17528,0.5869,0.79046,-0.28338,0.58753,0.75796,-0.28317,0.58754,0.75803,-0.28296,0.58755,0.7581,0.18609,0.19826,-0.96232,0.18579,0.19826,-0.96238,0.18638,0.19826,-0.96227,0.33132,0.19948,-0.92219,0.331,0.19947,-0.92231,0.33069,0.19947,-0.92242,0.030748,-0.99943,0.01392,0.027368,-0.99954,0.013247,0.033171,-0.99935,0.014403,0.016289,-0.99984,0.00787,0.014831,-0.99986,0.007347,0.012938,-0.99989,0.006667,-0.18787,0.19884,0.96186,-0.18774,0.19884,0.96188,-0.18799,0.19885,0.96183,-0.32453,0.19961,0.92457,-0.32436,0.19961,0.92463,-0.32419,0.1996,0.92469,0.13029,0.58251,-0.80231,0.13011,0.58251,-0.80234,0.13046,0.58252,-0.80228,0.25595,0.5864,-0.76852,0.25577,0.5864,-0.76858,0.25558,0.5864,-0.76864,-0.030637,0.99943,-0.013899,-0.032775,0.99936,-0.014324,-0.027794,0.99952,-0.013332,-0.01319,0.99989,-0.006756,-0.014787,0.99986,-0.007331,-0.016063,0.99984,-0.00779,-0.35575,0.58894,0.72567,-0.35562,0.58894,0.72574,-0.35588,0.58893,0.72561,-0.40233,0.58971,0.70027,-0.40226,0.58971,0.70031,-0.40219,0.58971,0.70035,0.42877,0.20046,-0.88089,0.42859,0.20045,-0.88098,0.42895,0.20046,-0.8808,0.48819,0.20084,-0.84931,0.4881,0.20086,-0.84936,0.48801,0.20087,-0.84941,0.003627,-0.99999,0.001764,0.003045,-0.99999,0.001482,0.004113,-0.99999,0.002,-0.42213,0.20045,0.8841,-0.42201,0.20044,0.88416,-0.42225,0.20045,0.88404,-0.48397,0.20083,0.85173,-0.4839,0.20084,0.85177,-0.48383,0.20084,0.8518,0.34536,0.58891,-0.73069,0.34524,0.58891,-0.73074,0.34547,0.58891,-0.73064,0.39911,0.58971,-0.70211,0.39905,0.58972,-0.70214,0.39899,0.58973,-0.70217,-0.003617,0.99999,-0.001759,-0.004039,0.99999,-0.001965,-0.003124,0.99999,-0.001519,0,1,-0,0,1,-1e-06,-0.42502,0.59037,0.68616,-0.425,0.59037,0.68617,-0.42505,0.59037,0.68615,-0.42491,0.59025,0.68633,-0.42494,0.59023,0.68634,-0.42496,0.59021,0.68634,0.51587,0.20118,-0.83271,0.51584,0.20119,-0.83272,0.5159,0.20117,-0.8327,0.51559,0.2011,-0.8329,0.51562,0.20109,-0.83289,0.51564,0.20109,-0.83287,-0,-1,1e-06,-0.51448,0.20117,0.83357,-0.51446,0.20117,0.83358,-0.51451,0.20117,0.83355,-0.51679,0.20109,0.83216,-0.51681,0.2011,0.83215,-0.51683,0.20111,0.83213,0.42395,0.5904,-0.6868,0.42393,0.5904,-0.68681,0.42398,0.5904,-0.68679,0.42583,0.59023,-0.68578,0.42585,0.59024,-0.68577,0.42587,0.59024,-0.68575,-0.40104,0.58996,0.7008,-0.40111,0.58995,0.70077,-0.40097,0.58997,0.70083,-0.34996,0.58859,0.72876,-0.35009,0.58858,0.72871,-0.35021,0.58857,0.72866,0.4864,0.20096,-0.85031,0.48647,0.20096,-0.85027,0.48632,0.20096,-0.85036,0.42383,0.20027,-0.88332,0.42398,0.20028,-0.88325,0.42412,0.20029,-0.88318,-0.49113,0.20097,0.84759,-0.49122,0.20098,0.84753,-0.49103,0.20096,0.84764,-0.43324,0.20029,0.87874,-0.43345,0.20028,0.87864,-0.43366,0.20028,0.87854,0.40465,0.58997,-0.69871,0.40473,0.58996,-0.69867,0.40457,0.58998,-0.69875,0.35714,0.58863,-0.72523,0.35732,0.5886,-0.72517,0.3575,0.58858,-0.7251,-0,1,1e-06,-0.26597,0.58704,0.76462,-0.26614,0.58705,0.76456,-0.26581,0.58702,0.76469,-0.14293,0.58458,0.79865,-0.14313,0.58457,0.79862,-0.14332,0.58455,0.7986,0.32154,0.19951,-0.92564,0.32173,0.19951,-0.92557,0.32134,0.1995,-0.92571,0.17221,0.19828,-0.9649,0.17244,0.19828,-0.96486,0.17267,0.19829,-0.96481,-0.33563,0.19951,0.92063,-0.33597,0.19951,0.9205,-0.33529,0.19951,0.92075,-0.1898,0.19829,0.96159,-0.19026,0.1983,0.9615,-0.19073,0.19831,0.9614,0.27673,0.58705,-0.76079,0.27701,0.58703,-0.7607,0.27646,0.58706,-0.76088,0.15637,0.58459,-0.79612,0.15673,0.58461,-0.79604,0.1571,0.58462,-0.79595,0.011502,0.58189,0.81319,0.011459,0.58187,0.8132,0.011545,0.5819,0.81318,0.18307,0.5822,0.79217,0.18319,0.5822,0.79214,0.18331,0.58219,0.79212,-0.013971,0.19695,-0.98031,-0.013918,0.19695,-0.98031,-0.014024,0.19695,-0.98031,-0.22048,0.19711,-0.95527,-0.22061,0.1971,-0.95524,-0.22075,0.1971,-0.95521,0.009697,0.19696,0.98036,0.009577,0.19696,0.98036,0.009814,0.19696,0.98036,0.23141,0.19705,0.95269,0.23171,0.19705,0.95262,0.23202,0.19705,0.95254,-0.008235,0.58189,-0.81323,-0.00814,0.58189,-0.81323,-0.008328,0.58189,-0.81322,-0.19145,0.58207,-0.79028,-0.19169,0.58208,-0.79022,-0.19193,0.58209,-0.79015,0.34394,0.58229,0.73664,0.3441,0.58229,0.73657,0.34379,0.58229,0.73671,0.47358,0.58382,0.65945,0.47371,0.58382,0.65936,0.47385,0.58382,0.65926,-0.41438,0.19717,-0.88849,-0.41457,0.19717,-0.8884,-0.4142,0.19717,-0.88858,-0.57146,0.19791,-0.79641,-0.57162,0.19791,-0.79629,-0.57178,0.19791,-0.79618,0,-1,1e-06,0.42856,0.19707,0.88176,0.42893,0.19707,0.88158,0.4282,0.19707,0.88193,0.58253,0.19786,0.78836,0.5828,0.19785,0.78816,0.58307,0.19784,0.78796,-0.35484,0.58213,-0.73159,-0.35513,0.58213,-0.73144,-0.35455,0.58212,-0.73173,-0.4821,0.5837,-0.65336,-0.48231,0.58371,-0.65319,-0.48252,0.58373,-0.65302,-0,1,-1e-06,0.57552,0.58515,0.57129,0.57549,0.58515,0.57132,0.57554,0.58515,0.57127,0.67096,0.58207,0.45935,0.67084,0.58207,0.45953,0.67071,0.58208,0.45971,-0.69563,0.19857,-0.69041,-0.6956,0.19857,-0.69044,-0.69566,0.19856,-0.69038,-0.80927,0.19705,-0.55339,-0.80913,0.19705,-0.55361,-0.80898,0.19706,-0.55383,0.69358,0.19857,0.69248,0.69352,0.19858,0.69252,0.69362,0.19856,0.69243,0.79843,0.19703,0.56894,0.79816,0.19703,0.56932,0.79788,0.19703,0.56971,-0.57394,0.58516,-0.57287,-0.57389,0.58518,-0.5729,-0.57398,0.58515,-0.57284,-0.66268,0.58203,-0.47128,-0.66246,0.58203,-0.47158,-0.66223,0.58204,-0.47189,0.7553,0.57859,0.30783,0.75523,0.5786,0.30798,0.75536,0.57858,0.30768,0.80712,0.57885,0.11612,0.80712,0.57885,0.11617,0.80711,0.57885,0.11623,-0.90835,0.19534,-0.36978,-0.90828,0.19534,-0.36996,-0.90843,0.19535,-0.36959,-0.97073,0.19547,-0.13952,-0.97072,0.19547,-0.13959,-0.97072,0.19547,-0.13965,0.90244,0.19529,0.38401,0.90228,0.19529,0.38439,0.9026,0.19529,0.38364,0.96998,0.19545,0.14469,0.96996,0.19545,0.14483,0.96994,0.19545,0.14497,-0.75083,0.57848,-0.31878,-0.7507,0.57848,-0.31908,-0.75095,0.57848,-0.31848,-0.80657,0.57881,-0.12008,-0.80655,0.57881,-0.12019,-0.80654,0.57881,-0.12031,0.81039,0.57879,-0.090993,0.81037,0.57879,-0.091101,0.8104,0.57879,-0.090887,0.76667,0.58202,-0.27107,0.76659,0.58202,-0.27128,0.76651,0.58203,-0.2715,-0.97462,0.19544,0.10917,-0.97461,0.19544,0.1093,-0.97463,0.19544,0.10905,-0.92451,0.19703,0.3263,-0.92441,0.19703,0.32655,-0.92432,0.19703,0.32681,0.97344,0.19544,-0.11928,0.9734,0.19544,-0.11955,0.97347,0.19544,-0.11901,0.91756,0.197,-0.34535,0.91738,0.197,-0.34584,0.91719,0.197,-0.34633,-0.80949,0.57878,0.09874,-0.80946,0.57878,0.098959,-0.80951,0.57878,0.098524,-0.76138,0.58197,0.28567,-0.76124,0.58196,0.28606,-0.7611,0.58196,0.28646,0.69837,0.5849,-0.41252,0.69828,0.5849,-0.41267,0.69847,0.58489,-0.41236,0.62582,0.58662,-0.51402,0.62574,0.58662,-0.51412,0.62566,0.58662,-0.51422,-0.84411,0.19844,0.49809,-0.844,0.19844,0.49828,-0.84422,0.19844,0.49791,-0.75745,0.1993,0.62173,-0.75735,0.19929,0.62185,-0.75726,0.19929,0.62197,0.83631,0.19841,-0.5111,0.83612,0.19842,-0.5114,0.83649,0.19841,-0.51079,0.75098,0.19928,-0.62953,0.75084,0.19928,-0.62971,0.75069,0.19929,-0.62988,-0.69244,0.58483,0.42249,-0.69229,0.58482,0.42274,-0.69258,0.58485,0.42224,-0.62089,0.58659,0.52,-0.62078,0.58659,0.52014,-0.62066,0.58659,0.52028,0.55729,0.5882,-0.58605,0.55723,0.5882,-0.5861,0.55734,0.5882,-0.58599,0.49631,0.5888,-0.63796,0.49628,0.5888,-0.63798,0.49624,0.58881,-0.63801,-0.67531,0.20009,0.70988,-0.67524,0.20009,0.70994,-0.67538,0.20008,0.70981,-0.60166,0.20039,0.77321,-0.60162,0.20039,0.77324,-0.60158,0.20039,0.77327,0.67094,0.20009,-0.71401,0.67085,0.20009,-0.7141,0.67103,0.20008,-0.71392,0.59918,0.20039,-0.77513,0.59913,0.20039,-0.77517,0.59908,0.20039,-0.77521,-0.55395,0.5882,0.5892,-0.55388,0.5882,0.58928,-0.55403,0.5882,0.58913,-0.49442,0.5888,0.63943,-0.49438,0.5888,0.63945,-0.49433,0.58881,0.63948,0.44215,0.58937,-0.67613,0.44213,0.58936,-0.67615,0.44216,0.58938,-0.67611,0.39349,0.58958,-0.70538,0.39348,0.58958,-0.70539,0.39346,0.58958,-0.70539,-0.53622,0.20068,0.81987,-0.5362,0.20068,0.81989,-0.53625,0.20068,0.81986,-0.47727,0.20079,0.85551,-0.47726,0.20078,0.85552,-0.47724,0.20078,0.85553,0.53465,0.20068,-0.8209,0.53462,0.20068,-0.82092,0.53468,0.20068,-0.82088,0.47643,0.20078,-0.85598,0.47641,0.20078,-0.85599,0.47639,0.20078,-0.856,-0.44094,0.58937,0.67691,-0.44092,0.58939,0.67692,-0.44098,0.58936,0.6769,-0.39284,0.58957,0.70575,-0.39283,0.58958,0.70575,-0.39281,0.58959,0.70575,0.34567,0.58977,-0.72985,0.34567,0.58976,-0.72986,0.34567,0.58979,-0.72984,0.29406,0.58953,-0.75232,0.29406,0.58952,-0.75233,0.29407,0.58951,-0.75233,-0.42403,0.20088,0.88309,-0.42402,0.20088,0.88309,-0.42404,0.20088,0.88308,-0.37569,0.20094,0.9047,-0.37569,0.20094,0.9047,-0.37568,0.20094,0.9047,0.005072,-0.99998,0.002432,0.005127,-0.99998,0.002458,0.005013,-0.99999,0.002404,0.019871,-0.99976,0.009127,0.02016,-0.99975,0.009245,0.020432,-0.99975,0.009357,0.42149,0.20088,-0.88431,0.42148,0.20087,-0.88431,0.4215,0.20088,-0.8843,0.36724,0.20086,-0.90818,0.36724,0.20086,-0.90818,0.36724,0.20086,-0.90818,-0.35127,0.58978,0.72717,-0.35126,0.58978,0.72718,-0.35127,0.58978,0.72716,-0.31795,0.59004,0.74213,-0.31794,0.59004,0.74214,-0.31793,0.59004,0.74214,-0.005071,0.99998,-0.002431,-0.005021,0.99999,-0.002408,-0.005119,0.99998,-0.002454,-0.020393,0.99975,-0.009341,-0.020158,0.99975,-0.009244,-0.019911,0.99976,-0.009143,0.24018,0.58865,-0.77188,0.24019,0.58866,-0.77187,0.24017,0.58864,-0.77189,0.18554,0.58703,-0.78802,0.18557,0.58703,-0.78802,0.18559,0.58702,-0.78801,-0.32949,0.20107,0.9225,-0.32949,0.20108,0.9225,-0.3295,0.20107,0.9225,-0.28263,0.20123,0.93788,-0.28263,0.20123,0.93788,-0.28262,0.20123,0.93789,0.040067,-0.99904,0.017717,0.040726,-0.99901,0.017946,0.039366,-0.99907,0.017475,0.058733,-0.99795,0.025492,0.059961,-0.99787,0.025842,0.061115,-0.99779,0.026172,0.31293,0.20078,-0.92831,0.31294,0.20078,-0.92831,0.31293,0.20078,-0.92831,0.25782,0.20056,-0.94515,0.25783,0.20056,-0.94514,0.25785,0.20056,-0.94514,-0.28836,0.59069,0.75361,-0.28835,0.59069,0.75362,-0.28838,0.59069,0.75361,-0.25831,0.59172,0.76364,-0.25829,0.59172,0.76365,-0.25827,0.59172,0.76365,-0.040062,0.99904,-0.017716,-0.039462,0.99907,-0.017508,-0.040631,0.99901,-0.017913,-0.060948,0.9978,-0.026124,-0.059952,0.99787,-0.02584,-0.058902,0.99794,-0.025541,0.13046,0.58472,-0.80068,0.13049,0.58472,-0.80067,0.13044,0.58472,-0.80068,0.074421,0.58223,-0.80961,0.074441,0.58223,-0.80961,0.07446,0.58223,-0.8096,-0.2343,0.20147,0.95106,-0.23428,0.20147,0.95106,-0.23431,0.20147,0.95105,-0.18304,0.20193,0.96214,-0.18301,0.20193,0.96215,-0.18297,0.20193,0.96216,0.079093,-0.9963,0.033547,0.080624,-0.99617,0.033889,0.077465,-0.99644,0.033183,0.094874,-0.99469,0.039883,0.096725,-0.9945,0.040196,0.098483,-0.99431,0.040494,0.20082,0.20026,-0.95894,0.20083,0.20026,-0.95894,0.20082,0.20026,-0.95894,0.14122,0.20004,-0.96956,0.14121,0.20004,-0.96956,0.1412,0.20004,-0.96956,-0.22629,0.59329,0.77253,-0.22625,0.59329,0.77254,-0.22633,0.59329,0.77252,-0.19109,0.5956,0.78022,-0.19103,0.5956,0.78023,-0.19097,0.59561,0.78024,-0.079082,0.9963,-0.033545,-0.07769,0.99642,-0.033234,-0.080402,0.99619,-0.033839,-0.09823,0.99434,-0.040451,-0.096716,0.9945,-0.040195,-0.095132,0.99466,-0.039928,0.038012,0.58012,-0.81365,0.03806,0.58012,-0.81364,0.037963,0.58011,-0.81365,0.048901,0.57873,-0.81405,0.04902,0.57874,-0.81403,0.049138,0.57875,-0.81402,-0.15269,0.20233,0.96734,-0.15269,0.20233,0.96734,-0.15268,0.20233,0.96734,-0.17622,0.2017,0.96346,-0.17633,0.2017,0.96344,-0.17644,0.2017,0.96342,0.11203,-0.99264,0.045896,0.11368,-0.99245,0.046109,0.11036,-0.99284,0.045679,0.12254,-0.99121,0.049815,0.12364,-0.99107,0.049968,0.12482,-0.99091,0.050131,0.10673,0.19987,-0.97399,0.10677,0.19987,-0.97399,0.1067,0.19987,-0.97399,0.13044,0.19929,-0.97122,0.13055,0.19929,-0.9712,0.13067,0.19929,-0.97119,-0.17478,0.59745,0.78263,-0.17476,0.59746,0.78263,-0.1748,0.59745,0.78262,-0.20375,0.59559,0.77701,-0.20381,0.59559,0.777,-0.20388,0.59558,0.77699,-0.11203,0.99264,-0.045896,-0.1106,0.99281,-0.04571,-0.11344,0.99247,-0.046079,-0.12466,0.99093,-0.050109,-0.12365,0.99107,-0.04997,-0.1227,0.99119,-0.049838,0.10348,0.57923,-0.80857,0.10361,0.57924,-0.80855,0.10335,0.57922,-0.80859,0.19059,0.58292,-0.78986,0.1907,0.58292,-0.78983,0.1908,0.58293,-0.78981,-0.25056,0.20045,0.94712,-0.2507,0.20044,0.94709,-0.25042,0.20045,0.94716,-0.36172,0.19948,0.9107,-0.36184,0.19948,0.91065,-0.36195,0.19948,0.9106,0.1328,-0.98972,0.053102,0.13359,-0.9896,0.053284,0.13212,-0.98982,0.052946,0.1405,-0.98848,0.0563,0.14068,-0.98845,0.056367,0.1409,-0.98841,0.05645,0.20172,0.19878,-0.95906,0.20183,0.19878,-0.95904,0.20161,0.19878,-0.95908,0.30964,0.19912,-0.92977,0.30972,0.19912,-0.92974,0.3098,0.19912,-0.92972,-0.26936,0.591,0.76037,-0.26943,0.59099,0.76035,-0.26929,0.59101,0.76039,-0.36222,0.58562,0.72515,-0.36228,0.58561,0.72514,-0.36234,0.58559,0.72512,-0.13282,0.98972,-0.053106,-0.13223,0.9898,-0.052971,-0.13349,0.98962,-0.053261,-0.14087,0.98842,-0.056438,-0.14069,0.98845,-0.056369,-0.14053,0.98847,-0.05631,0.29688,0.58849,-0.75202,0.29693,0.58849,-0.75201,0.29682,0.5885,-0.75204,0.39995,0.59571,-0.69654,0.39994,0.5957,-0.69655,0.39993,0.5957,-0.69656,-0.49194,0.19828,0.84775,-0.49202,0.19828,0.84771,-0.49187,0.19829,0.84779,-0.61582,0.19737,0.76277,-0.61583,0.19736,0.76276,-0.61585,0.19736,0.76274,0.14884,-0.98704,0.059908,0.14828,-0.98715,0.059597,0.14928,-0.98696,0.060153,0.15949,-0.985,0.065843,0.1587,-0.98517,0.065223,0.15767,-0.98539,0.064426,0.43835,0.1997,-0.87634,0.43839,0.1997,-0.87632,0.4383,0.19971,-0.87636,0.56235,0.2008,-0.80215,0.56236,0.20079,-0.80215,0.56236,0.20079,-0.80215,-0.46852,0.57847,0.66773,-0.46857,0.57845,0.66772,-0.46847,0.57848,0.66775,-0.56795,0.57143,0.59236,-0.56797,0.57144,0.59233,-0.56799,0.57145,0.59231,-0.14883,0.98705,-0.059901,-0.14921,0.98698,-0.060115,-0.14835,0.98713,-0.059637,-0.1578,0.98536,-0.064529,-0.15867,0.98518,-0.065203,-0.15937,0.98503,-0.065746,0.49193,0.60333,-0.62769,0.49186,0.60334,-0.62773,0.49199,0.60333,-0.62765,0.56701,0.61154,-0.55184,0.56692,0.61154,-0.55192,0.56683,0.61155,-0.55201,-0.72366,0.1964,0.66163,-0.72363,0.19639,0.66166,-0.72368,0.1964,0.6616,-0.80971,0.19575,0.55322,-0.80966,0.19575,0.55329,-0.80961,0.19575,0.55337,0.16972,-0.98278,0.073057,0.16858,-0.98307,0.071862,0.17061,-0.98256,0.073991,0.18172,-0.97967,0.085005,0.18091,-0.97992,0.083874,0.1799,-0.98022,0.082453,0.67281,0.20192,-0.71173,0.67278,0.20192,-0.71175,0.67284,0.20192,-0.7117,0.7634,0.20334,-0.61308,0.76335,0.20335,-0.61314,0.7633,0.20335,-0.6132,-0.65366,0.56422,0.50436,-0.65367,0.56421,0.50436,-0.65366,0.56423,0.50436,-0.72115,0.55789,0.41073,-0.72114,0.5579,0.41074,-0.72112,0.55792,0.41075,-0.16969,0.98279,-0.073028,-0.17047,0.98259,-0.073846,-0.16873,0.98303,-0.072016,-0.18004,0.98018,-0.082642,-0.1809,0.97992,-0.083844,-0.1816,0.97971,-0.084833,0.62361,0.61928,-0.47707,0.62355,0.61927,-0.47717,0.62368,0.61929,-0.47697,0.66441,0.62638,-0.40769,0.66437,0.62636,-0.40779,0.66432,0.62634,-0.40789,-0.87256,0.19516,0.44784,-0.87252,0.19517,0.44791,-0.8726,0.19515,0.44776,-0.91597,0.19466,0.35088,-0.91594,0.19466,0.35095,-0.91591,0.19466,0.35102,0.19119,-0.97677,0.096736,0.19038,-0.97708,0.095231,0.19185,-0.97652,0.097971,0.20018,-0.97336,0.11183,0.19972,-0.97359,0.11066,0.19917,-0.97385,0.10928,0.83288,0.2047,-0.5142,0.83284,0.20471,-0.51427,0.83293,0.2047,-0.51413,0.88293,0.20594,-0.42192,0.8829,0.20595,-0.42199,0.88286,0.20595,-0.42206,-0.7704,0.5521,0.31886,-0.77038,0.55212,0.31887,-0.77042,0.55207,0.31885,-0.80353,0.5471,0.23457,-0.80351,0.54711,0.23459,-0.8035,0.54713,0.23461,-0.19119,0.97678,-0.096717,-0.19176,0.97656,-0.097794,-0.1905,0.97704,-0.095442,-0.19926,0.97381,-0.10949,-0.19973,0.97358,-0.11066,-0.20013,0.97338,-0.11167,0.69239,0.63263,-0.34695,0.69237,0.63261,-0.34703,0.69242,0.63265,-0.34687,0.71141,0.63784,-0.29504,0.7114,0.63783,-0.2951,0.71139,0.63781,-0.29516,-0.94412,0.19425,0.26629,-0.9441,0.19426,0.26634,-0.94413,0.19424,0.26624,-0.96157,0.19385,0.19441,-0.96157,0.19384,0.19445,-0.96156,0.19383,0.19449,0.20608,-0.97066,0.12393,0.20589,-0.97078,0.1233,0.20624,-0.97055,0.12448,0.20883,-0.96868,0.13436,0.20907,-0.96847,0.13548,0.20933,-0.96824,0.13674,0.91742,0.20704,-0.33981,0.91742,0.20705,-0.33981,0.91743,0.20704,-0.3398,0.94059,0.20703,-0.26912,0.94064,0.20703,-0.26895,0.94069,0.20703,-0.26877,-0.82415,0.543,0.16103,-0.82416,0.54301,0.16093,-0.82414,0.54299,0.16112,-0.83816,0.53593,0.10133,-0.8382,0.53593,0.10093,-0.83825,0.53594,0.10052,-0.20612,0.97064,-0.12402,-0.20626,0.97054,-0.12449,-0.20597,0.97074,-0.12349,-0.20938,0.96821,-0.13688,-0.20915,0.96841,-0.1358,-0.20894,0.96859,-0.13481,0.72404,0.64214,-0.25183,0.72403,0.64214,-0.25187,0.72405,0.64215,-0.25179,0.73254,0.64546,-0.21624,0.73256,0.64544,-0.21626,0.73258,0.64541,-0.21627,-0.97177,0.19353,0.13492,-0.97177,0.19352,0.13494,-0.97177,0.19354,0.13489,-0.97731,0.19326,0.086655,-0.97731,0.19325,0.086675,-0.97731,0.19324,0.086695,0.20777,-0.96726,0.14574,0.20824,-0.96666,0.14899,0.20734,-0.9678,0.14274,0.20312,-0.96754,0.15038,0.20351,-0.96679,0.15459,0.20393,-0.96598,0.15908,0.95608,0.20518,-0.20934,0.95614,0.20518,-0.20904,0.95601,0.20517,-0.20964,0.96592,0.20296,-0.16067,0.96596,0.20295,-0.16043,0.966,0.20295,-0.1602,-0.85076,0.5228,0.053766,-0.85081,0.52277,0.053208,-0.85071,0.52282,0.054326,-0.85933,0.51118,0.015768,-0.85933,0.51119,0.015459,-0.85933,0.5112,0.01515,-0.20787,0.96716,-0.14627,-0.20749,0.96763,-0.14367,-0.20827,0.96664,-0.14907,-0.20394,0.96597,-0.15907,-0.20359,0.96667,-0.15522,-0.20325,0.96733,-0.15156,0.73837,0.64785,-0.18735,0.7384,0.64782,-0.18735,0.73835,0.64787,-0.18737,0.74259,0.6493,-0.16422,0.7426,0.6493,-0.16418,0.7426,0.6493,-0.16416,-0.97999,0.19307,0.048424,-0.97999,0.19306,0.048444,-0.97999,0.19308,0.048406,-0.98103,0.19294,0.019104,-0.98102,0.19295,0.019117,-0.98102,0.19296,0.019134,0.19731,-0.96694,0.16155,0.19757,-0.96603,0.16659,0.19705,-0.96778,0.15673,0.19013,-0.96838,0.16151,0.19024,-0.96754,0.16634,0.19035,-0.96665,0.17133,0.97183,0.20194,-0.12152,0.97185,0.20193,-0.1214,0.97181,0.20195,-0.12164,0.9752,0.20152,-0.091518,0.97521,0.20152,-0.091454,0.97521,0.20152,-0.091391,-0.86112,0.50813,-0.016639,-0.86112,0.50813,-0.016614,-0.86112,0.50813,-0.016666,-0.85954,0.50931,-0.04234,-0.85954,0.50932,-0.042207,-0.85955,0.50932,-0.042074,-0.19734,0.96683,-0.16215,-0.19712,0.96757,-0.15799,-0.19757,0.96605,-0.16649,-0.19034,0.96669,-0.17111,-0.19024,0.96746,-0.16682,-0.19014,0.96819,-0.16266,0.74599,0.64995,-0.14511,0.74598,0.64998,-0.14506,0.74601,0.64992,-0.14516,0.7492,0.64971,-0.12873,0.7492,0.64973,-0.12865,0.7492,0.64975,-0.12856,-0.9812,0.19295,-0.00306,-0.9812,0.19296,-0.003053,-0.98121,0.19293,-0.003069,-0.98103,0.19288,-0.019571,-0.98103,0.19287,-0.019577,-0.98103,0.19287,-0.019584,0.1833,-0.9686,0.16796,0.18331,-0.96767,0.17323,0.18329,-0.96948,0.16284,0.17505,-0.97162,0.15907,0.17492,-0.97056,0.16558,0.17478,-0.96941,0.17233,0.97721,0.20124,-0.067553,0.97721,0.20125,-0.0675,0.9772,0.20124,-0.067606,0.97844,0.20091,-0.047803,0.97845,0.20091,-0.047738,0.97845,0.20091,-0.047675,-0.85744,0.51096,-0.061015,-0.85744,0.51097,-0.060872,-0.85743,0.51095,-0.06116,-0.85498,0.51341,-0.073633,-0.855,0.5134,-0.07345,-0.85503,0.51338,-0.073268,-0.18327,0.96854,-0.16835,-0.18326,0.9693,-0.16393,-0.18327,0.96774,-0.17289,-0.17473,0.96951,-0.17184,-0.17485,0.97049,-0.16603,-0.17497,0.97142,-0.16041,0.75319,0.64934,-0.10522,0.75319,0.64935,-0.1051,0.75318,0.64933,-0.10533,0.75758,0.64911,-0.068745,0.75761,0.64909,-0.068611,0.75763,0.64908,-0.068475,-0.98043,0.19281,-0.039772,-0.98043,0.19281,-0.039764,-0.98043,0.1928,-0.039778,-0.97866,0.19325,-0.069833,-0.97866,0.19326,-0.069785,-0.97867,0.19326,-0.069737,0.16361,-0.97358,0.15928,0.16318,-0.97233,0.16716,0.16402,-0.97472,0.15171,0.15237,-0.97806,0.14203,0.15177,-0.97709,0.1492,0.15114,-0.97603,0.15657,0.97944,0.20039,-0.023367,0.97944,0.2004,-0.023301,0.97944,0.20038,-0.023432,0.97975,0.19987,0.012088,0.97975,0.19987,0.012127,0.97975,0.19987,0.012166,-0.85156,0.517,-0.086976,-0.85159,0.51698,-0.086751,-0.85152,0.51702,-0.087199,-0.84643,0.52152,-0.10758,-0.84646,0.52152,-0.10734,-0.84649,0.52153,-0.10711,-0.16348,0.97353,-0.15974,-0.16384,0.97452,-0.1532,-0.16311,0.97245,-0.16652,-0.15105,0.97618,-0.15578,-0.15159,0.97708,-0.14944,-0.15211,0.97793,-0.14324,0.76138,0.64737,-0.034883,0.7614,0.64735,-0.03472,0.76135,0.64739,-0.035046,0.76505,0.64385,-0.012753,0.76503,0.64387,-0.012568,0.76502,0.64389,-0.012383,-0.97632,0.19399,-0.095702,-0.97633,0.19399,-0.095646,-0.97632,0.19399,-0.095759,-0.97464,0.19463,-0.11041,-0.97465,0.19464,-0.11035,-0.97465,0.19464,-0.11029,0.14102,-0.98035,0.13791,0.14034,-0.97945,0.14488,0.14169,-0.9812,0.13102,0.13022,-0.98432,0.11897,0.12943,-0.98346,0.12668,0.12861,-0.98254,0.13447,0.97888,0.19953,0.044456,0.97888,0.19953,0.044469,0.97888,0.19953,0.044444,0.9778,0.19931,0.064632,0.9778,0.19931,0.06464,0.9778,0.19931,0.064648,-0.84112,0.52631,-0.12456,-0.84115,0.52632,-0.12433,-0.8411,0.52629,-0.12479,-0.83662,0.53151,-0.1325,-0.83664,0.53155,-0.13225,-0.83666,0.53158,-0.132,-0.14082,0.98038,-0.1379,-0.14139,0.98112,-0.13195,-0.14023,0.97961,-0.1439,-0.12848,0.98271,-0.1333,-0.12918,0.98351,-0.12659,-0.12987,0.98425,-0.11994,0.76873,0.63952,0.008047,0.76872,0.63953,0.008264,0.76874,0.63952,0.007831,0.77215,0.63452,0.03413,0.77214,0.63452,0.034379,0.77214,0.63451,0.034629,-0.97297,0.19535,-0.12317,-0.97298,0.19535,-0.12311,-0.97296,0.19535,-0.12324,-0.97028,0.1962,-0.14162,-0.9703,0.19619,-0.14154,-0.97031,0.19619,-0.14147,0.11569,-0.98666,0.11457,0.11463,-0.98568,0.12367,0.11673,-0.98753,0.10562,0.10151,-0.99067,0.090971,0.10016,-0.98983,0.10104,0.098755,-0.98886,0.11136,0.97649,0.19905,0.082775,0.97649,0.19904,0.082788,0.97649,0.19906,0.082763,0.9742,0.19871,0.10701,0.9742,0.1987,0.10703,0.9742,0.1987,0.10704,-0.83176,0.53776,-0.1378,-0.83181,0.53775,-0.13751,-0.83171,0.53777,-0.13809,-0.82545,0.54482,-0.14768,-0.82551,0.54481,-0.14735,-0.82558,0.5448,-0.14703,-0.11539,0.9867,-0.11446,-0.11629,0.98746,-0.10674,-0.11448,0.98587,-0.12229,-0.09859,0.98906,-0.10976,-0.099794,0.98988,-0.10088,-0.10096,0.99061,-0.092186,0.77472,0.62878,0.066565,0.77472,0.62876,0.066848,0.77473,0.62881,0.06628,0.77585,0.62222,0.10442,0.7758,0.62223,0.10473,0.77575,0.62223,0.10504,-0.96627,0.1972,-0.16563,-0.96629,0.1972,-0.16554,-0.96626,0.1972,-0.16572,-0.9604,0.19834,-0.19568,-0.96042,0.19834,-0.19558,-0.96044,0.19835,-0.19548,0.083191,-0.99283,0.085831,0.081353,-0.99193,0.097241,0.084957,-0.99357,0.07479,0.067564,-0.99609,0.05684,0.065284,-0.9955,0.068669,0.062895,-0.99473,0.080996,0.97045,0.19829,0.13752,0.97045,0.19829,0.13753,0.97045,0.19829,0.13751,0.9646,0.19787,0.17436,0.96459,0.19787,0.17436,0.96459,0.19787,0.17436,-0.81768,0.55272,-0.16094,-0.81775,0.55272,-0.16058,-0.81761,0.55272,-0.16129,-0.80795,0.56143,-0.17893,-0.80803,0.56143,-0.17855,-0.80812,0.56143,-0.17817,-0.08276,0.99289,-0.085587,-0.084287,0.99354,-0.076044,-0.081181,0.99212,-0.095403,-0.062727,0.99491,-0.078895,-0.06478,0.99556,-0.068293,-0.066753,0.99608,-0.05806,0.77449,0.61478,0.14901,0.77442,0.61478,0.14936,0.77456,0.61478,0.14865,0.77031,0.6058,0.19907,0.77021,0.60578,0.19949,0.77012,0.60577,0.19991,-0.95213,0.19967,-0.23148,-0.95215,0.19968,-0.23137,-0.9521,0.19966,-0.2316,-0.9406,0.20126,-0.27344,-0.94064,0.20126,-0.2733,-0.94068,0.20126,-0.27317,0.046997,-0.99768,0.049316,0.043966,-0.99709,0.062243,0.04987,-0.99807,0.037021,0.032815,-0.99934,0.015394,0.029326,-0.99919,0.0277,0.025617,-0.99884,0.040759,0.95587,0.19745,0.21754,0.95587,0.19745,0.21753,0.95587,0.19745,0.21755,0.94336,0.19705,0.26691,0.94337,0.19704,0.2669,0.94337,0.19703,0.26688,-0.79613,0.57105,-0.2002,-0.79624,0.57104,-0.19982,-0.79602,0.57107,-0.20059,-0.78216,0.5805,-0.22637,-0.78228,0.58047,-0.22603,-0.78241,0.58043,-0.22569,-0.046436,0.99773,-0.048697,-0.048916,0.99808,-0.038087,-0.04384,0.99725,-0.059775,-0.025753,0.99895,-0.037775,-0.028898,0.99923,-0.026701,-0.031882,0.99936,-0.016177,0.76244,0.59472,0.25493,0.76233,0.59469,0.25534,0.76256,0.59474,0.25451,0.74809,0.58542,0.31248,0.74798,0.58543,0.31272,0.74788,0.58544,0.31295,-0.92498,0.20323,-0.32111,-0.92503,0.20322,-0.32097,-0.92493,0.20323,-0.32125,-0.90416,0.20499,-0.37479,-0.90419,0.205,-0.37471,-0.90422,0.20501,-0.37464,0.012417,-0.9999,0.006508,0.00854,-0.99981,0.017794,0.016036,-0.99986,-0.00403,0.002965,-0.99988,-0.015405,0.000536,-0.99995,-0.009539,-0.002088,-0.99999,-0.003205,0.92635,0.19662,0.32128,0.92636,0.1966,0.32127,0.92634,0.19663,0.32129,0.90425,0.1961,0.37931,0.90425,0.19611,0.3793,0.90425,0.19611,0.3793,-0.7659,0.58869,-0.25853,-0.76601,0.58866,-0.25828,-0.76579,0.58873,-0.25878,-0.74574,0.59466,-0.3004,-0.7458,0.59466,-0.30027,-0.74585,0.59466,-0.30014,-0.012362,0.99991,-0.005405,-0.015428,0.99987,0.003523,-0.009109,0.99985,-0.014874,0.0015,0.99999,0.004893,-0.00069,0.99995,0.010182,-0.00274,0.99988,0.015132,0.72469,0.58151,0.36968,0.72466,0.58152,0.36974,0.72473,0.58151,0.36962,0.69527,0.58037,0.424,0.69526,0.58037,0.42401,0.69526,0.58037,0.42402,-0.87711,0.20598,-0.43387,-0.87712,0.20598,-0.43386,-0.87711,0.20598,-0.43388,-0.84244,0.20657,-0.49762,-0.84244,0.20657,-0.49762,-0.84243,0.20657,-0.49763,-0.002083,-0.99984,-0.017519,-0.002851,-0.99987,-0.015974,-0.001378,-0.99982,-0.018939,-0.001573,-0.99982,-0.018643,-0.001571,-0.99982,-0.018647,-0.001568,-0.99982,-0.01865,0.87616,0.19542,0.44062,0.87616,0.19542,0.44063,0.87616,0.19542,0.44062,0.84117,0.1947,0.50451,0.84117,0.1947,0.50451,0.84116,0.1947,0.50452,-0.72204,0.59722,-0.34927,-0.72205,0.59723,-0.34924,-0.72203,0.59721,-0.3493,-0.69319,0.59803,-0.4023,-0.69317,0.59805,-0.4023,-0.69316,0.59807,-0.4023,0.002011,0.99984,0.017665,0.001415,0.99982,0.018864,0.002651,0.99986,0.016377,0.001569,0.99982,0.01865,0.001571,0.99982,0.018647,0.001573,0.99982,0.018644,0.66151,0.57935,0.47619,0.66152,0.57934,0.47619,0.6615,0.57936,0.4762,0.62316,0.57929,0.52545,0.6232,0.57927,0.52542,0.62325,0.57925,0.52538,-0.79956,0.20711,-0.56374,-0.79958,0.20711,-0.56371,-0.79954,0.2071,-0.56377,-0.74846,0.20832,-0.62961,-0.74856,0.20832,-0.62949,-0.74866,0.20832,-0.62937,-0.003034,-0.99986,-0.016473,-0.003826,-0.99987,-0.015349,-0.002312,-0.99984,-0.017497,-0.006523,-0.99979,-0.019143,-0.009678,-0.99984,-0.01537,-0.013144,-0.99985,-0.011224,0.79891,0.19402,0.5693,0.7989,0.19402,0.5693,0.79891,0.19401,0.5693,0.74949,0.19347,0.63312,-0.65785,0.59883,-0.45677,-0.65786,0.59883,-0.45675,-0.65784,0.59883,-0.45678,-0.61575,0.60063,-0.51,-0.6158,0.60063,-0.50993,-0.61586,0.60063,-0.50987,0.00297,0.99986,0.016564,0.002354,0.99984,0.017437,0.003636,0.99987,0.015619,0.01228,0.99985,0.01219,0.009364,0.99983,0.015678,0.006675,0.9998,0.018894,0.5894,0.58081,0.56148,0.58942,0.58081,0.56146,0.58938,0.58081,0.5615,0.57206,0.5803,0.57966,0.57192,0.58035,0.57974,0.57179,0.5804,0.57982,-0.68693,0.21088,-0.69545,-0.68714,0.21088,-0.69524,-0.68672,0.21088,-0.69566,-0.61188,0.21451,-0.76131,-0.6122,0.21451,-0.76105,-0.61252,0.21451,-0.76079,-0.037059,-0.99929,-0.006742,-0.046701,-0.9989,0.003015,-0.028258,-0.99948,-0.01564,-0.084516,-0.99639,-0.00827,-0.10337,-0.99461,0.007957,-0.12381,-0.99198,0.025601,0.69604,0.19302,0.69158,0.69601,0.19303,0.6916,0.69606,0.19301,0.69155,0.64274,0.19205,0.74162,0.64263,0.19205,0.74172,0.64252,0.19205,0.74181,-0.55998,0.60443,-0.56665,-0.56014,0.60443,-0.56649,-0.55981,0.60443,-0.56681,-0.48096,0.61203,-0.62777,-0.48134,0.61202,-0.62749,-0.48172,0.61201,-0.62721,0.036505,0.99931,0.007056,0.028951,0.99947,0.014694,0.044674,0.999,-0.00121,0.12041,0.99246,-0.022996,0.10297,0.99465,-0.007942,0.086693,0.99622,0.006067,0.56833,0.57357,0.58993,0.5681,0.57359,0.59013,0.56855,0.57355,0.58974,0.57159,0.56529,0.59476,0.57142,0.56531,0.5949,0.57125,0.56533,0.59505,-0.52567,0.21873,-0.82209,-0.52606,0.21872,-0.82184,-0.52527,0.21873,-0.82234,-0.4271,0.22238,-0.87643,-0.42748,0.22238,-0.87625,-0.42786,0.22239,-0.87606,-0.20923,-0.97781,0.010747,-0.23666,-0.97108,0.031433,-0.1835,-0.98298,-0.008498,-0.30817,-0.95133,-0.002796,-0.33065,-0.94367,0.012168,-0.3544,-0.93467,0.028158,0.59123,0.18973,0.78387,0.59105,0.18974,0.784,0.59142,0.18973,0.78373,0.54251,0.18721,0.81893,0.54232,0.18721,0.81905,0.54214,0.18722,0.81917,-0.37246,0.62402,-0.68693,-0.37301,0.62407,-0.68659,-0.3719,0.62398,-0.68727,-0.22952,0.63075,-0.74127,-0.23012,0.63081,-0.74103,-0.23071,0.63087,-0.74079,0.20921,0.97781,-0.010905,0.18697,0.98235,0.005734,0.23269,0.97213,-0.028607,0.35118,0.93595,-0.025975,0.33083,0.94361,-0.01229,0.31143,0.95027,0.000638,0.56381,0.56304,0.60424,0.56377,0.56303,0.60429,0.56385,0.56305,0.60419,0.53116,0.57085,0.6261,0.53128,0.57078,0.62606,0.53139,0.57072,0.62602,-0.32962,0.22457,-0.91702,-0.32994,0.22459,-0.9169,-0.32929,0.22456,-0.91714,-0.24361,0.2259,-0.9432,-0.24388,0.22589,-0.94313,-0.24415,0.22587,-0.94307,-0.41792,-0.90846,0.006822,-0.43407,-0.90073,0.016306,-0.40267,-0.91534,-0.002049,-0.44272,-0.8965,-0.017009,-0.45109,-0.89238,-0.012954,-0.46,-0.88788,-0.008619,0.49031,0.18575,0.85152,0.49018,0.18575,0.8516,0.49045,0.18575,0.85145,0.42879,0.18565,0.88412,0.42873,0.18566,0.88415,0.42866,0.18568,0.88418,-0.093207,0.62822,-0.77243,-0.093681,0.6283,-0.77231,-0.092732,0.62813,-0.77256,0.005582,0.62348,-0.78182,0.005304,0.62356,-0.78176,0.005028,0.62365,-0.78169,0.41813,0.90836,-0.00691,0.40498,0.91433,0.000747,0.43195,0.90177,-0.015017,0.45888,0.88845,0.009181,0.45127,0.89229,0.012887,0.44405,0.89585,0.016386,0.47321,0.58988,0.6543,0.47345,0.58983,0.65418,0.47298,0.58993,0.65443,0.38377,0.61544,0.68844,0.38398,0.61536,0.6884,0.3842,0.61528,0.68835,-0.17539,0.2264,-0.95811,-0.17558,0.22639,-0.95808,-0.17521,0.22641,-0.95815,-0.12823,0.22698,-0.96542,-0.12838,0.22698,-0.9654,-0.12853,0.22699,-0.96538,-0.43363,-0.90043,-0.034438,-0.43731,-0.8987,-0.033036,-0.43017,-0.90204,-0.035753,-0.3581,-0.93151,-0.063725,-0.36105,-0.93042,-0.062906,-0.36416,-0.92927,-0.062038,0.35786,0.18678,0.9149,0.35784,0.18678,0.91491,0.35788,0.18678,0.9149,0.27876,0.18839,0.9417,0.27876,0.1884,0.9417,0.27875,0.18841,0.9417,0.056881,0.61973,-0.78275,0.056739,0.61976,-0.78274,0.057022,0.6197,-0.78276,0.056844,0.62243,-0.78061,0.056753,0.62247,-0.78058,0.056663,0.62252,-0.78055,0.43375,0.90038,0.034397,0.43077,0.90177,0.035531,0.4369,0.8989,0.033198,0.36378,0.92941,0.062144,0.36111,0.9304,0.062887,0.35857,0.93133,0.063594,0.27567,0.63615,0.72064,0.27592,0.63607,0.72061,0.27542,0.63623,0.72066,0.16786,0.65785,0.73421,0.16846,0.65777,0.73413,0.16907,0.6577,0.73406,-0.098413,0.22819,-0.96863,-0.098586,0.22819,-0.96861,-0.09824,0.22818,-0.96865,-0.081385,0.2305,-0.96966,-0.081635,0.23051,-0.96964,-0.081884,0.23051,-0.96962,-0.25339,-0.96232,-0.098691,-0.25827,-0.96112,-0.097754,-0.24876,-0.96343,-0.099579,-0.13195,-0.98272,-0.12981,-0.137,-0.98211,-0.12922,-0.1423,-0.98143,-0.12859,0.2,0.18961,0.96128,0.19996,0.18961,0.96128,0.20003,0.18961,0.96127,0.13121,0.19001,0.97298,0.13112,0.18999,0.97299,0.13103,0.18998,0.973,0.02816,0.63015,-0.77596,0.028046,0.63016,-0.77596,0.028275,0.63014,-0.77597,-0.009445,0.63657,-0.77116,-0.009521,0.63658,-0.77116,-0.009597,0.63658,-0.77115,0.25341,0.96231,0.098686,0.24942,0.96328,0.099451,0.25759,0.96128,0.097884,0.14157,0.98153,0.12868,0.13703,0.9821,0.12921,0.13268,0.98263,0.12972,0.078773,0.69142,0.71815,0.079696,0.69135,0.71811,0.085304,0.69114,0.71767,0.052649,0.30577,0.95065,0.043073,0.48624,0.87276,0.025676,0.72377,0.68956,-0.074039,0.23462,-0.96927,-0.074373,0.23462,-0.96924,-0.073704,0.23461,-0.96929,-0.071234,0.23978,-0.96821,-0.071606,0.23978,-0.96818,-0.071977,0.23978,-0.96815,-0.038669,-0.98804,-0.14929,-0.05108,-0.98757,-0.14864,-0.035249,-0.98814,-0.14946,0.013638,-0.98773,-0.15555,0.013238,-0.98446,-0.17513,0.012762,-0.98077,-0.19476,0.07998,0.18927,0.97866,0.079867,0.18926,0.97867,0.080092,0.18928,0.97865,0.054457,0.18835,0.98059,0.054389,0.18834,0.9806,0.054322,0.18832,0.9806,-0.04372,0.63922,-0.76778,-0.043726,0.63921,-0.76779,-0.043715,0.63922,-0.76778,-0.061132,0.63801,-0.7676,-0.061045,0.63802,-0.7676,-0.060958,0.63802,-0.7676,0.038712,0.98804,0.14929,0.035765,0.98812,0.14944,0.041772,0.98794,0.14913,-0.015347,0.98771,0.15554,-0.014546,0.98772,0.15555,-0.013775,0.98773,0.15555,0.018383,0.738,0.67456,0.018509,0.73799,0.67456,-0.009115,0.73917,0.67346,-0.014716,-0.20077,-0.97953,0.010159,0.050165,-0.99869,0.067147,0.72725,0.68308,0.002374,-0.98893,-0.14835,0.052542,-0.98793,-0.14573,-0.002292,-0.9889,-0.14857,-0.10318,-0.9842,-0.14388,-0.1002,-0.99311,-0.06074,-0.096287,-0.99492,0.029404,0.038103,0.1884,0.98135,0.0381,0.1884,0.98135,0.038107,0.1884,0.98135,0.014512,0.18937,0.9818,0.014537,0.18935,0.9818,0.014563,0.18934,0.9818,-0.033254,0.63483,-0.77194,-0.033111,0.63486,-0.77191,-0.033397,0.6348,-0.77196,0.070583,0.63169,-0.772,0.070679,0.63169,-0.77199,0.070776,0.6317,-0.77198,-0.002433,0.98893,0.14835,0.001584,0.9889,0.14855,-0.006595,0.98894,0.14815,0.095061,0.98511,0.14325,0.098878,0.98469,0.14355,0.10256,0.98427,0.14384,0.1108,0.69196,0.71339,0.10983,0.69212,0.71338,0.12963,0.68873,0.71333,0.094202,0.66346,0.74225,0.09345,0.66359,0.74223,0.092698,0.66372,0.74221,0.12787,0.23793,-0.96283,0.12741,0.23796,-0.96288,0.15523,0.2315,-0.96037,0.15565,0.23149,-0.96031,0.12695,0.23798,-0.96294,0.15482,0.2315,-0.96044,0.24334,0.22494,-0.9435,0.24362,0.22492,-0.94343,0.2439,0.2249,-0.94336,-0.22024,-0.96418,-0.14778,-0.2544,-0.95517,-0.15143,-0.22221,-0.9637,-0.14799,-0.29227,-0.94381,-0.15426,-0.29198,-0.94391,-0.15422,-0.29168,-0.94401,-0.15417,-0.029181,0.19116,0.98112,-0.029152,0.19118,0.98112,-0.029208,0.19115,0.98113,-0.10792,0.19361,0.97513,-0.10791,0.19362,0.97512,-0.10791,0.19364,0.97512,0.20903,0.62381,-0.75311,0.20906,0.62381,-0.7531,0.209,0.6238,-0.75312,0.33433,0.60951,-0.71883,0.33434,0.60951,-0.71883,0.33435,0.60951,-0.71883,0.22027,0.96418,0.14779,0.22196,0.96376,0.14798,0.21851,0.96461,0.1476,0.29175,0.94399,0.15419,0.292,0.9439,0.15423,0.29225,0.94382,0.15426,0.045538,0.65635,0.75308,0.045174,0.65641,0.75305,0.045904,0.65629,0.75311,-0.013075,0.65902,0.75201,-0.013261,0.65905,0.75198,-0.013447,0.65908,0.75195,0.34588,0.21887,-0.9124,0.34604,0.21887,-0.91233,0.34571,0.21886,-0.91246,0.41561,0.21411,-0.88398,0.41576,0.2141,-0.88391,0.41591,0.21409,-0.88385,-0.323,-0.93275,-0.16017,-0.32287,-0.9328,-0.16014,-0.32313,-0.9327,-0.16019,-0.32442,-0.93254,-0.15847,-0.32183,-0.93356,-0.15779,-0.31907,-0.93463,-0.15707,-0.19751,0.19514,0.96068,-0.19752,0.19517,0.96067,-0.1975,0.19511,0.96069,-0.27191,0.19578,0.9422,-0.2719,0.1958,0.9422,-0.27189,0.19583,0.94219,0.42929,0.59289,-0.68132,0.42932,0.59288,-0.68131,0.42927,0.5929,-0.68132,0.48357,0.58028,-0.65531,0.48364,0.58027,-0.65527,0.48372,0.58026,-0.65522,0.32301,0.93274,0.16017,0.32312,0.9327,0.1602,0.3229,0.93279,0.16015,0.31949,0.93446,0.15718,0.32185,0.93355,0.1578,0.32408,0.93268,0.15839,-0.08036,0.66438,0.74306,-0.080539,0.66438,0.74304,-0.080182,0.66439,0.74308,-0.15201,0.66885,0.72769,-0.15227,0.66885,0.72763,-0.15252,0.66885,0.72758,0.46464,0.20978,-0.8603,0.46479,0.20977,-0.86022,0.46448,0.20978,-0.86038,0.50292,0.20664,-0.83926,0.503,0.20665,-0.83922,0.50307,0.20665,-0.83918,-0.30043,-0.94346,-0.14008,-0.29569,-0.94519,-0.13846,-0.30481,-0.94183,-0.14157,-0.26376,-0.95759,-0.11597,-0.26229,-0.95807,-0.11533,-0.26068,-0.95859,-0.11464,-0.3356,0.19655,0.92127,-0.33556,0.19656,0.92128,-0.33564,0.19654,0.92126,-0.39374,0.19751,0.89775,-0.39367,0.19752,0.89778,-0.39359,0.19753,0.89781,0.51066,0.57122,-0.6426,0.51074,0.57122,-0.64253,0.51057,0.57121,-0.64267,0.51926,0.5678,-0.63873,0.51923,0.56779,-0.63877,0.5192,0.56777,-0.6388,0.30047,0.94345,0.14009,0.30425,0.94204,0.14138,0.29643,0.94493,0.13872,0.26098,0.9585,0.11477,0.26236,0.95805,0.11536,0.26362,0.95764,0.11591,-0.23251,0.67032,0.7047,-0.2328,0.67035,0.70458,-0.23223,0.6703,0.70482,-0.31081,0.67029,0.67388,-0.31109,0.6703,0.67374,-0.31136,0.67031,0.6736,0.53259,0.20564,-0.82101,0.53253,0.20565,-0.82105,0.53264,0.20563,-0.82098,0.55078,0.20628,-0.80876,0.55065,0.20628,-0.80884,0.55053,0.20629,-0.80893,-0.20329,-0.97503,-0.089393,-0.20514,-0.97455,-0.090386,-0.20161,-0.97546,-0.088488,-0.13322,-0.98962,-0.0538,-0.13495,-0.98933,-0.054875,-0.13679,-0.98902,-0.056013,-0.4466,0.19878,0.87238,-0.44649,0.19876,0.87244,-0.44671,0.19879,0.87231,-0.49211,0.2004,0.84715,-0.49198,0.2004,0.84723,-0.49184,0.2004,0.84731,0.5135,0.57179,-0.63982,0.51335,0.57179,-0.63995,0.51365,0.5718,-0.63969,0.49887,0.57774,-0.64602,0.49871,0.57775,-0.64614,0.49854,0.57776,-0.64626,0.20335,0.97501,0.089428,0.20189,0.97539,0.088645,0.20493,0.9746,0.090277,0.13651,0.98906,0.055846,0.13494,0.98933,0.054874,0.13345,0.98959,0.053947,-0.37452,0.66665,0.64445,-0.37485,0.66665,0.64425,-0.3742,0.66664,0.64465,-0.41199,0.65838,0.62992,-0.41238,0.65837,0.62967,-0.41276,0.65837,0.62943,0.54842,0.20753,-0.81004,0.54833,0.20753,-0.8101,0.54851,0.20753,-0.80998,0.5219,0.20816,-0.82722,0.52192,0.20816,-0.82721,0.52193,0.20817,-0.8272,-0.06205,-0.99799,-0.012871,-0.064003,-0.99785,-0.014127,-0.060107,-0.99812,-0.011621,0.007338,-0.99963,0.026319,0.005578,-0.99967,0.025215,0.003855,-0.9997,0.024134,-0.52194,0.20151,0.82884,-0.52186,0.20153,0.82888,-0.52202,0.2015,0.82879,-0.52579,0.20192,0.8263,-0.52577,0.20192,0.82632,-0.52575,0.20191,0.82633,0.4689,0.58238,-0.66405,0.46879,0.58238,-0.66413,0.46902,0.58237,-0.66398,0.42268,0.58494,-0.69223,0.42263,0.58493,-0.69228,0.42257,0.58492,-0.69232,0.061955,0.998,0.012813,0.060289,0.99811,0.011741,0.06363,0.99788,0.013891,-0.004174,0.9997,-0.024333,-0.005655,0.99967,-0.025262,-0.007164,0.99963,-0.026209,-0.42811,0.64803,0.6299,-0.42855,0.64801,0.62963,-0.42768,0.64806,0.63017,-0.42946,0.63602,0.64112,-0.42995,0.63601,0.6408,-0.43044,0.636,0.64049,0.48755,0.20737,-0.84811,0.48766,0.20738,-0.84805,0.48745,0.20736,-0.84817,0.45609,0.2058,-0.86581,0.45624,0.20581,-0.86573,0.45638,0.20582,-0.86565,0.053429,-0.99721,0.052091,0.052243,-0.99731,0.051384,0.054654,-0.99711,0.052821,0.08406,-0.9942,0.067158,0.082432,-0.99439,0.066253,0.080866,-0.99458,0.065383,-0.51299,0.20203,0.83428,-0.51299,0.20203,0.83428,-0.51299,0.20202,0.83428,-0.49393,0.20201,0.84571,-0.49395,0.20201,0.8457,-0.49396,0.20201,0.84569,0.37641,0.58492,-0.71846,0.37638,0.58491,-0.71848,0.37644,0.58493,-0.71844,0.3383,0.58414,-0.73779,0.33828,0.58412,-0.73781,0.33825,0.58411,-0.73784,-0.053455,0.99721,-0.052107,-0.054505,0.99712,-0.052732,-0.052435,0.9973,-0.051499,-0.081097,0.99455,-0.065512,-0.082446,0.99439,-0.066261,-0.083841,0.99422,-0.067035,-0.41578,0.62251,0.66303,-0.41631,0.62249,0.66272,-0.41525,0.62253,0.66334,-0.38091,0.60987,0.69496,-0.38139,0.60987,0.69469,-0.38188,0.60987,0.69443,0.42647,0.20403,-0.88119,0.42662,0.20404,-0.88112,0.42633,0.20402,-0.88126,0.397,0.20244,-0.89522,0.39711,0.20245,-0.89517,0.39722,0.20245,-0.89511,0.091125,-0.99358,0.066996,0.088545,-0.99391,0.065674,0.093815,-0.99324,0.068374,0.080423,-0.99525,0.054911,0.075986,-0.99571,0.052847,0.071755,-0.99612,0.050879,-0.46733,0.20199,0.8607,-0.46735,0.20198,0.86069,-0.46731,0.20201,0.86071,-0.43092,0.20186,0.87952,-0.43096,0.20186,0.8795,-0.431,0.20186,0.87948,0.30926,0.58376,-0.75073,0.30921,0.58373,-0.75076,0.3093,0.58378,-0.75069,0.29084,0.5846,-0.7574,0.29075,0.58459,-0.75744,0.29067,0.58459,-0.75748,-0.091137,0.99358,-0.067002,-0.09344,0.99329,-0.068182,-0.088915,0.99386,-0.065864,-0.072336,0.99607,-0.051149,-0.07598,0.99571,-0.052845,-0.079776,0.99532,-0.054611,-0.33431,0.59952,0.7272,-0.33469,0.59951,0.72703,-0.33393,0.59953,0.72736,-0.2811,0.59235,0.75505,-0.28133,0.59232,0.75499,-0.28156,0.59229,0.75493,0.3632,0.20146,-0.90967,0.36327,0.20147,-0.90964,0.36313,0.20144,-0.9097,0.3197,0.20085,-0.92599,0.31974,0.20085,-0.92597,0.31979,0.20086,-0.92595,0.050842,-0.99823,0.030926,0.045831,-0.99853,0.028858,0.056147,-0.99787,0.033116,0.03027,-0.99945,0.013339,0.02669,-0.99957,0.012079,0.023353,-0.99967,0.010905,-0.38573,0.20153,0.90033,-0.38579,0.20153,0.90031,-0.38568,0.20154,0.90035,-0.33178,0.20113,0.92166,-0.33183,0.20114,0.92165,-0.33188,0.20114,0.92163,0.27389,0.58684,-0.76197,0.27379,0.58683,-0.76201,0.274,0.58685,-0.76193,0.25054,0.58881,-0.76846,0.25048,0.58879,-0.7685,0.25043,0.58876,-0.76853,-0.050821,0.99823,-0.030917,-0.055355,0.99793,-0.03279,-0.046502,0.99849,-0.029133,-0.023795,0.99966,-0.011059,-0.026673,0.99957,-0.012073,-0.029731,0.99947,-0.01315,-0.2217,0.58976,0.77655,-0.22178,0.58976,0.77653,-0.22162,0.58976,0.77658,-0.15574,0.58912,0.79289,-0.15578,0.58912,0.79289,-0.15583,0.58912,0.79288,0.26311,0.20056,-0.94369,0.26315,0.20056,-0.94368,0.26307,0.20056,-0.9437,0.18872,0.20023,-0.9614,0.18878,0.20023,-0.96139,0.18883,0.20023,-0.96138,0.007129,-0.99997,0.002333,0.006199,-0.99998,0.002071,0.008144,-0.99996,0.002618,-6.3e-05,-1,0.000315,-6.2e-05,-1,0.000314,-0.26797,0.20091,0.94225,-0.26801,0.20092,0.94223,-0.26792,0.20089,0.94226,-0.19198,0.20057,0.96069,-0.19205,0.20058,0.96067,-0.19212,0.20058,0.96066,0.21481,0.58924,-0.77888,0.21482,0.58923,-0.77888,0.2148,0.58925,-0.77888,0.15831,0.58861,-0.79277,0.15837,0.58859,-0.79276,0.15842,0.58858,-0.79276,-0.007124,0.99997,-0.002331,-0.00799,0.99996,-0.002574,-0.006322,0.99998,-0.002105,6.2e-05,1,-0.000314,6.3e-05,1,-0.000314,-0.076572,0.58842,0.80492,-0.076651,0.5884,0.80493,-0.076495,0.58845,0.80491,0.024141,0.58689,0.8093,0.024026,0.58686,0.80933,0.023911,0.58683,0.80935,0.092608,0.19989,-0.97543,0.0927,0.19989,-0.97542,0.092515,0.19989,-0.97544,-0.029499,0.19911,-0.97953,-0.029359,0.19912,-0.97954,-0.029219,0.19913,-0.97954,-3.2e-05,-1,0.000319,-3e-05,-1,0.000319,6e-06,-1,0.000322,8e-06,-1,0.000322,1e-05,-1,0.000323,-0.098395,0.20023,0.97479,-0.098518,0.20025,0.97478,-0.098273,0.20022,0.97481,0.020437,0.19947,0.97969,0.020236,0.19946,0.9797,0.020031,0.19945,0.9797,0.08104,0.5879,-0.80487,0.081138,0.58792,-0.80484,0.080942,0.58788,-0.80489,-0.017221,0.58634,-0.80988,-0.017059,0.58633,-0.80989,-0.016895,0.58632,-0.8099,3.1e-05,1,-0.000319,3.2e-05,1,-0.000319,3e-05,1,-0.000319,-9e-06,1,-0.000321,-8e-06,1,-0.000322,-7e-06,1,-0.000323,0.14866,0.58518,0.79716,0.14854,0.58517,0.79719,0.14879,0.5852,0.79712,0.29588,0.58317,0.75655,0.29575,0.58318,0.75659,0.29563,0.5832,0.75663,-0.18,0.19827,-0.96348,-0.17985,0.19828,-0.9635,-0.18016,0.19827,-0.96345,-0.35737,0.19729,-0.91289,-0.35722,0.1973,-0.91295,-0.35707,0.1973,-0.913,5.8e-05,-1,0.000318,5.9e-05,-1,0.000318,5.6e-05,-1,0.000319,0.000115,-1,0.000303,0.000117,-1,0.000303,0.000119,-1,0.000303,0.1693,0.19861,0.96534,0.16905,0.1986,0.96539,0.16955,0.19863,0.9653,0.34677,0.19765,0.91689,0.3465,0.19765,0.91699,0.34624,0.19765,0.91709,-0.14055,0.58464,-0.79903,-0.14035,0.58464,-0.79906,-0.14075,0.58463,-0.79899,-0.28792,0.58265,-0.76002,-0.2877,0.58266,-0.76008,-0.28749,0.58268,-0.76015,-5.8e-05,1,-0.000318,-5.6e-05,1,-0.000319,-5.9e-05,1,-0.000318,-0.000118,1,-0.000303,-0.000117,1,-0.000303,-0.000115,1,-0.000304,0.45033,0.58097,0.67799,0.45031,0.58098,0.67799,0.45036,0.58096,0.67799,0.59081,0.58164,0.55915,0.59087,0.58165,0.55907,0.59093,0.58167,0.55899,-0.54258,0.1962,-0.81677,-0.54256,0.1962,-0.81678,-0.5426,0.19621,-0.81676,-0.71197,0.19654,-0.67414,-0.71205,0.19654,-0.67406,-0.71213,0.19655,-0.67397,0.000181,-1,0.000272,0.00018,-1,0.000272,0.000239,-1,0.000222,0.000238,-1,0.000223,0.000237,-1,0.000224,0.54105,0.19655,0.8177,0.54101,0.19656,0.81773,0.54108,0.19654,0.81768,0.71782,0.19686,0.66782,0.71796,0.19685,0.66766,0.71811,0.19684,0.66751,-0.4494,0.58045,-0.67906,-0.44937,0.58045,-0.67908,-0.44943,0.58045,-0.67904,-0.59562,0.58108,-0.55461,-0.59574,0.58107,-0.55448,-0.59586,0.58106,-0.55436,-0.000181,1,-0.000273,-0.000181,1,-0.000272,-0.000237,1,-0.000224,-0.000238,1,-0.000224,-0.000239,1,-0.000223,0.6869,0.58217,0.43502,0.687,0.58217,0.43485,0.68679,0.58218,0.43519,0.73595,0.587,0.33735,0.73605,0.58701,0.33714,0.73614,0.58701,0.33692,-0.82804,0.19681,-0.52499,-0.82817,0.19681,-0.52478,-0.82791,0.1968,-0.52519,-0.89059,0.1992,-0.40887,-0.89071,0.1992,-0.40861,-0.89082,0.19921,-0.40835,0.000277,-1,0.000172,0.000276,-1,0.000175,0.000278,-1,0.000169,0.000294,-1,0.000129,0.000294,-1,0.000132,0.000293,-1,0.000135,0.83673,0.19714,0.5109,0.83693,0.19715,0.51057,0.83653,0.19713,0.51123,0.89758,0.19958,0.3931,0.89772,0.19958,0.39277,0.89786,0.19959,0.39245,-0.69393,0.58164,-0.42445,-0.69409,0.58165,-0.42418,-0.69378,0.58162,-0.42472,-0.74163,0.58659,-0.32542,-0.74175,0.58658,-0.32517,-0.74187,0.58656,-0.32491,-0.000277,1,-0.000173,-0.000278,1,-0.00017,-0.000276,1,-0.000174,-0.000293,1,-0.000134,-0.000294,1,-0.000132,-0.000295,1,-0.000129,0.75113,0.59037,0.29541,0.75114,0.59037,0.29539,0.75113,0.59036,0.29542,0.73327,0.58871,0.34021,0.7332,0.58871,0.34034,0.73313,0.58872,0.34047,-0.91163,0.20088,-0.35857,-0.91164,0.20087,-0.35855,-0.91163,0.20088,-0.35859,-0.88893,0.20005,-0.41204,-0.88885,0.20006,-0.4122,-0.88878,0.20007,-0.41236,0.000297,-1,0.000117,0.000297,-1,0.000116,0.000289,-1,0.000137,0.00029,-1,0.000136,0.000291,-1,0.000135,0.91197,0.20122,0.35751,0.91198,0.20122,0.3575,0.91196,0.20122,0.35753,0.88514,0.20044,0.41995,0.88507,0.20043,0.42008,0.88501,0.20043,0.42022,-0.75179,0.58986,-0.29475,-0.75181,0.58984,-0.29474,-0.75176,0.58989,-0.29476,-0.73067,0.58832,-0.3464,-0.73064,0.58829,-0.34652,-0.73061,0.58826,-0.34664,-0.000297,1,-0.000116,-0.000297,1,-0.000117,-0.000289,1,-0.000135,-0.00029,1,-0.000136,-0.00029,1,-0.000137,0.68309,0.58692,0.43465,0.68302,0.58693,0.43473,0.68315,0.5869,0.43456,0.60914,0.58569,0.53471,0.60909,0.58568,0.53478,0.60904,0.58566,0.53486,-0.82975,0.19915,-0.5214,-0.82968,0.19917,-0.5215,-0.82982,0.19914,-0.5213,-0.7511,0.19905,-0.62946,-0.75107,0.19904,-0.62951,-0.75103,0.19903,-0.62956,0.003642,-0.99998,-0.005114,0.003385,-0.99998,-0.004709,0.003863,-0.99998,-0.00546,0.01581,-0.99962,-0.022625,0.014923,-0.99965,-0.021597,0.013859,-0.9997,-0.020363,0.82528,0.1995,0.52831,0.82523,0.19948,0.52839,0.82533,0.19951,0.52823,0.7423,0.19919,0.63977,0.74227,0.19917,0.63982,0.74223,0.19916,0.63987,-0.68496,0.58641,-0.43238,-0.68493,0.5864,-0.43244,-0.68499,0.58642,-0.43232,-0.62661,0.5868,-0.51287,-0.62661,0.58678,-0.51289,-0.62662,0.58676,-0.5129,-0.003638,0.99998,0.005107,-0.003829,0.99998,0.005408,-0.003419,0.99998,0.004764,-0.014001,0.99969,0.020526,-0.014903,0.99966,0.021573,-0.015674,0.99962,0.022468,0.512,0.58264,0.63117,0.51187,0.58268,0.63124,0.51214,0.58261,0.6311,0.394,0.57717,0.71529,0.39378,0.57721,0.71537,0.39357,0.57725,0.71546,-0.6517,0.19914,-0.73187,-0.65164,0.19915,-0.73191,-0.65176,0.19914,-0.73181,-0.52887,0.19926,-0.82498,-0.52879,0.19927,-0.82503,-0.5287,0.19928,-0.82508,0.032168,-0.99853,-0.043519,0.029545,-0.99871,-0.041276,0.034311,-0.99838,-0.04535,0.055722,-0.99616,-0.067595,0.051677,-0.99654,-0.065152,0.046591,-0.99698,-0.062078,0.63255,0.19855,0.74864,0.63248,0.19855,0.7487,0.63262,0.19855,0.74858,0.49752,0.19739,0.84469,0.49742,0.19738,0.84476,0.49731,0.19737,0.84483,-0.5529,0.5888,-0.58959,-0.55291,0.5888,-0.58958,-0.5529,0.5888,-0.58959,-0.46134,0.59251,-0.66038,-0.46136,0.5925,-0.66037,-0.46139,0.5925,-0.66035,-0.032111,0.99854,0.04347,-0.033979,0.99841,0.045067,-0.029888,0.99869,0.04157,-0.047252,0.99693,0.062481,-0.051555,0.99655,0.06508,-0.055091,0.99622,0.067216,0.25129,0.56954,0.78261,0.25102,0.56953,0.7827,0.25156,0.56954,0.78252,0.08484,0.55972,0.82433,0.084514,0.55967,0.82439,0.08419,0.55963,0.82446,-0.37797,0.19965,-0.90403,-0.37787,0.19966,-0.90407,-0.37806,0.19965,-0.904,-0.19792,0.2003,-0.95954,-0.19783,0.2003,-0.95956,-0.19773,0.2003,-0.95957,0.074679,-0.99343,-0.08675,0.067297,-0.9942,-0.083949,0.080378,-0.99279,-0.088909,0.1093,-0.98833,-0.10608,0.10334,-0.98908,-0.10509,0.095402,-0.99002,-0.10377,0.33474,0.19583,0.92174,0.33464,0.1958,0.92178,0.33483,0.19585,0.9217,0.1442,0.19468,0.97021,0.14423,0.19466,0.97021,0.14425,0.19463,0.97021,-0.34872,0.5987,-0.72108,-0.34887,0.59868,-0.72102,-0.34857,0.59872,-0.72114,-0.21217,0.61137,-0.76238,-0.21263,0.61138,-0.76223,-0.21309,0.6114,-0.76209,-0.074581,0.99344,0.086719,-0.079571,0.99288,0.088611,-0.068351,0.99409,0.084354,-0.096842,0.98985,0.10404,-0.10352,0.98905,0.10516,-0.10873,0.9884,0.10602,-0.10385,0.5477,0.8302,-0.10412,0.54766,0.83019,-0.10357,0.54775,0.83021,-0.29819,0.53543,0.79019,-0.29838,0.53543,0.79012,-0.29856,0.53543,0.79005,0.009492,0.20117,-0.97951,0.00946,0.20117,-0.97951,0.009524,0.20117,-0.97951,0.22762,0.20308,-0.95234,0.22744,0.20309,-0.95238,0.22727,0.20309,-0.95242,0.1386,-0.98354,-0.11592,0.13435,-0.98411,-0.11614,0.14173,-0.98311,-0.11576,0.17379,-0.97844,-0.11156,0.17687,-0.97799,-0.1107,0.18102,-0.97736,-0.10953,-0.065806,0.1947,0.97865,-0.065559,0.19469,0.97867,-0.066053,0.19471,0.97863,-0.28179,0.19652,0.93914,-0.28137,0.19652,0.93926,-0.28096,0.19653,0.93938,-0.059515,0.63486,-0.77033,-0.060211,0.6348,-0.77033,-0.058813,0.63493,-0.77033,0.10076,0.66075,-0.74381,0.10029,0.66075,-0.74388,0.099825,0.66075,-0.74394,-0.13954,0.9834,0.11599,-0.14223,0.98303,0.11585,-0.13604,0.98387,0.11616,-0.18285,0.97705,0.10928,-0.17918,0.97761,0.11032,-0.17633,0.97804,0.11112,-0.47885,0.52182,0.70598,-0.4789,0.52184,0.70593,-0.4788,0.52181,0.70602,-0.62655,0.51072,0.58872,-0.62649,0.51075,0.58877,-0.62643,0.51077,0.58882,0.43367,0.20517,-0.8774,0.43337,0.2052,-0.87754,0.43396,0.20515,-0.87726,0.60704,0.20842,-0.76685,0.60672,0.20844,-0.7671,0.60641,0.20845,-0.76734,0.21388,-0.97337,-0.082539,0.22432,-0.97148,-0.076874,0.20595,-0.9747,-0.086828,0.23763,-0.97037,-0.043837,0.24554,-0.96868,-0.037049,0.2555,-0.96639,-0.028469,-0.48267,0.19919,0.85285,-0.48218,0.19919,0.85313,-0.48317,0.19919,0.85257,-0.65283,0.20315,0.72976,-0.65238,0.20315,0.73015,-0.65194,0.20316,0.73055,0.2516,0.67471,-0.69388,0.2515,0.6747,-0.69393,0.25169,0.67473,-0.69383,0.37689,0.68354,-0.62508,0.37684,0.68359,-0.62506,0.37679,0.68364,-0.62504,-0.21705,0.97276,0.08138,-0.20992,0.974,0.085243,-0.22607,0.9711,0.076478,-0.257,0.966,0.0281,-0.24842,0.968,0.035501,-0.24137,0.96954,0.041558,-0.73338,0.50176,0.45869,-0.7333,0.50178,0.45879,-0.73345,0.50174,0.45859,-0.80402,0.49495,0.3295,-0.80394,0.49501,0.32961,-0.80386,0.49507,0.32972,0.73697,0.21181,-0.64188,0.73674,0.21182,-0.64214,0.7372,0.2118,-0.64162,0.82879,0.21532,-0.51648,0.82863,0.21533,-0.51672,0.82848,0.21535,-0.51696,0.26837,-0.96322,0.013902,0.27522,-0.96111,0.022629,0.26265,-0.96487,0.006654,0.27694,-0.9591,0.058581,0.2806,-0.9576,0.065357,0.2848,-0.95579,0.07316,-0.78106,0.20675,0.58923,-0.78075,0.20678,0.58963,-0.78138,0.20673,0.58883,-0.86897,0.21019,0.44801,-0.86878,0.21018,0.44839,-0.86858,0.21017,0.44876,0.4718,0.69216,-0.54619,0.47177,0.69218,-0.54619,0.47182,0.69215,-0.54619,0.53903,0.70013,-0.46826,0.53905,0.70011,-0.46826,0.53907,0.7001,-0.46826,-0.27057,0.96258,-0.015417,-0.2655,0.96407,-0.008985,-0.27648,0.96074,-0.022958,-0.28584,0.95546,-0.073466,-0.28221,0.95703,-0.066708,-0.27898,0.95838,-0.060719,-0.8457,0.48996,0.21148,-0.84567,0.48998,0.21159,-0.84574,0.48995,0.21136,-0.86738,0.48593,0.10733,-0.86735,0.48597,0.10742,-0.86732,0.486,0.10751,0.88945,0.21882,-0.40126,0.88936,0.2188,-0.40144,0.88953,0.21883,-0.40107,0.92832,0.22183,-0.29835,0.92828,0.22183,-0.29848,0.92823,0.22184,-0.29862,0.28431,-0.9521,0.11256,0.28665,-0.95061,0.11904,0.28219,-0.9534,0.10672,0.27974,-0.94847,0.1488,0.28092,-0.94729,0.15402,0.28218,-0.94598,0.15965,-0.9238,0.21316,0.31804,-0.9237,0.21315,0.31834,-0.92391,0.21316,0.31774,-0.95515,0.21552,0.20306,-0.95511,0.21551,0.20328,-0.95506,0.2155,0.20351,0.58503,0.70744,-0.39657,0.58501,0.70747,-0.39654,0.58504,0.70742,-0.3966,0.61713,0.71279,-0.33327,0.61718,0.71278,-0.33322,0.61722,0.71277,-0.33316,-0.28543,0.95163,-0.11369,-0.28357,0.95279,-0.10854,-0.28746,0.95033,-0.11932,-0.28273,0.94579,-0.15984,-0.28163,0.94693,-0.15494,-0.28059,0.94798,-0.15034,-0.87492,0.48364,0.024517,-0.87492,0.48364,0.02461,-0.87493,0.48363,0.024423,-0.87457,0.48292,-0.043809,-0.87458,0.4829,-0.043687,-0.8746,0.48288,-0.043566,0.9506,0.22438,-0.21452,0.95058,0.22438,-0.2146,0.95061,0.22438,-0.21445,0.96367,0.22609,-0.14222,0.96366,0.2261,-0.14225,0.96365,0.22612,-0.14228,0.27109,-0.94448,0.18565,0.27171,-0.94324,0.19098,0.27049,-0.94563,0.18061,0.25631,-0.94509,0.20274,0.25649,-0.94384,0.20827,0.25666,-0.9425,0.21407,-0.96969,0.21756,0.11125,-0.96967,0.21756,0.1114,-0.96971,0.21756,0.11109,-0.97513,0.21886,0.035063,-0.97512,0.21887,0.035156,-0.97512,0.21887,0.03525,0.63998,0.71559,-0.27992,0.64002,0.71559,-0.27982,0.63994,0.71558,-0.28003,0.65951,0.71536,-0.23088,0.65951,0.71541,-0.23072,0.65952,0.71545,-0.23056,-0.27143,0.94425,-0.18634,-0.27091,0.94526,-0.18191,-0.27197,0.94316,-0.191,-0.25663,0.94258,-0.21374,-0.25648,0.94375,-0.20869,-0.25633,0.94485,-0.20384,-0.86908,0.48454,-0.09963,-0.86909,0.48454,-0.099483,-0.86907,0.48453,-0.099777,-0.8613,0.4879,-0.14181,-0.86131,0.48794,-0.14163,-0.86133,0.48797,-0.14145,0.97065,0.22687,-0.079837,0.97065,0.22687,-0.079813,0.97064,0.22687,-0.079859,0.97355,0.22668,-0.028458,0.97356,0.22667,-0.028384,0.97356,0.22666,-0.028309,0.23741,-0.94548,0.22293,0.23716,-0.94394,0.22964,0.23764,-0.94693,0.21647,0.21679,-0.95101,0.22041,0.2161,-0.94934,0.22814,0.21536,-0.94755,0.23614,-0.97525,0.21939,-0.027614,-0.97524,0.21941,-0.027576,-0.97525,0.21938,-0.027652,-0.97273,0.21914,-0.076037,-0.97273,0.21914,-0.076038,-0.97273,0.21914,-0.07604,0.67788,0.71173,-0.18416,0.67791,0.71176,-0.18393,0.67786,0.71169,-0.18439,0.69504,0.70508,-0.14061,0.69501,0.70517,-0.14032,0.69498,0.70526,-0.14003,-0.23708,0.94554,-0.22305,-0.23729,0.9468,-0.2174,-0.23687,0.9442,-0.22888,-0.21485,0.94798,-0.2349,-0.21549,0.94953,-0.22796,-0.21609,0.95098,-0.22121,-0.8512,0.49244,-0.18155,-0.85124,0.49245,-0.18132,-0.85115,0.49243,-0.18179,-0.83806,0.49749,-0.22398,-0.83811,0.49753,-0.22369,-0.83816,0.49757,-0.2234,0.97381,0.22596,0.025123,0.97381,0.22594,0.025249,0.97381,0.22597,0.024995,0.97081,0.22468,0.083986,0.97079,0.22468,0.084162,0.97078,0.22468,0.084334,0.19384,-0.95445,0.22682,0.19247,-0.95232,0.23674,0.19513,-0.95641,0.21726,0.1721,-0.96252,0.20962,0.16994,-0.96027,0.22138,0.16764,-0.95774,0.23372,-0.96798,0.21846,-0.12368,-0.96797,0.21846,-0.12372,-0.96798,0.21846,-0.12365,-0.96027,0.21732,-0.17511,-0.96026,0.21729,-0.17516,-0.96026,0.21726,-0.17522,0.71049,0.69788,-0.090324,0.7105,0.69792,-0.089935,0.71049,0.69784,-0.090712,0.72384,0.68917,-0.033238,0.72384,0.68919,-0.032754,0.72384,0.68921,-0.03227,-0.19299,0.95474,-0.22632,-0.19411,0.95645,-0.218,-0.19181,0.95291,-0.23491,-0.1669,0.95847,-0.23124,-0.16888,0.96064,-0.22059,-0.17076,0.96259,-0.21037,-0.82071,0.50356,-0.26993,-0.8208,0.5036,-0.26958,-0.82062,0.50352,-0.27027,-0.79579,0.5097,-0.327,-0.79595,0.50969,-0.32661,-0.79612,0.50969,-0.32622,0.96318,0.22318,0.14992,0.96314,0.2232,0.15015,0.96322,0.22316,0.14969,0.94778,0.22132,0.22962,0.94771,0.22131,0.22993,0.94764,0.2213,0.23024,0.14353,-0.96647,0.2129,0.13981,-0.96361,0.22783,0.14697,-0.96893,0.19894,0.12058,-0.975,0.18663,0.11536,-0.97246,0.20253,0.10957,-0.96933,0.21999,-0.94824,0.21604,-0.23272,-0.94822,0.21604,-0.23281,-0.94827,0.21604,-0.23263,-0.92822,0.21445,-0.30399,-0.92818,0.21446,-0.30412,-0.92814,0.21447,-0.30424,0.73308,0.67938,0.032337,0.73305,0.67937,0.032906,0.7331,0.67938,0.031764,0.73526,0.66884,0.10976,0.7351,0.66891,0.11037,0.73495,0.66898,0.11098,-0.1423,0.9669,-0.21179,-0.14529,0.96903,-0.19966,-0.13911,0.96446,-0.22464,-0.1091,0.97029,-0.21596,-0.11405,0.97293,-0.20099,-0.11858,0.97514,-0.18718,-0.76001,0.51601,-0.39512,-0.76023,0.516,-0.3947,-0.75979,0.51602,-0.39554,-0.70791,0.52173,-0.47609,-0.70819,0.52174,-0.47566,-0.70847,0.52175,-0.47524,0.91962,0.21917,0.32599,0.91948,0.21916,0.32639,0.91976,0.21918,0.32559,0.8726,0.21667,0.43774,0.87236,0.21668,0.43822,0.87212,0.21669,0.43869,0.086223,-0.97798,0.19005,0.077561,-0.97469,0.20966,0.093768,-0.98048,0.17283,0.067518,-0.98514,0.15795,0.057173,-0.9828,0.1756,0.044788,-0.97947,0.19657,-0.89534,0.21267,-0.39133,-0.89527,0.21266,-0.3915,-0.89541,0.21267,-0.39117,-0.84337,0.21054,-0.49437,-0.84325,0.21053,-0.49457,-0.84314,0.21053,-0.49476,0.72489,0.65846,0.20239,0.72465,0.65853,0.20304,0.72513,0.6584,0.20174,0.69698,0.64788,0.30735,0.69669,0.64787,0.30805,0.69639,0.64786,0.30874,-0.084961,0.97849,-0.188,-0.091509,0.98065,-0.17304,-0.077589,0.97574,-0.20472,-0.045642,0.98057,-0.19081,-0.056117,0.98332,-0.17304,-0.065094,0.98534,-0.15772,-0.63398,0.52726,-0.56574,-0.63436,0.52728,-0.5653,-0.6336,0.52725,-0.56618,-0.53317,0.53311,-0.6569,-0.53366,0.53315,-0.65648,-0.53415,0.53319,-0.65605,0.79735,0.21408,0.56427,0.79702,0.21408,0.56475,0.79769,0.21408,0.56378,0.6892,0.21175,0.69294,0.68878,0.21177,0.69335,0.68837,0.21178,0.69375,0.02922,-0.98693,0.15849,0.012483,-0.9837,0.17939,0.042601,-0.98899,0.14168,0.019903,-0.99209,0.12397,0.00389,-0.99035,0.13854,-0.016857,-0.9874,0.15732,-0.76531,0.20829,-0.60903,-0.76516,0.2083,-0.60922,-0.76545,0.20828,-0.60885,-0.65639,0.2063,-0.72566,-0.65623,0.20629,-0.72581,-0.65607,0.20629,-0.72596,0.644,0.63752,0.42288,0.64356,0.63757,0.42348,0.64444,0.63748,0.42228,0.56239,0.62794,0.53797,0.5619,0.62794,0.53848,0.5614,0.62794,0.539,-0.028546,0.98742,-0.15549,-0.040153,0.98921,-0.1409,-0.014482,0.9848,-0.17308,0.013614,0.98845,-0.15094,-0.003725,0.99081,-0.13522,-0.01761,0.9923,-0.12258,-0.40952,0.53902,-0.73604,-0.41018,0.53904,-0.73565,-0.40884,0.539,-0.73643,-0.27279,0.54708,-0.79139,-0.2736,0.54711,-0.79108,-0.27441,0.54714,-0.79078,0.54647,0.20944,0.81086,0.54611,0.20944,0.81111,0.54684,0.20944,0.81062,0.38417,0.20788,0.89955,0.38391,0.20788,0.89967,0.38365,0.20789,0.89978,-0.016121,-0.99323,0.11499,-0.039676,-0.99074,0.12984,0.001763,-0.99461,0.10367,-0.00981,-0.99673,0.0802,-0.028463,-0.99572,0.087871,-0.05271,-0.99381,0.097797,-0.5195,0.20428,-0.8297,-0.51946,0.20428,-0.82972,-0.51954,0.20428,-0.82967,-0.3653,0.20474,-0.9081,-0.3656,0.20474,-0.90797,-0.36589,0.20475,-0.90785,0.45282,0.61824,0.64244,0.45258,0.61824,0.64261,0.45307,0.61825,0.64226,0.32116,0.62254,0.71365,0.32184,0.62256,0.71333,0.32252,0.62257,0.71301,0.015659,0.99365,-0.11147,0.000152,0.99482,-0.10164,0.035299,0.99167,-0.12387,0.047554,0.99457,-0.092515,0.027276,0.99608,-0.084202,0.011084,0.99693,-0.077538,-0.14474,0.55615,-0.81838,-0.14556,0.55617,-0.81822,-0.14392,0.55613,-0.81854,-0.033755,0.56669,-0.82324,-0.034512,0.56669,-0.8232,-0.035264,0.5667,-0.82317,0.22165,0.20607,0.9531,0.22143,0.20607,0.95315,0.22186,0.20607,0.95305,0.074006,0.20434,0.9761,0.073822,0.20434,0.97611,0.07364,0.20434,0.97613,-0.031037,-0.99779,0.058754,-0.052863,-0.99656,0.063783,-0.015192,-0.99837,0.055086,-0.009219,-0.99925,0.037567,-0.022989,-0.99908,0.036083,-0.03958,-0.99864,0.033888,-0.2464,0.20839,-0.9465,-0.24696,0.20839,-0.94635,-0.24584,0.2084,-0.94664,-0.20634,0.21414,-0.95476,-0.20699,0.21412,-0.95462,-0.20764,0.21409,-0.95449,0.18487,0.65243,0.73495,0.21725,0.65178,0.72662,0.18339,0.65244,0.73532,0.062577,0.687,0.72396,0.037337,0.94383,0.32832,0.027447,0.98501,0.17028,0.029226,0.99806,-0.054972,0.014297,0.99857,-0.051512,0.047404,0.99712,-0.059168,0.034116,0.99896,-0.030329,0.020979,0.99935,-0.029264,0.009784,0.99955,-0.028353,0.05527,0.57783,-0.81428,0.054702,0.57784,-0.81431,0.055842,0.57782,-0.81425,0.12922,0.58636,-0.79968,0.12892,0.58635,-0.79973,0.12862,0.58634,-0.79979,-0.049857,0.2024,0.97803,-0.05002,0.2024,0.97803,-0.049694,0.2024,0.97804,-0.14944,0.20081,0.96817,-0.14951,0.20081,0.96815,-0.14957,0.20082,0.96814,-0.012361,-0.99983,0.013766,-0.022575,-0.99966,0.013336,-0.000746,-0.9999,0.014254,-0.000461,-0.99999,0.003033,-0.004675,-0.99999,0.002692,-0.009317,-0.99996,0.002,-0.033484,0.69961,0.71374,-0.037402,0.69959,0.71357,-0.033464,0.69961,0.71374,-0.10973,0.68494,0.72029,-0.065545,0.9051,0.42011,-0.045621,0.95954,0.27785,0.010254,0.99987,-0.012025,0.003381,0.99992,-0.012313,0.018026,0.99977,-0.011698,0.007,0.99997,-0.001876,0.003565,0.99999,-0.002376,0.000432,1,-0.002833,0.18945,0.58966,-0.78512,0.18937,0.58965,-0.78514,0.18954,0.58967,-0.78509,0.24009,0.58987,-0.77098,0.24008,0.58987,-0.77098,0.24006,0.58987,-0.77099,-0.22844,0.20051,0.95269,-0.22842,0.20051,0.95269,-0.22845,0.20051,0.95268,-0.29132,0.20061,0.93535,-0.2913,0.20062,0.93536,-0.29128,0.20062,0.93536,-0.000859,-1,-0.000527,-0.001869,-1,-0.000761,8e-05,-1,-0.00031,9.5e-05,-1,-0.000305,0.22723,0.21556,-0.94969,0.22658,0.21557,-0.94984,0.24374,0.20796,-0.94728,0.24427,0.20796,-0.94715,0.22592,0.21558,-0.94999,0.24321,0.20796,-0.94742,0.28969,0.20271,-0.93541,0.28996,0.20272,-0.93532,0.29022,0.20272,-0.93524,-0.17895,0.6419,0.74562,-0.19491,0.64174,0.74174,-0.17749,0.6419,0.74596,-0.23671,0.60198,0.76262,-0.23754,0.60196,0.76238,-0.23837,0.60193,0.76214,0.000626,1,0.000473,-7.4e-05,1,0.000311,0.001376,1,0.000647,-9.5e-05,1,0.000305,0.28385,0.59008,-0.7558,0.28384,0.59008,-0.7558,0.28386,0.59007,-0.7558,0.32466,0.5902,-0.73909,0.32465,0.5902,-0.7391,0.32465,0.59019,-0.73911,-0.34445,0.20071,0.9171,-0.34444,0.20071,0.9171,-0.34446,0.20072,0.91709,-0.394,0.20077,0.89691,-0.39399,0.20078,0.89692,-0.39398,0.20078,0.89692,0.000112,-1,-0.000299,0.000128,-1,-0.000292,0.34384,0.20107,-0.91725,0.34389,0.20107,-0.91723,0.34378,0.20107,-0.91727,0.39358,0.20114,-0.89702,0.39357,0.20113,-0.89702,0.39356,0.20112,-0.89703,-0.28377,0.58955,0.75624,-0.28395,0.58954,0.75618,-0.28359,0.58956,0.7563,-0.32451,0.58967,0.73958,-0.3245,0.58968,0.73958,-0.3245,0.58968,0.73958,-0.000112,1,0.000299,-0.000128,1,0.000292,0.35976,0.59032,-0.72256,0.35975,0.59031,-0.72257,0.35976,0.59033,-0.72255,0.38588,0.59047,-0.70883,0.38587,0.59049,-0.70882,0.38585,0.59052,-0.70881,-0.43664,0.20084,0.87693,-0.43663,0.20084,0.87694,-0.43665,0.20084,0.87693,-0.4684,0.20092,0.86037,-0.46839,0.20092,0.86037,-0.46838,0.20093,0.86038,0.000142,-1,-0.000286,0.000152,-1,-0.00028,0.43617,0.20119,-0.87709,0.43616,0.2012,-0.87709,0.43618,0.20119,-0.87708,0.46797,0.20128,-0.86052,0.46796,0.20128,-0.86052,0.46795,0.20127,-0.86053,-0.35959,0.5898,0.72307,-0.35958,0.58981,0.72306,-0.3596,0.58979,0.72307,-0.38575,0.58998,0.70931,-0.38575,0.58997,0.70932,-0.38575,0.58996,0.70933,-0.000142,1,0.000286,-0.000152,1,0.00028,0.40347,0.59063,-0.69883,0.40346,0.59065,-0.69882,0.40348,0.59062,-0.69884,0.41264,0.59066,-0.69343,0.41264,0.59067,-0.69342,0.41264,0.59068,-0.69342,-0.4898,0.201,0.84835,-0.4898,0.201,0.84835,-0.48981,0.201,0.84835,-0.50095,0.20103,0.84181,-0.50095,0.20103,0.84181,-0.50094,0.20103,0.84181,0.000159,-1,-0.000276,0.000163,-1,-0.000274,0.48955,0.20136,-0.84841,0.48954,0.20135,-0.84841,0.48955,0.20136,-0.84841,0.50084,0.20137,-0.84179,0.50084,0.20137,-0.84179,0.50083,0.20138,-0.84179,-0.40349,0.59013,0.69925,-0.40348,0.59012,0.69925,-0.40349,0.59013,0.69924,-0.41277,0.59017,0.69377,-0.41277,0.59017,0.69377,-0.41277,0.59017,0.69377,-0.000159,1,0.000276,-0.000163,1,0.000274,0.41408,0.5907,-0.69254,0.41408,0.5907,-0.69254,0.41408,0.59071,-0.69253,0.40813,0.59065,-0.6961,0.40814,0.59065,-0.6961,0.40814,0.59064,-0.69611,-0.5027,0.20104,0.84076,-0.5027,0.20104,0.84076,-0.49546,0.201,0.84505,-0.49546,0.20102,0.84505,-0.49546,0.20103,0.84505,0.000164,-1,-0.000274,0.000161,-1,-0.000275,0.50269,0.20139,-0.84068,0.50269,0.2014,-0.84068,0.50269,0.20139,-0.84068,0.49554,0.20137,-0.84492,0.49554,0.20137,-0.84492,0.49555,0.20137,-0.84492,-0.41429,0.59018,0.69285,-0.41429,0.59019,0.69285,-0.4143,0.59018,0.69285,-0.40842,0.59012,0.69638,-0.40842,0.59013,0.69637,-0.40841,0.59015,0.69637,-0.000164,1,0.000274,-0.000161,1,0.000275,0.39477,0.59059,-0.70382,0.39477,0.59059,-0.70381,0.39477,0.59058,-0.70383,0.37369,0.59045,-0.71535,0.3737,0.59045,-0.71535,0.37371,0.59044,-0.71535,-0.47921,0.20099,0.85438,-0.47921,0.20099,0.85438,-0.4792,0.20099,0.85438,-0.45357,0.20092,0.86828,-0.45358,0.20092,0.86828,-0.45358,0.20091,0.86827,0.000156,-1,-0.000278,0.000148,-1,-0.000283,0.47939,0.20133,-0.8542,0.47939,0.20133,-0.85419,0.47939,0.20133,-0.8542,0.45386,0.20127,-0.86804,0.45387,0.20127,-0.86804,0.45387,0.20126,-0.86804,-0.39512,0.59007,0.70406,-0.39512,0.59008,0.70405,-0.39512,0.59006,0.70406,-0.37412,0.58993,0.71556,-0.37413,0.58992,0.71556,-0.37413,0.58991,0.71556,-0.000156,1,0.000278,-0.000148,1,0.000283,0.3442,0.59029,-0.73012,0.34419,0.59029,-0.73013,0.34421,0.5903,-0.73011,0.30506,0.59169,-0.74622,0.30498,0.59168,-0.74625,0.30491,0.59168,-0.74629,-0.41795,0.20084,0.88599,-0.41795,0.20083,0.88599,-0.41795,0.20084,0.88599,-0.37155,0.201,0.90639,-0.37153,0.20099,0.9064,-0.3715,0.20099,0.90641,0.001467,-1,0.000342,0.000438,-1,-0.000146,0.002533,-1,0.000847,0.012292,-0.99992,-0.001799,0.007872,-0.99996,-0.00362,0.003639,-0.99998,-0.005364,0.41786,0.20118,-0.88596,0.41784,0.20118,-0.88597,0.41788,0.20119,-0.88595,0.37005,0.20191,-0.9068,0.36995,0.20191,-0.90685,0.36985,0.20191,-0.90689,-0.34607,0.58977,0.72966,-0.34612,0.58976,0.72964,-0.34601,0.58978,0.72968,-0.3124,0.58585,0.74779,-0.31261,0.58584,0.74771,-0.31282,0.58582,0.74764,-0.001251,1,-0.00024,-0.002103,1,-0.000644,-0.000424,1,0.000152,-0.003437,0.99998,0.005031,-0.006839,0.99997,0.00363,-0.010371,0.99994,0.002175,0.25061,0.59638,-0.76258,0.25041,0.59638,-0.76264,0.2508,0.59639,-0.76251,0.17591,0.60651,-0.77537,0.17552,0.6065,-0.77547,0.17513,0.60649,-0.77556,-0.31503,0.2017,0.9274,-0.31497,0.20171,0.92742,-0.3151,0.20169,0.92738,-0.24974,0.20316,0.94676,-0.24962,0.20318,0.94679,-0.2495,0.20319,0.94682,0.026827,-0.9995,-0.016689,0.018166,-0.99964,-0.019634,0.035945,-0.99926,-0.013587,0.07622,-0.99647,-0.035134,0.062149,-0.99731,-0.038816,0.048872,-0.99791,-0.042278,0.30799,0.20438,-0.92918,0.30779,0.20438,-0.92924,0.30819,0.20438,-0.92911,0.23037,0.20786,-0.95064,0.23012,0.20786,-0.9507,0.22987,0.20786,-0.95076,-0.27669,0.57469,0.77018,-0.27707,0.57467,0.77005,-0.27631,0.57471,0.7703,-0.23876,0.55899,0.79405,-0.23926,0.559,0.7939,-0.23976,0.559,0.79375,-0.024703,0.99957,0.015788,-0.03212,0.9994,0.013265,-0.017607,0.99968,0.0182,-0.04827,0.99804,0.039774,-0.059499,0.99755,0.036848,-0.071303,0.99688,0.033763,0.083519,0.62451,-0.77654,0.082946,0.62446,-0.77664,0.084091,0.62455,-0.77644,-0.017143,0.64583,-0.76329,-0.017777,0.6458,-0.7633,-0.018413,0.64577,-0.76331,-0.17445,0.20573,0.96293,-0.1743,0.20573,0.96296,-0.1746,0.20573,0.96291,-0.089481,0.20857,0.97391,-0.089354,0.20858,0.97391,-0.089226,0.20859,0.97392,0.10219,-0.99195,-0.074792,0.085452,-0.9933,-0.077742,0.12,-0.99019,-0.071621,0.15198,-0.98121,-0.11889,0.13326,-0.98372,-0.12058,0.11574,-0.98574,-0.12212,0.13825,0.21163,-0.96752,0.13798,0.21164,-0.96756,0.13852,0.21163,-0.96748,0.036417,0.21521,-0.97589,0.036163,0.21521,-0.9759,0.03591,0.21522,-0.97591,-0.19322,0.5415,0.81819,-0.19378,0.5415,0.81806,-0.19267,0.5415,0.81832,-0.13259,0.52473,0.84088,-0.13313,0.52471,0.8408,-0.13367,0.52469,0.84073,-0.099753,0.99236,0.072571,-0.11499,0.99091,0.069869,-0.085315,0.99352,0.075113,-0.11627,0.98595,0.11991,-0.13148,0.9842,0.11857,-0.14756,0.98209,0.11713,-0.12126,0.66497,-0.73696,-0.12186,0.66493,-0.7369,-0.12065,0.66501,-0.73703,-0.22007,0.68202,-0.69744,-0.22063,0.68197,-0.69731,-0.22119,0.68192,-0.69718,0.003603,0.21072,0.97754,0.003677,0.21073,0.97754,0.00353,0.2107,0.97754,0.10189,0.21222,0.97189,0.10191,0.21224,0.97189,0.10193,0.21225,0.97188,0.15141,-0.97405,-0.16821,0.13464,-0.97653,-0.16813,0.16934,-0.97109,-0.16825,0.17218,-0.96086,-0.21701,0.15548,-0.96408,-0.21534,0.13988,-0.96683,-0.21372,-0.072484,0.21798,-0.97326,-0.072695,0.21797,-0.97324,-0.072272,0.21798,-0.97327,-0.18338,0.22,-0.95811,-0.18354,0.21999,-0.95808,-0.18371,0.21998,-0.95805,-0.061101,0.51046,0.85772,-0.061592,0.51044,0.8577,-0.060612,0.51049,0.85775,0.02025,0.49873,0.86652,0.01982,0.4987,0.86655,0.019389,0.49866,0.86658,-0.15034,0.97452,0.16648,-0.16576,0.97201,0.16652,-0.1358,0.97666,0.1664,-0.14147,0.96686,0.21255,-0.15501,0.96447,0.21395,-0.16937,0.96173,0.2154,-0.30954,0.69688,-0.64695,-0.31003,0.69684,-0.64676,-0.30905,0.69692,-0.64714,-0.39133,0.7085,-0.58727,-0.39176,0.70846,-0.58703,-0.39218,0.70842,-0.5868,0.20153,0.21305,0.95603,0.20149,0.21304,0.95604,0.20158,0.21305,0.95602,0.30912,0.21284,0.9269,0.309,0.21284,0.92694,0.30889,0.21284,0.92698,0.14525,-0.95485,-0.25917,0.13068,-0.95777,-0.25613,0.1609,-0.95145,-0.26239,0.13585,-0.94349,-0.30227,0.1206,-0.94714,-0.29728,0.10656,-0.95027,-0.29262,-0.29051,0.22123,-0.93095,-0.29062,0.22123,-0.93091,-0.29041,0.22123,-0.93098,-0.40017,0.22129,-0.88932,-0.40021,0.22129,-0.88931,-0.40025,0.22129,-0.88929,0.10498,0.489,0.86594,0.10458,0.48898,0.866,0.10539,0.48903,0.86588,0.20041,0.48111,0.85344,0.20002,0.48109,0.85355,0.19963,0.48106,0.85366,-0.14525,0.95512,0.25818,-0.1587,0.95222,0.26095,-0.13259,0.95766,0.25553,-0.10878,0.95001,0.29267,-0.12099,0.94727,0.29672,-0.13409,0.94415,0.30101,-0.46961,0.71654,-0.51579,-0.46998,0.71648,-0.51552,-0.46924,0.71659,-0.51605,-0.53962,0.72183,-0.43334,-0.53992,0.72178,-0.43302,-0.54023,0.72174,-0.43271,0.42623,0.2118,0.87947,0.42606,0.2118,0.87955,0.42641,0.2118,0.87938,0.54801,0.21006,0.80967,0.54778,0.21006,0.80982,0.54754,0.21006,0.80998,0.082859,-0.9414,-0.32697,0.069427,-0.94472,-0.32045,0.097677,-0.93747,-0.33408,0.048694,-0.93389,-0.35422,0.034808,-0.938,-0.34489,0.022402,-0.94142,-0.33648,-0.51584,0.22034,-0.82787,-0.51584,0.22034,-0.82786,-0.51583,0.22034,-0.82787,-0.63089,0.2189,-0.74435,-0.63087,0.2189,-0.74437,-0.63085,0.21891,-0.74438,0.30728,0.47561,0.82424,0.30695,0.47559,0.82438,0.30762,0.47564,0.8241,0.42034,0.47459,0.77336,0.42013,0.47457,0.77348,0.41991,0.47456,0.77361,-0.083652,0.94135,0.32691,-0.096376,0.93798,0.33302,-0.071957,0.94426,0.32124,-0.025217,0.94075,0.33817,-0.036047,0.93773,0.3455,-0.047974,0.9342,0.35351,-0.60005,0.7241,-0.34002,-0.6003,0.72405,-0.3397,-0.59981,0.72416,-0.34034,-0.64509,0.72475,-0.24207,-0.64526,0.72471,-0.24174,-0.64543,0.72466,-0.24141,0.66687,0.20721,0.71579,0.66662,0.2072,0.71602,0.66711,0.20722,0.71556,0.77109,0.20418,0.60311,0.77087,0.20418,0.60338,0.77065,0.20419,0.60366,-0.019689,-0.93686,-0.34914,-0.030365,-0.94021,-0.33923,-0.007594,-0.93282,-0.36027,-0.063706,-0.93366,-0.35245,-0.073201,-0.93738,-0.34053,-0.081531,-0.94046,-0.32997,-0.7393,0.21693,-0.63748,-0.73928,0.21693,-0.6375,-0.73932,0.21692,-0.63745,-0.8299,0.21503,-0.51481,-0.82988,0.21503,-0.51483,-0.82987,0.21503,-0.51485,0.53158,0.47917,0.69844,0.53151,0.47916,0.6985,0.53164,0.47919,0.69838,0.62932,0.48786,0.60493,0.62933,0.48785,0.60493,0.62935,0.48785,0.60492,0.018186,0.93639,0.35048,0.007785,0.9329,0.36005,0.027532,0.93936,0.34182,0.079107,0.93955,0.33315,0.071803,0.93681,0.34239,0.063632,0.93359,0.35265,-0.67559,0.72331,-0.14281,-0.67564,0.7233,-0.14264,-0.67554,0.72332,-0.14298,-0.70082,0.71152,-0.050884,-0.70075,0.71157,-0.051184,-0.70069,0.71161,-0.051485,0.8541,0.20117,0.47962,0.85393,0.20117,0.47993,0.85428,0.20117,0.47932,0.91465,0.19818,0.35235,0.91452,0.19817,0.35268,0.91439,0.19817,0.35302,-0.12129,-0.93907,-0.32162,-0.12676,-0.94159,-0.312,-0.11504,-0.93606,-0.33251,-0.15443,-0.94056,-0.30248,-0.15721,-0.94235,-0.29541,-0.15965,-0.94387,-0.28917,-0.89815,0.21306,-0.38462,-0.89814,0.21305,-0.38464,-0.89816,0.21306,-0.3846,-0.94377,0.2113,-0.25428,-0.94376,0.2113,-0.25429,-0.94376,0.2113,-0.25431,0.70882,0.4979,0.49967,0.70886,0.4979,0.49961,0.70878,0.4979,0.49973,0.76764,0.50894,0.3895,0.76768,0.50896,0.38939,0.76773,0.50897,0.38928,0.12026,0.93851,0.32362,0.11487,0.9359,0.33299,0.12506,0.94075,0.3152,0.15879,0.94327,0.29161,0.15665,0.94191,0.29709,0.15425,0.94037,0.30317,-0.73125,0.68152,0.028325,-0.73121,0.68159,0.027661,-0.7313,0.68144,0.028986,-0.75219,0.65067,0.10412,-0.75221,0.65072,0.10362,-0.75223,0.65079,0.10311,0.95404,0.19491,0.22765,0.95396,0.19491,0.22796,0.95411,0.19491,0.22734,0.9753,0.19278,0.10783,0.97528,0.19278,0.10798,0.97527,0.19278,0.10814,-0.1765,-0.94813,-0.26438,-0.17692,-0.94854,-0.26264,-0.17602,-0.94767,-0.26634,-0.18146,-0.95637,-0.22899,-0.18118,-0.95578,-0.23164,-0.18092,-0.95525,-0.23401,-0.96909,0.20965,-0.13002,-0.96909,0.20964,-0.13004,-0.9691,0.20965,-0.12999,-0.978,0.20811,-0.014494,-0.978,0.2081,-0.014523,-0.978,0.2081,-0.014553,0.80705,0.52001,0.27976,0.8071,0.52,0.27963,0.807,0.52001,0.2799,0.82952,0.53074,0.17381,0.82955,0.53075,0.17366,0.82957,0.53076,0.17351,0.1763,0.94786,0.26546,0.17589,0.94746,0.26718,0.17667,0.94823,0.26392,0.18093,0.9552,0.23419,0.18115,0.95566,0.23216,0.18139,0.95616,0.22992,-0.75306,0.63377,0.17674,-0.75309,0.63379,0.17651,-0.75303,0.63374,0.17696,-0.74278,0.62381,0.24317,-0.74282,0.62382,0.24304,-0.74286,0.62383,0.2429,0.98116,0.19315,-0.004833,0.98116,0.19315,-0.004834,0.98116,0.19315,-0.004831,0.97453,0.19462,-0.11143,0.97452,0.19462,-0.11148,0.97452,0.19461,-0.11154,-0.17318,-0.96444,-0.19967,-0.17327,-0.96332,-0.20491,-0.17309,-0.96564,-0.19383,-0.15634,-0.97434,-0.16193,-0.15725,-0.97303,-0.16879,-0.15806,-0.97181,-0.17496,-0.97412,0.2067,0.091438,-0.97413,0.2067,0.091399,-0.97412,0.20671,0.091477,-0.96028,0.20537,0.18893,-0.96029,0.20536,0.18888,-0.9603,0.20536,0.18884,0.83782,0.54112,0.072519,0.83782,0.54112,0.072367,0.83781,0.54111,0.072671,0.83432,0.55075,-0.024056,0.83432,0.55076,-0.024203,0.83431,0.55076,-0.02435,0.1732,0.96441,0.19978,0.17312,0.96544,0.19481,0.17327,0.96345,0.2043,0.15796,0.97198,0.17409,0.15725,0.97303,0.16874,0.15648,0.97416,0.16289,-0.72766,0.61508,0.30363,-0.72771,0.61508,0.30349,-0.72761,0.61507,0.30376,-0.70753,0.60727,0.36141,-0.70759,0.60728,0.36129,-0.70765,0.60728,0.36117,0.95712,0.19599,-0.21334,0.95711,0.19599,-0.21338,0.95713,0.19599,-0.2133,0.9294,0.1971,-0.31205,0.92939,0.19711,-0.31207,0.92938,0.19711,-0.3121,-0.13802,-0.98054,-0.13963,-0.13947,-0.97947,-0.14553,-0.13641,-0.98167,-0.13309,-0.1146,-0.98768,-0.10656,-0.11673,-0.98678,-0.11242,-0.11863,-0.98594,-0.11768,-0.93812,0.20418,0.27972,-0.93813,0.20418,0.27967,-0.9381,0.20418,0.27977,-0.90804,0.20303,0.36639,-0.90806,0.20304,0.36634,-0.90808,0.20305,0.36628,0.82032,0.55974,-0.11729,0.8203,0.55976,-0.11742,0.82035,0.55973,-0.11716,0.79647,0.56766,-0.20833,0.79643,0.56767,-0.20844,0.7964,0.56768,-0.20854,0.13801,0.98055,0.13958,0.13664,0.98152,0.134,0.13926,0.97963,0.14468,0.11836,0.98606,0.11691,0.11671,0.98679,0.11236,0.1149,0.98756,0.10737,-0.6813,0.60063,0.41842,-0.68136,0.60064,0.41831,-0.68123,0.60063,0.41853,-0.64667,0.5949,0.47741,-0.64674,0.59489,0.47732,-0.64681,0.59488,0.47723,0.89033,0.19807,-0.40997,0.89033,0.19808,-0.40998,0.89033,0.19807,-0.40997,0.83737,0.19863,-0.50927,0.83739,0.19863,-0.50925,0.8374,0.19863,-0.50923,-0.094179,-0.99174,-0.087013,-0.096247,-0.99117,-0.091239,-0.091858,-0.99237,-0.082273,-0.0693,-0.9958,-0.059765,-0.071352,-0.99546,-0.062981,-0.073153,-0.99515,-0.065802,-0.86921,0.20206,0.45128,-0.86924,0.20206,0.45121,-0.86917,0.20205,0.45134,-0.81902,0.20104,0.53739,-0.81907,0.20104,0.53732,-0.81912,0.20105,0.53724,0.76192,0.57459,-0.29888,0.76189,0.57458,-0.29895,0.76195,0.57459,-0.29881,0.71512,0.57978,-0.39046,0.71511,0.57978,-0.39048,0.7151,0.57977,-0.3905,0.094155,0.99175,0.086958,0.092178,0.99228,0.082919,0.095945,0.99125,0.090617,0.072885,0.9952,0.06538,0.071324,0.99547,0.062934,0.069577,0.99576,0.060198,-0.59967,0.5906,0.54,-0.59974,0.59059,0.53992,-0.59959,0.5906,0.54007,-0.53412,0.58731,0.6081,-0.53419,0.58731,0.60804,-0.53426,0.58731,0.60798,0.766,0.19895,-0.61128,0.76603,0.19895,-0.61124,0.76596,0.19895,-0.61133,0.66885,0.19884,-0.71631,0.66891,0.19884,-0.71625,0.66898,0.19884,-0.71619,-0.048754,-0.998,-0.040224,-0.049954,-0.99788,-0.041672,-0.047354,-0.99813,-0.038533,-0.025531,-0.99949,-0.01901,-0.02607,-0.99947,-0.019503,-0.026517,-0.99945,-0.019912,-0.75305,0.20023,0.62675,-0.75313,0.20023,0.62667,-0.75298,0.20022,0.62684,-0.66365,0.19941,0.72097,-0.66375,0.19941,0.72088,-0.66385,0.19941,0.72079,0.65199,0.5834,-0.48431,0.65202,0.58339,-0.48428,0.65197,0.58341,-0.48433,0.56637,0.58507,-0.58045,0.56644,0.58506,-0.58039,0.56651,0.58505,-0.58033,0.048728,0.998,0.040191,0.047538,0.99812,0.038754,0.04977,0.9979,0.04145,0.026442,0.99945,0.019845,0.026053,0.99947,0.019487,0.025595,0.99949,0.019068,-0.45597,0.58545,0.67033,-0.45598,0.58545,0.67032,-0.45595,0.58545,0.67034,-0.37316,0.58723,0.71827,-0.37311,0.58723,0.7183,-0.37306,0.58723,0.71832,0.55781,0.1984,-0.8059,0.55783,0.1984,-0.8059,0.5578,0.19839,-0.80591,0.45189,0.19931,-0.86952,0.45183,0.19931,-0.86955,0.45177,0.19931,-0.86959,-0.007476,-0.99996,-0.004568,-0.007545,-0.99996,-0.004614,-0.00739,-0.99996,-0.004511,-0.000147,-1,0.000286,-0.000148,-1,0.000286,-0.000148,-1,0.000285,-0.55571,0.19875,0.80727,-0.55573,0.19875,0.80725,-0.5557,0.19875,0.80728,-0.44801,0.19968,0.87144,-0.44793,0.19968,0.87149,-0.44784,0.19968,0.87153,0.46524,0.58484,-0.66447,0.46525,0.58484,-0.66446,0.46522,0.58484,-0.66448,0.37037,0.58677,-0.72008,0.3703,0.58677,-0.72012,0.37023,0.58677,-0.72016,0.00747,0.99996,0.004565,0.007397,0.99996,0.004516,0.007531,0.99996,0.004605,0.000148,1,-0.000286,0.000148,1,-0.000285,0.000147,1,-0.000285,-0.28659,0.58923,0.75543,-0.28659,0.58923,0.75543,-0.28659,0.58923,0.75543,-0.20592,0.58883,0.78158,-0.20599,0.58883,0.78156,-0.20607,0.58883,0.78154,0.34752,0.20031,-0.91603,0.34752,0.2003,-0.91603,0.34751,0.20031,-0.91603,0.24944,0.20011,-0.94749,0.24953,0.20011,-0.94747,0.24962,0.20011,-0.94744,-0.000114,-1,0.000299,-8.4e-05,-1,0.000309,-8.2e-05,-1,0.00031,-0.34765,0.20065,0.9159,-0.34765,0.20065,0.9159,-0.34764,0.20065,0.91591,-0.25516,0.20043,0.9459,-0.25528,0.20043,0.94586,-0.25541,0.20043,0.94583,0.28685,0.58871,-0.75574,0.28685,0.58871,-0.75574,0.28684,0.58871,-0.75574,0.2104,0.58829,-0.7808,0.2105,0.58829,-0.78077,0.21061,0.58828,-0.78075,0.000113,1,-0.000299,0.000114,1,-0.000299,8.2e-05,1,-0.00031,8.4e-05,1,-0.000309,-0.1245,0.5883,0.799,-0.1246,0.5883,0.79898,-0.12441,0.5883,0.79901,-0.029737,0.58767,0.80856,-0.029859,0.58767,0.80855,-0.029982,0.58767,0.80854,0.15063,0.19984,-0.96818,0.15074,0.19984,-0.96816,0.15051,0.19984,-0.9682,0.035718,0.19952,-0.97924,0.035865,0.19952,-0.97924,0.036014,0.19953,-0.97923,-5e-05,-1,0.000317,-4.9e-05,-1,0.000317,-5.2e-05,-1,0.000317,-1.5e-05,-1,0.000321,-1.3e-05,-1,0.000321,-1.2e-05,-1,0.000321,-0.15862,0.20016,0.96684,-0.15881,0.20016,0.96681,-0.15844,0.20016,0.96687,-0.046294,0.19984,0.97874,-0.046557,0.19983,0.97872,-0.046822,0.19983,0.97871,0.13068,0.58774,-0.79843,0.13083,0.58774,-0.7984,0.13054,0.58775,-0.79845,0.037828,0.58709,-0.80863,0.038037,0.58709,-0.80863,0.038248,0.58708,-0.80862,5.1e-05,1,-0.000317,5.2e-05,1,-0.000317,4.9e-05,1,-0.000317,1.2e-05,1,-0.000321,1.3e-05,1,-0.000321,1.5e-05,1,-0.000321,0.075965,0.58699,0.80602,0.075841,0.58699,0.80603,0.076087,0.58698,0.80602,0.18965,0.58664,0.78733,0.18954,0.58664,0.78736,0.18943,0.58664,0.78738,-0.092246,0.19919,-0.97561,-0.092098,0.19919,-0.97562,-0.092392,0.19919,-0.9756,-0.22976,0.19901,-0.95268,-0.22962,0.19901,-0.95271,-0.22949,0.19901,-0.95275,2.9e-05,-1,0.000321,3e-05,-1,0.00032,2.6e-05,-1,0.000321,7.2e-05,-1,0.000314,7.4e-05,-1,0.000314,7.6e-05,-1,0.000313,0.080868,0.19949,0.97656,0.080566,0.19948,0.97658,0.081166,0.19949,0.97653,0.21906,0.19932,0.95514,0.21876,0.19932,0.9552,0.21845,0.19932,0.95527,-0.067334,0.5864,-0.80722,-0.067095,0.58639,-0.80725,-0.067569,0.5864,-0.8072,-0.18161,0.58606,-0.78965,-0.18138,0.58606,-0.78971,-0.18114,0.58605,-0.78977,-2.9e-05,1,-0.000321,-2.7e-05,1,-0.000321,-3e-05,1,-0.000321,-7.5e-05,1,-0.000313,-7.4e-05,1,-0.000314,-7.2e-05,1,-0.000314,0.30402,0.58624,0.75093,0.30395,0.58624,0.75095,0.30409,0.58624,0.7509,0.41233,0.58655,0.6971,0.41231,0.58655,0.69711,0.41229,0.58655,0.69712,-0.36795,0.19882,-0.90834,-0.36787,0.19882,-0.90838,-0.36803,0.19882,-0.90831,-0.49897,0.19897,-0.84347,-0.49895,0.19897,-0.84348,-0.49892,0.19897,-0.8435,0.00012,-1,0.000299,0.000121,-1,0.000299,0.000119,-1,0.0003,0.000163,-1,0.000278,0.000164,-1,0.000278,0.000164,-1,0.000277,0.36087,0.19913,0.91111,0.36066,0.19913,0.91119,0.36107,0.19914,0.91103,0.49676,0.19931,0.84469,0.4967,0.1993,0.84473,0.49663,0.1993,0.84477,-0.29881,0.58569,-0.75345,-0.29864,0.58568,-0.75352,-0.29897,0.58569,-0.75338,-0.41087,0.58602,-0.6984,-0.41082,0.58602,-0.69843,-0.41077,0.58602,-0.69846,-0.00012,1,-0.000299,-0.000119,1,-0.0003,-0.000121,1,-0.000299,-0.000164,1,-0.000277,-0.000164,1,-0.000278,-0.000163,1,-0.000278,0.50868,0.58681,0.63,0.50869,0.58681,0.62999,0.50867,0.58681,0.63,0.58878,0.58744,0.5552,0.58881,0.58744,0.55517,0.58884,0.58745,0.55514,-0.61562,0.1991,-0.76248,-0.61563,0.1991,-0.76247,-0.61561,0.1991,-0.76249,-0.71286,0.19941,-0.67236,-0.7129,0.19941,-0.67232,-0.71293,0.19941,-0.67228,0.000202,-1,0.00025,0.000202,-1,0.000251,0.000203,-1,0.00025,0.000235,-1,0.000219,0.000234,-1,0.00022,0.000234,-1,0.000221,0.61647,0.19944,0.7617,0.6165,0.19944,0.76168,0.61644,0.19944,0.76172,0.71592,0.19976,0.66899,0.71601,0.19976,0.66889,0.71611,0.19976,0.66879,-0.50959,0.5863,-0.62974,-0.50961,0.5863,-0.62972,-0.50957,0.5863,-0.62975,-0.5914,0.58694,-0.55293,-0.59148,0.58694,-0.55286,-0.59155,0.58694,-0.55278,-0.000203,1,-0.000251,-0.000203,1,-0.00025,-0.000202,1,-0.000251,-0.000234,1,-0.000221,-0.000234,1,-0.00022,-0.000235,1,-0.00022,0.65276,0.58804,0.47761,0.65279,0.58804,0.47757,0.65274,0.58803,0.47765,0.70146,0.58853,0.40197,0.70148,0.58853,0.40193,0.7015,0.58854,0.40189,-0.79072,0.19971,-0.57869,-0.79075,0.19971,-0.57864,-0.79069,0.19971,-0.57873,-0.85006,0.19995,-0.48724,-0.85009,0.19995,-0.4872,-0.85012,0.19995,-0.48716,0.000259,-1,0.000189,0.000259,-1,0.00019,0.00026,-1,0.000188,0.000279,-1,0.000158,0.000278,-1,0.000159,0.79338,0.20006,0.57491,0.79346,0.20006,0.5748,0.7933,0.20006,0.57502,0.85208,0.20031,0.48357,0.85213,0.20031,0.48347,0.8522,0.20031,0.48336,-0.65512,0.58754,-0.47499,-0.65518,0.58754,-0.47491,-0.65506,0.58754,-0.47508,-0.70335,0.58803,-0.39939,-0.7034,0.58803,-0.39931,-0.70345,0.58803,-0.39922,-0.00026,1,-0.000189,-0.000259,1,-0.00019,-0.000278,1,-0.000159,-0.000279,1,-0.000159,-0.000279,1,-0.000158,0.74641,0.58896,0.30984,0.7464,0.58896,0.30985,0.74642,0.58896,0.30983,0.78177,0.58708,0.21018,0.78175,0.58708,0.21026,0.78173,0.58708,0.21033,-0.9049,0.20017,-0.37561,-0.9049,0.20017,-0.37562,-0.9049,0.20017,-0.37561,-0.94637,0.19925,-0.25432,-0.94635,0.19925,-0.2544,-0.94633,0.19925,-0.25448,0.000296,-1,0.000123,0.000289,-1,0.000138,0.000306,-1,9.9e-05,0.000316,-1,-2e-06,0.000291,-1,7.9e-05,0.000275,-1,0.000132,0.90445,0.20052,0.37652,0.90443,0.20052,0.37655,0.90446,0.20052,0.3765,0.94442,0.19962,0.2612,0.94436,0.19962,0.26141,0.9443,0.19962,0.26161,-0.74646,0.58845,-0.31068,-0.74645,0.58845,-0.3107,-0.74647,0.58845,-0.31067,-0.78061,0.58669,-0.21551,-0.78057,0.58669,-0.21566,-0.78053,0.58669,-0.21581,-0.000296,1,-0.000123,-0.000304,1,-0.000104,-0.000277,1,-0.000125,-0.000291,1,-7.9e-05,-0.000313,1,-1.2e-05,0.79961,0.58549,0.13351,0.79962,0.58549,0.13344,0.7996,0.58549,0.13358,-0.96667,0.19852,-0.16166,-0.96669,0.19852,-0.16156,-0.96666,0.19852,-0.16175,0.000239,-1,3.9e-05,0.000228,-1,0.000112,0.000254,-1,-5.8e-05,0.96767,0.19878,0.15523,0.9677,0.19878,0.15508,0.96765,0.19878,0.15537,-0.80068,0.58512,-0.12863,-0.8007,0.58512,-0.1285,-0.80066,0.58512,-0.12876,-0.000239,1,-3.9e-05,-0.000252,1,4.2e-05,-0.000229,1,-0.000103,-0.066004,0.23981,-0.96857,-0.065952,0.23872,-0.96885,-0.065875,0.23872,-0.96885,-0.065927,0.23981,-0.96858,-0.065901,0.23764,-0.96912,-0.065823,0.23762,-0.96913,-0.065743,0.23761,-0.96913,-0.065797,0.23872,-0.96886,-0.06585,0.23981,-0.96858,0.051069,0.21516,-0.97524,0.051072,0.21492,-0.9753,0.051096,0.21492,-0.97529,0.051093,0.21516,-0.97524,0.051074,0.21468,-0.97535,0.051099,0.21468,-0.97535,0.051123,0.21467,-0.97535,0.05112,0.21492,-0.97529,0.051118,0.21516,-0.97524], - - "colors": [], - - "uvs": [[0.70255,0.001294,0.85127,0.001294,0.85127,0.34916,0.70255,0.34916,1,0.001294,1,0.34916,1,0.69703,0.85127,0.69703,0.70255,0.69703,0.70022,0.003101,0.8502,0.003101,0.8502,0.35044,0.70022,0.35044,1.0002,0.003101,1.0002,0.35044,1.0002,0.69777,0.8502,0.69777,0.70022,0.69777,0.30186,0.69976,0.45334,0.69976,0.45334,0.84905,0.30186,0.84905,0.60481,0.69976,0.60481,0.84905,0.60481,0.99833,0.45334,0.99833,0.30186,0.99833,0.00226,0.001133,0.3512,0.001133,0.3512,0.34961,0.00226,0.34961,0.70015,0.001133,0.70015,0.34961,0.70015,0.69808,0.3512,0.69808,0.00226,0.69808,0.70111,0.002963,0.85259,0.002963,0.85259,0.34905,0.70111,0.34905,1.0041,0.002963,1.0041,0.34905,1.0041,0.69513,0.85259,0.69513,0.70111,0.69513,0.70022,0.002977,0.8502,0.002977,0.8502,0.35037,0.70022,0.35037,1.0002,0.002977,1.0002,0.35037,0.70022,0.002545,0.85032,0.002545,0.85032,0.35016,0.70022,0.35016,1.0004,0.002545,1.0004,0.35016,1.0004,0.69777,0.85032,0.69777]], - - "faces": [42,0,1,2,0,0,1,2,0,1,2,42,2,3,0,0,2,3,0,2,3,0,42,1,4,5,0,1,4,5,1,4,5,42,5,2,1,0,5,2,1,5,2,1,42,6,7,2,0,6,7,2,6,7,2,42,2,5,6,0,2,5,6,2,5,6,42,7,8,3,0,7,8,3,7,8,3,42,3,2,7,0,3,2,7,3,2,7,42,4,9,10,0,9,10,11,9,10,11,42,10,5,4,0,11,12,9,11,12,9,42,9,11,12,0,10,13,14,10,13,14,42,12,10,9,0,14,11,10,14,11,10,42,13,14,10,0,15,16,11,15,16,11,42,10,12,13,0,11,14,15,11,14,15,42,14,6,5,0,16,17,12,16,17,12,42,5,10,14,0,12,11,16,12,11,16,42,11,15,16,0,18,19,20,18,19,20,42,16,12,11,0,20,21,18,20,21,18,42,15,17,18,0,19,22,23,19,22,23,42,18,16,15,0,23,20,19,23,20,19,42,19,20,16,0,24,25,20,24,25,20,42,16,18,19,0,20,23,24,20,23,24,42,20,13,12,0,25,26,21,25,26,21,42,12,16,20,0,21,20,25,21,20,25,42,17,21,22,0,9,10,11,27,28,29,42,22,18,17,0,11,12,9,29,30,27,42,21,23,24,0,10,13,14,28,31,32,42,24,22,21,0,14,11,10,32,29,28,42,25,26,22,0,15,16,11,33,34,29,42,22,24,25,0,11,14,15,29,32,33,42,26,19,18,0,16,17,12,34,35,30,42,18,22,26,0,12,11,16,30,29,34,42,23,27,28,0,0,1,2,36,37,38,42,28,24,23,0,2,3,0,38,39,36,42,27,29,30,0,1,4,5,37,40,41,42,30,28,27,0,5,2,1,41,38,37,42,31,32,28,0,6,7,2,42,43,38,42,28,30,31,0,2,5,6,38,41,42,42,32,25,24,0,7,8,3,43,44,39,42,24,28,32,0,3,2,7,39,38,43,42,29,33,34,0,27,28,29,45,46,47,42,34,30,29,0,29,30,27,47,48,45,42,33,0,3,0,28,31,32,46,49,50,42,3,34,33,0,32,29,28,50,47,46,42,8,35,34,0,33,34,29,51,52,47,42,34,3,8,0,29,32,33,47,50,51,42,35,31,30,0,34,35,30,52,53,48,42,30,34,35,0,30,29,34,48,47,52,42,8,7,36,0,0,1,2,8,7,54,42,36,37,8,0,2,3,0,54,55,8,42,7,6,38,0,1,4,5,7,6,56,42,38,36,7,0,5,2,1,56,54,7,42,39,40,36,0,6,7,2,57,58,54,42,36,38,39,0,2,5,6,54,56,57,42,40,41,37,0,7,8,3,58,59,55,42,37,36,40,0,3,2,7,55,54,58,42,6,14,42,0,9,10,11,17,16,60,42,42,38,6,0,11,12,9,60,61,17,42,14,13,43,0,10,13,14,16,15,62,42,43,42,14,0,14,11,10,62,60,16,42,44,45,42,0,15,16,11,63,64,60,42,42,43,44,0,11,14,15,60,62,63,42,45,39,38,0,16,17,12,64,65,61,42,38,42,45,0,12,11,16,61,60,64,42,13,20,46,0,18,19,20,26,25,66,42,46,43,13,0,20,21,18,66,67,26,42,20,19,47,0,19,22,23,25,24,68,42,47,46,20,0,23,20,19,68,66,25,42,48,49,46,0,24,25,20,69,69,66,42,46,47,48,0,20,23,24,66,68,69,42,49,44,43,0,25,26,21,69,66,67,42,43,46,49,0,21,20,25,67,66,69,42,19,26,50,0,9,10,11,35,34,70,42,50,47,19,0,11,12,9,70,71,35,42,26,25,51,0,10,13,14,34,33,72,42,51,50,26,0,14,11,10,72,70,34,42,52,53,50,0,15,16,11,73,74,70,42,50,51,52,0,11,14,15,70,72,73,42,53,48,47,0,16,17,12,74,75,71,42,47,50,53,0,12,11,16,71,70,74,42,25,32,54,0,0,1,2,44,43,76,42,54,51,25,0,2,3,0,76,77,44,42,32,31,55,0,1,4,5,43,42,78,42,55,54,32,0,5,2,1,78,76,43,42,56,57,54,0,6,7,2,79,80,76,42,54,55,56,0,2,5,6,76,78,79,42,57,52,51,0,7,8,3,80,81,77,42,51,54,57,0,3,2,7,77,76,80,42,31,35,58,0,27,28,29,53,52,82,42,58,55,31,0,29,30,27,82,83,53,42,35,8,37,0,28,31,32,52,51,84,42,37,58,35,0,32,29,28,84,82,52,42,41,59,58,0,33,34,29,82,82,82,42,58,37,41,0,29,32,33,82,84,82,42,59,56,55,0,34,35,30,82,82,83,42,55,58,59,0,30,29,34,83,82,82,42,41,40,60,0,0,1,2,59,58,85,42,60,61,41,0,2,3,0,85,86,59,42,40,39,62,0,1,4,5,58,57,87,42,62,60,40,0,5,2,1,87,85,58,42,63,64,60,0,6,7,2,88,89,85,42,60,62,63,0,2,5,6,85,87,88,42,64,65,61,0,7,8,3,89,90,86,42,61,60,64,0,3,2,7,86,85,89,42,39,45,66,0,9,10,11,65,64,91,42,66,62,39,0,11,12,9,91,92,65,42,45,44,67,0,10,13,14,64,63,93,42,67,66,45,0,14,11,10,93,91,64,42,68,69,66,0,15,16,11,94,95,91,42,66,67,68,0,11,14,15,91,93,94,42,69,63,62,0,16,17,12,95,96,92,42,62,66,69,0,12,11,16,92,91,95,42,44,49,70,0,18,19,20,66,69,97,42,70,67,44,0,20,21,18,97,98,66,42,49,48,71,0,19,22,23,69,69,99,42,71,70,49,0,23,20,19,99,97,69,42,72,73,70,0,24,25,20,100,101,97,42,70,71,72,0,20,23,24,97,99,100,42,73,68,67,0,25,26,21,101,102,98,42,67,70,73,0,21,20,25,98,97,101,42,48,53,74,0,9,10,11,75,74,103,42,74,71,48,0,11,12,9,103,104,75,42,53,52,75,0,10,13,14,74,73,105,42,75,74,53,0,14,11,10,105,103,74,42,76,77,74,0,15,16,11,106,107,103,42,74,75,76,0,11,14,15,103,105,106,42,77,72,71,0,16,17,12,107,108,104,42,71,74,77,0,12,11,16,104,103,107,42,52,57,78,0,0,1,2,81,80,109,42,78,75,52,0,2,3,0,109,110,81,42,57,56,79,0,1,4,5,80,79,111,42,79,78,57,0,5,2,1,111,109,80,42,80,81,78,0,6,7,2,112,113,109,42,78,79,80,0,2,5,6,109,111,112,42,81,76,75,0,7,8,3,113,114,110,42,75,78,81,0,3,2,7,110,109,113,42,56,59,82,0,27,28,29,82,82,115,42,82,79,56,0,29,30,27,115,116,82,42,59,41,61,0,28,31,32,82,82,117,42,61,82,59,0,32,29,28,117,115,82,42,65,83,82,0,33,34,29,118,119,115,42,82,61,65,0,29,32,33,115,117,118,42,83,80,79,0,34,35,30,119,120,116,42,79,82,83,0,30,29,34,116,115,119,42,65,64,84,0,0,1,2,90,89,121,42,84,85,65,0,2,3,0,121,122,90,42,64,63,86,0,1,4,5,89,88,123,42,86,84,64,0,5,2,1,123,121,89,42,87,88,84,0,6,7,2,124,125,121,42,84,86,87,0,2,5,6,121,123,124,42,88,89,85,0,7,8,3,125,126,122,42,85,84,88,0,3,2,7,122,121,125,42,63,69,90,0,9,10,11,96,95,127,42,90,86,63,0,11,12,9,127,128,96,42,69,68,91,0,10,13,14,95,94,129,42,91,90,69,0,14,11,10,129,127,95,42,92,93,90,0,15,16,11,130,131,127,42,90,91,92,0,11,14,15,127,129,130,42,93,87,86,0,16,17,12,131,132,128,42,86,90,93,0,12,11,16,128,127,131,42,68,73,94,0,18,19,20,102,101,133,42,94,91,68,0,20,21,18,133,134,102,42,73,72,95,0,19,22,23,101,100,135,42,95,94,73,0,23,20,19,135,133,101,42,96,97,94,0,24,25,20,136,137,133,42,94,95,96,0,20,23,24,133,135,136,42,97,92,91,0,25,26,21,137,138,134,42,91,94,97,0,21,20,25,134,133,137,42,72,77,98,0,9,10,11,108,107,139,42,98,95,72,0,11,12,9,139,140,108,42,77,76,99,0,10,13,14,107,106,141,42,99,98,77,0,14,11,10,141,139,107,42,100,101,98,0,15,16,11,142,143,139,42,98,99,100,0,11,14,15,139,141,142,42,101,96,95,0,16,17,12,143,144,140,42,95,98,101,0,12,11,16,140,139,143,42,76,81,102,0,0,1,2,114,113,145,42,102,99,76,0,2,3,0,145,146,114,42,81,80,103,0,1,4,5,113,112,147,42,103,102,81,0,5,2,1,147,145,113,42,104,105,102,0,6,7,2,148,149,145,42,102,103,104,0,2,5,6,145,147,148,42,105,100,99,0,7,8,3,149,150,146,42,99,102,105,0,3,2,7,146,145,149,42,80,83,106,0,27,28,29,120,119,151,42,106,103,80,0,29,30,27,151,152,120,42,83,65,85,0,28,31,32,119,118,153,42,85,106,83,0,32,29,28,153,151,119,42,89,107,106,0,33,34,29,154,155,151,42,106,85,89,0,29,32,33,151,153,154,42,107,104,103,0,34,35,30,155,156,152,42,103,106,107,0,30,29,34,152,151,155,42,89,88,108,0,0,1,2,126,125,157,42,108,109,89,0,2,3,0,157,158,126,42,88,87,110,0,1,4,5,125,124,159,42,110,108,88,0,5,2,1,159,157,125,42,111,112,108,0,6,7,2,160,161,157,42,108,110,111,0,2,5,6,157,159,160,42,112,113,109,0,7,8,3,161,162,158,42,109,108,112,0,3,2,7,158,157,161,42,87,93,114,0,9,10,11,132,131,163,42,114,110,87,0,11,12,9,163,164,132,42,93,92,115,0,10,13,14,131,130,165,42,115,114,93,0,14,11,10,165,163,131,42,116,117,114,0,15,16,11,166,167,163,42,114,115,116,0,11,14,15,163,165,166,42,117,111,110,0,16,17,12,167,168,164,42,110,114,117,0,12,11,16,164,163,167,42,92,97,118,0,18,19,20,138,137,169,42,118,115,92,0,20,21,18,169,170,138,42,97,96,119,0,19,22,23,137,136,171,42,119,118,97,0,23,20,19,171,169,137,42,120,121,118,0,24,25,20,172,173,169,42,118,119,120,0,20,23,24,169,171,172,42,121,116,115,0,25,26,21,173,174,170,42,115,118,121,0,21,20,25,170,169,173,42,96,101,122,0,9,10,11,144,143,175,42,122,119,96,0,11,12,9,175,176,144,42,101,100,123,0,10,13,14,143,142,177,42,123,122,101,0,14,11,10,177,175,143,42,124,125,122,0,15,16,11,178,179,175,42,122,123,124,0,11,14,15,175,177,178,42,125,120,119,0,16,17,12,179,180,176,42,119,122,125,0,12,11,16,176,175,179,42,100,105,126,0,0,1,2,150,149,181,42,126,123,100,0,2,3,0,181,182,150,42,105,104,127,0,1,4,5,149,148,183,42,127,126,105,0,5,2,1,183,181,149,42,128,129,126,0,6,7,2,184,185,181,42,126,127,128,0,2,5,6,181,183,184,42,129,124,123,0,7,8,3,185,186,182,42,123,126,129,0,3,2,7,182,181,185,42,104,107,130,0,27,28,29,156,155,187,42,130,127,104,0,29,30,27,187,188,156,42,107,89,109,0,28,31,32,155,154,189,42,109,130,107,0,32,29,28,189,187,155,42,113,131,130,0,33,34,29,190,191,187,42,130,109,113,0,29,32,33,187,189,190,42,131,128,127,0,34,35,30,191,192,188,42,127,130,131,0,30,29,34,188,187,191,42,113,112,132,0,0,1,2,162,161,193,42,132,133,113,0,2,3,0,193,194,162,42,112,111,134,0,1,4,5,161,160,195,42,134,132,112,0,5,2,1,195,193,161,42,135,136,132,0,6,7,2,196,197,193,42,132,134,135,0,2,5,6,193,195,196,42,136,137,133,0,7,8,3,197,198,194,42,133,132,136,0,3,2,7,194,193,197,42,111,117,138,0,9,10,11,168,167,199,42,138,134,111,0,11,12,9,199,200,168,42,117,116,139,0,10,13,14,167,166,201,42,139,138,117,0,14,11,10,201,199,167,42,140,141,138,0,15,16,11,202,203,199,42,138,139,140,0,11,14,15,199,201,202,42,141,135,134,0,16,17,12,203,204,200,42,134,138,141,0,12,11,16,200,199,203,42,116,121,142,0,18,19,20,174,173,205,42,142,139,116,0,20,21,18,205,206,174,42,121,120,143,0,19,22,23,173,172,207,42,143,142,121,0,23,20,19,207,205,173,42,144,145,142,0,24,25,20,208,209,205,42,142,143,144,0,20,23,24,205,207,208,42,145,140,139,0,25,26,21,209,210,206,42,139,142,145,0,21,20,25,206,205,209,42,120,125,146,0,9,10,11,180,179,211,42,146,143,120,0,11,12,9,211,212,180,42,125,124,147,0,10,13,14,179,178,213,42,147,146,125,0,14,11,10,213,211,179,42,148,149,146,0,15,16,11,214,215,211,42,146,147,148,0,11,14,15,211,213,214,42,149,144,143,0,16,17,12,215,216,212,42,143,146,149,0,12,11,16,212,211,215,42,124,129,150,0,0,1,2,186,185,217,42,150,147,124,0,2,3,0,217,218,186,42,129,128,151,0,1,4,5,185,184,219,42,151,150,129,0,5,2,1,219,217,185,42,152,153,150,0,6,7,2,220,221,217,42,150,151,152,0,2,5,6,217,219,220,42,153,148,147,0,7,8,3,221,222,218,42,147,150,153,0,3,2,7,218,217,221,42,128,131,154,0,27,28,29,192,191,223,42,154,151,128,0,29,30,27,223,224,192,42,131,113,133,0,28,31,32,191,190,225,42,133,154,131,0,32,29,28,225,223,191,42,137,155,154,0,33,34,29,226,227,223,42,154,133,137,0,29,32,33,223,225,226,42,155,152,151,0,34,35,30,227,228,224,42,151,154,155,0,30,29,34,224,223,227,42,137,136,156,0,0,1,2,198,197,229,42,156,157,137,0,2,3,0,229,230,198,42,136,135,158,0,1,4,5,197,196,231,42,158,156,136,0,5,2,1,231,229,197,42,159,160,156,0,6,7,2,232,233,229,42,156,158,159,0,2,5,6,229,231,232,42,160,161,157,0,7,8,3,233,234,230,42,157,156,160,0,3,2,7,230,229,233,42,135,141,162,0,9,10,11,204,203,235,42,162,158,135,0,11,12,9,235,236,204,42,141,140,163,0,10,13,14,203,202,237,42,163,162,141,0,14,11,10,237,235,203,42,164,165,162,0,15,16,11,238,239,235,42,162,163,164,0,11,14,15,235,237,238,42,165,159,158,0,16,17,12,239,240,236,42,158,162,165,0,12,11,16,236,235,239,42,140,145,166,0,18,19,20,210,209,241,42,166,163,140,0,20,21,18,241,242,210,42,145,144,167,0,19,22,23,209,208,243,42,167,166,145,0,23,20,19,243,241,209,42,168,169,166,0,24,25,20,244,245,241,42,166,167,168,0,20,23,24,241,243,244,42,169,164,163,0,25,26,21,245,246,242,42,163,166,169,0,21,20,25,242,241,245,42,144,149,170,0,9,10,11,216,215,247,42,170,167,144,0,11,12,9,247,248,216,42,149,148,171,0,10,13,14,215,214,249,42,171,170,149,0,14,11,10,249,247,215,42,172,173,170,0,15,16,11,250,251,247,42,170,171,172,0,11,14,15,247,249,250,42,173,168,167,0,16,17,12,251,252,248,42,167,170,173,0,12,11,16,248,247,251,42,148,153,174,0,0,1,2,222,221,253,42,174,171,148,0,2,3,0,253,254,222,42,153,152,175,0,1,4,5,221,220,255,42,175,174,153,0,5,2,1,255,253,221,42,176,177,174,0,6,7,2,256,257,253,42,174,175,176,0,2,5,6,253,255,256,42,177,172,171,0,7,8,3,257,258,254,42,171,174,177,0,3,2,7,254,253,257,42,152,155,178,0,27,28,29,228,227,259,42,178,175,152,0,29,30,27,259,260,228,42,155,137,157,0,28,31,32,227,226,261,42,157,178,155,0,32,29,28,261,259,227,42,161,179,178,0,33,34,29,262,263,259,42,178,157,161,0,29,32,33,259,261,262,42,179,176,175,0,34,35,30,263,264,260,42,175,178,179,0,30,29,34,260,259,263,42,161,160,180,0,0,1,2,234,233,265,42,180,181,161,0,2,3,0,265,266,234,42,160,159,182,0,1,4,5,233,232,267,42,182,180,160,0,5,2,1,267,265,233,42,183,184,180,0,6,7,2,268,269,265,42,180,182,183,0,2,5,6,265,267,268,42,184,185,181,0,7,8,3,269,270,266,42,181,180,184,0,3,2,7,266,265,269,42,159,165,186,0,9,10,11,240,239,271,42,186,182,159,0,11,12,9,271,272,240,42,165,164,187,0,10,13,14,239,238,273,42,187,186,165,0,14,11,10,273,271,239,42,188,189,186,0,15,16,11,274,275,271,42,186,187,188,0,11,14,15,271,273,274,42,189,183,182,0,16,17,12,275,276,272,42,182,186,189,0,12,11,16,272,271,275,42,164,169,190,0,18,19,20,246,245,277,42,190,187,164,0,20,21,18,277,278,246,42,169,168,191,0,19,22,23,245,244,279,42,191,190,169,0,23,20,19,279,277,245,42,192,193,190,0,24,25,20,280,281,277,42,190,191,192,0,20,23,24,277,279,280,42,193,188,187,0,25,26,21,281,282,278,42,187,190,193,0,21,20,25,278,277,281,42,168,173,194,0,9,10,11,252,251,283,42,194,191,168,0,11,12,9,283,284,252,42,173,172,195,0,10,13,14,251,250,285,42,195,194,173,0,14,11,10,285,283,251,42,196,197,194,0,15,16,11,286,287,283,42,194,195,196,0,11,14,15,283,285,286,42,197,192,191,0,16,17,12,287,288,284,42,191,194,197,0,12,11,16,284,283,287,42,172,177,198,0,0,1,2,258,257,289,42,198,195,172,0,2,3,0,289,290,258,42,177,176,199,0,1,4,5,257,256,291,42,199,198,177,0,5,2,1,291,289,257,42,200,201,198,0,6,7,2,292,293,289,42,198,199,200,0,2,5,6,289,291,292,42,201,196,195,0,7,8,3,293,294,290,42,195,198,201,0,3,2,7,290,289,293,42,176,179,202,0,27,28,29,264,263,295,42,202,199,176,0,29,30,27,295,296,264,42,179,161,181,0,28,31,32,263,262,297,42,181,202,179,0,32,29,28,297,295,263,42,185,203,202,0,33,34,29,298,299,295,42,202,181,185,0,29,32,33,295,297,298,42,203,200,199,0,34,35,30,299,300,296,42,199,202,203,0,30,29,34,296,295,299,42,185,184,204,0,0,1,2,270,269,301,42,204,205,185,0,2,3,0,301,302,270,42,184,183,206,0,1,4,5,269,268,303,42,206,204,184,0,5,2,1,303,301,269,42,207,208,204,0,6,7,2,304,305,301,42,204,206,207,0,2,5,6,301,303,304,42,208,209,205,0,7,8,3,305,306,302,42,205,204,208,0,3,2,7,302,301,305,42,183,189,210,0,9,10,11,276,275,307,42,210,206,183,0,11,12,9,307,308,276,42,189,188,211,0,10,13,14,275,274,309,42,211,210,189,0,14,11,10,309,307,275,42,212,213,210,0,15,16,11,310,311,307,42,210,211,212,0,11,14,15,307,309,310,42,213,207,206,0,16,17,12,311,312,308,42,206,210,213,0,12,11,16,308,307,311,42,188,193,214,0,18,19,20,282,281,313,42,214,211,188,0,20,21,18,313,314,282,42,193,192,215,0,19,22,23,281,280,315,42,215,214,193,0,23,20,19,315,313,281,42,216,217,214,0,24,25,20,316,317,313,42,214,215,216,0,20,23,24,313,315,316,42,217,212,211,0,25,26,21,317,318,314,42,211,214,217,0,21,20,25,314,313,317,42,192,197,218,0,9,10,11,288,287,319,42,218,215,192,0,11,12,9,319,320,288,42,197,196,219,0,10,13,14,287,286,321,42,219,218,197,0,14,11,10,321,319,287,42,220,221,218,0,15,16,11,322,323,319,42,218,219,220,0,11,14,15,319,321,322,42,221,216,215,0,16,17,12,323,324,320,42,215,218,221,0,12,11,16,320,319,323,42,196,201,222,0,0,1,2,294,293,325,42,222,219,196,0,2,3,0,325,326,294,42,201,200,223,0,1,4,5,293,292,327,42,223,222,201,0,5,2,1,327,325,293,42,224,225,222,0,6,7,2,328,329,325,42,222,223,224,0,2,5,6,325,327,328,42,225,220,219,0,7,8,3,329,330,326,42,219,222,225,0,3,2,7,326,325,329,42,200,203,226,0,27,28,29,300,299,331,42,226,223,200,0,29,30,27,331,332,300,42,203,185,205,0,28,31,32,299,298,333,42,205,226,203,0,32,29,28,333,331,299,42,209,227,226,0,33,34,29,334,335,331,42,226,205,209,0,29,32,33,331,333,334,42,227,224,223,0,34,35,30,335,336,332,42,223,226,227,0,30,29,34,332,331,335,42,209,208,228,0,0,1,2,306,305,337,42,228,229,209,0,2,3,0,337,338,306,42,208,207,230,0,1,4,5,305,304,339,42,230,228,208,0,5,2,1,339,337,305,42,231,232,228,0,6,7,2,340,341,337,42,228,230,231,0,2,5,6,337,339,340,42,232,233,229,0,7,8,3,341,342,338,42,229,228,232,0,3,2,7,338,337,341,42,207,213,234,0,9,10,11,312,311,343,42,234,230,207,0,11,12,9,343,344,312,42,213,212,235,0,10,13,14,311,310,345,42,235,234,213,0,14,11,10,345,343,311,42,236,237,234,0,15,16,11,346,347,343,42,234,235,236,0,11,14,15,343,345,346,42,237,231,230,0,16,17,12,347,348,344,42,230,234,237,0,12,11,16,344,343,347,42,212,217,238,0,18,19,20,318,317,349,42,238,235,212,0,20,21,18,349,350,318,42,217,216,239,0,19,22,23,317,316,351,42,239,238,217,0,23,20,19,351,349,317,42,240,241,238,0,24,25,20,352,353,349,42,238,239,240,0,20,23,24,349,351,352,42,241,236,235,0,25,26,21,353,354,350,42,235,238,241,0,21,20,25,350,349,353,42,216,221,242,0,9,10,11,324,323,355,42,242,239,216,0,11,12,9,355,356,324,42,221,220,243,0,10,13,14,323,322,357,42,243,242,221,0,14,11,10,357,355,323,42,244,245,242,0,15,16,11,358,359,355,42,242,243,244,0,11,14,15,355,357,358,42,245,240,239,0,16,17,12,359,360,356,42,239,242,245,0,12,11,16,356,355,359,42,220,225,246,0,0,1,2,330,329,361,42,246,243,220,0,2,3,0,361,362,330,42,225,224,247,0,1,4,5,329,328,363,42,247,246,225,0,5,2,1,363,361,329,42,248,249,246,0,6,7,2,364,365,361,42,246,247,248,0,2,5,6,361,363,364,42,249,244,243,0,7,8,3,365,366,362,42,243,246,249,0,3,2,7,362,361,365,42,224,227,250,0,27,28,29,336,335,367,42,250,247,224,0,29,30,27,367,368,336,42,227,209,229,0,28,31,32,335,334,369,42,229,250,227,0,32,29,28,369,367,335,42,233,251,250,0,33,34,29,370,371,367,42,250,229,233,0,29,32,33,367,369,370,42,251,248,247,0,34,35,30,371,372,368,42,247,250,251,0,30,29,34,368,367,371,42,233,232,252,0,0,1,2,342,341,373,42,252,253,233,0,2,3,0,373,374,342,42,232,231,254,0,1,4,5,341,340,375,42,254,252,232,0,5,2,1,375,373,341,42,255,256,252,0,6,7,2,376,377,373,42,252,254,255,0,2,5,6,373,375,376,42,256,257,253,0,7,8,3,377,378,374,42,253,252,256,0,3,2,7,374,373,377,42,231,237,258,0,9,10,11,348,347,379,42,258,254,231,0,11,12,9,379,380,348,42,237,236,259,0,10,13,14,347,346,381,42,259,258,237,0,14,11,10,381,379,347,42,260,261,258,0,15,16,11,382,383,379,42,258,259,260,0,11,14,15,379,381,382,42,261,255,254,0,16,17,12,383,384,380,42,254,258,261,0,12,11,16,380,379,383,42,236,241,262,0,18,19,20,354,353,385,42,262,259,236,0,20,21,18,385,386,354,42,241,240,263,0,19,22,23,353,352,387,42,263,262,241,0,23,20,19,387,385,353,42,264,265,262,0,24,25,20,388,389,385,42,262,263,264,0,20,23,24,385,387,388,42,265,260,259,0,25,26,21,389,390,386,42,259,262,265,0,21,20,25,386,385,389,42,240,245,266,0,9,10,11,360,359,391,42,266,263,240,0,11,12,9,391,392,360,42,245,244,267,0,10,13,14,359,358,393,42,267,266,245,0,14,11,10,393,391,359,42,268,269,266,0,15,16,11,394,395,391,42,266,267,268,0,11,14,15,391,393,394,42,269,264,263,0,16,17,12,395,396,392,42,263,266,269,0,12,11,16,392,391,395,42,244,249,270,0,0,1,2,366,365,397,42,270,267,244,0,2,3,0,397,398,366,42,249,248,271,0,1,4,5,365,364,399,42,271,270,249,0,5,2,1,399,397,365,42,272,273,270,0,6,7,2,400,401,397,42,270,271,272,0,2,5,6,397,399,400,42,273,268,267,0,7,8,3,401,402,398,42,267,270,273,0,3,2,7,398,397,401,42,248,251,274,0,27,28,29,372,371,403,42,274,271,248,0,29,30,27,403,404,372,42,251,233,253,0,28,31,32,371,370,405,42,253,274,251,0,32,29,28,405,403,371,42,257,275,274,0,33,34,29,406,407,403,42,274,253,257,0,29,32,33,403,405,406,42,275,272,271,0,34,35,30,407,408,404,42,271,274,275,0,30,29,34,404,403,407,42,257,256,276,0,0,1,2,378,377,409,42,276,277,257,0,2,3,0,409,410,378,42,256,255,278,0,1,4,5,377,376,411,42,278,276,256,0,5,2,1,411,409,377,42,279,280,276,0,6,7,2,412,413,409,42,276,278,279,0,2,5,6,409,411,412,42,280,281,277,0,7,8,3,413,414,410,42,277,276,280,0,3,2,7,410,409,413,42,255,261,282,0,9,10,11,384,383,415,42,282,278,255,0,11,12,9,415,416,384,42,261,260,283,0,10,13,14,383,382,417,42,283,282,261,0,14,11,10,417,415,383,42,284,285,282,0,15,16,11,418,419,415,42,282,283,284,0,11,14,15,415,417,418,42,285,279,278,0,16,17,12,419,420,416,42,278,282,285,0,12,11,16,416,415,419,42,260,265,286,0,18,19,20,390,389,421,42,286,283,260,0,20,21,18,421,422,390,42,265,264,287,0,19,22,23,389,388,423,42,287,286,265,0,23,20,19,423,421,389,42,288,289,286,0,24,25,20,424,425,421,42,286,287,288,0,20,23,24,421,423,424,42,289,284,283,0,25,26,21,425,426,422,42,283,286,289,0,21,20,25,422,421,425,42,264,269,290,0,9,10,11,396,395,427,42,290,287,264,0,11,12,9,427,428,396,42,269,268,291,0,10,13,14,395,394,429,42,291,290,269,0,14,11,10,429,427,395,42,292,293,290,0,15,16,11,430,431,427,42,290,291,292,0,11,14,15,427,429,430,42,293,288,287,0,16,17,12,431,432,428,42,287,290,293,0,12,11,16,428,427,431,42,268,273,294,0,0,1,2,402,401,433,42,294,291,268,0,2,3,0,433,434,402,42,273,272,295,0,1,4,5,401,400,435,42,295,294,273,0,5,2,1,435,433,401,42,296,297,294,0,6,7,2,436,437,433,42,294,295,296,0,2,5,6,433,435,436,42,297,292,291,0,7,8,3,437,438,434,42,291,294,297,0,3,2,7,434,433,437,42,272,275,298,0,27,28,29,408,407,439,42,298,295,272,0,29,30,27,439,440,408,42,275,257,277,0,28,31,32,407,406,441,42,277,298,275,0,32,29,28,441,439,407,42,281,299,298,0,33,34,29,442,443,439,42,298,277,281,0,29,32,33,439,441,442,42,299,296,295,0,34,35,30,443,444,440,42,295,298,299,0,30,29,34,440,439,443,42,281,280,300,0,0,1,2,414,413,445,42,300,301,281,0,2,3,0,445,446,414,42,280,279,302,0,1,4,5,413,412,447,42,302,300,280,0,5,2,1,447,445,413,42,303,304,300,0,6,7,2,448,449,445,42,300,302,303,0,2,5,6,445,447,448,42,304,305,301,0,7,8,3,449,450,446,42,301,300,304,0,3,2,7,446,445,449,42,279,285,306,0,9,10,11,420,419,451,42,306,302,279,0,11,12,9,451,452,420,42,285,284,307,0,10,13,14,419,418,453,42,307,306,285,0,14,11,10,453,451,419,42,308,309,306,0,15,16,11,454,455,451,42,306,307,308,0,11,14,15,451,453,454,42,309,303,302,0,16,17,12,455,456,452,42,302,306,309,0,12,11,16,452,451,455,42,284,289,310,0,18,19,20,426,425,457,42,310,307,284,0,20,21,18,457,458,426,42,289,288,311,0,19,22,23,425,424,459,42,311,310,289,0,23,20,19,459,457,425,42,312,313,310,0,24,25,20,460,461,457,42,310,311,312,0,20,23,24,457,459,460,42,313,308,307,0,25,26,21,461,462,458,42,307,310,313,0,21,20,25,458,457,461,42,288,293,314,0,9,10,11,432,431,463,42,314,311,288,0,11,12,9,463,464,432,42,293,292,315,0,10,13,14,431,430,465,42,315,314,293,0,14,11,10,465,463,431,42,316,317,314,0,15,16,11,466,467,463,42,314,315,316,0,11,14,15,463,465,466,42,317,312,311,0,16,17,12,467,468,464,42,311,314,317,0,12,11,16,464,463,467,42,292,297,318,0,0,1,2,438,437,469,42,318,315,292,0,2,3,0,469,470,438,42,297,296,319,0,1,4,5,437,436,471,42,319,318,297,0,5,2,1,471,469,437,42,320,321,318,0,6,7,2,472,473,469,42,318,319,320,0,2,5,6,469,471,472,42,321,316,315,0,7,8,3,473,474,470,42,315,318,321,0,3,2,7,470,469,473,42,296,299,322,0,27,28,29,444,443,475,42,322,319,296,0,29,30,27,475,476,444,42,299,281,301,0,28,31,32,443,442,477,42,301,322,299,0,32,29,28,477,475,443,42,305,323,322,0,33,34,29,478,479,475,42,322,301,305,0,29,32,33,475,477,478,42,323,320,319,0,34,35,30,479,480,476,42,319,322,323,0,30,29,34,476,475,479,42,305,304,324,0,0,1,2,450,449,481,42,324,325,305,0,2,3,0,481,482,450,42,304,303,326,0,1,4,5,449,448,483,42,326,324,304,0,5,2,1,483,481,449,42,327,328,324,0,6,7,2,484,485,481,42,324,326,327,0,2,5,6,481,483,484,42,328,329,325,0,7,8,3,485,486,482,42,325,324,328,0,3,2,7,482,481,485,42,303,309,330,0,9,10,11,456,455,487,42,330,326,303,0,11,12,9,487,488,456,42,309,308,331,0,10,13,14,455,454,489,42,331,330,309,0,14,11,10,489,487,455,42,332,333,330,0,15,16,11,490,491,487,42,330,331,332,0,11,14,15,487,489,490,42,333,327,326,0,16,17,12,491,492,488,42,326,330,333,0,12,11,16,488,487,491,42,308,313,334,0,18,19,20,462,461,493,42,334,331,308,0,20,21,18,493,494,462,42,313,312,335,0,19,22,23,461,460,495,42,335,334,313,0,23,20,19,495,493,461,42,336,337,334,0,24,25,20,496,497,493,42,334,335,336,0,20,23,24,493,495,496,42,337,332,331,0,25,26,21,497,498,494,42,331,334,337,0,21,20,25,494,493,497,42,312,317,338,0,9,10,11,468,467,499,42,338,335,312,0,11,12,9,499,500,468,42,317,316,339,0,10,13,14,467,466,501,42,339,338,317,0,14,11,10,501,499,467,42,340,341,338,0,15,16,11,502,503,499,42,338,339,340,0,11,14,15,499,501,502,42,341,336,335,0,16,17,12,503,504,500,42,335,338,341,0,12,11,16,500,499,503,42,316,321,342,0,0,1,2,474,473,505,42,342,339,316,0,2,3,0,505,506,474,42,321,320,343,0,1,4,5,473,472,507,42,343,342,321,0,5,2,1,507,505,473,42,344,345,342,0,6,7,2,508,509,505,42,342,343,344,0,2,5,6,505,507,508,42,345,340,339,0,7,8,3,509,510,506,42,339,342,345,0,3,2,7,506,505,509,42,320,323,346,0,27,28,29,480,479,511,42,346,343,320,0,29,30,27,511,512,480,42,323,305,325,0,28,31,32,479,478,513,42,325,346,323,0,32,29,28,513,511,479,42,329,347,346,0,33,34,29,514,515,511,42,346,325,329,0,29,32,33,511,513,514,42,347,344,343,0,34,35,30,515,516,512,42,343,346,347,0,30,29,34,512,511,515,42,329,328,348,0,0,1,2,486,485,517,42,348,349,329,0,2,3,0,517,518,486,42,328,327,350,0,1,4,5,485,484,519,42,350,348,328,0,5,2,1,519,517,485,42,351,352,348,0,6,7,2,520,521,517,42,348,350,351,0,2,5,6,517,519,520,42,352,353,349,0,7,8,3,521,522,518,42,349,348,352,0,3,2,7,518,517,521,42,327,333,354,0,9,10,11,492,491,523,42,354,350,327,0,11,12,9,523,524,492,42,333,332,355,0,10,13,14,491,490,525,42,355,354,333,0,14,11,10,525,523,491,42,356,357,354,0,15,16,11,526,527,523,42,354,355,356,0,11,14,15,523,525,526,42,357,351,350,0,16,17,12,527,528,524,42,350,354,357,0,12,11,16,524,523,527,42,332,337,358,0,18,19,20,498,497,529,42,358,355,332,0,20,21,18,529,530,498,42,337,336,359,0,19,22,23,497,496,531,42,359,358,337,0,23,20,19,531,529,497,42,360,361,358,0,24,25,20,532,533,529,42,358,359,360,0,20,23,24,529,531,532,42,361,356,355,0,25,26,21,533,534,530,42,355,358,361,0,21,20,25,530,529,533,42,336,341,362,0,9,10,11,504,503,535,42,362,359,336,0,11,12,9,535,536,504,42,341,340,363,0,10,13,14,503,502,537,42,363,362,341,0,14,11,10,537,535,503,42,364,365,362,0,15,16,11,538,539,535,42,362,363,364,0,11,14,15,535,537,538,42,365,360,359,0,16,17,12,539,540,536,42,359,362,365,0,12,11,16,536,535,539,42,340,345,366,0,0,1,2,510,509,541,42,366,363,340,0,2,3,0,541,542,510,42,345,344,367,0,1,4,5,509,508,543,42,367,366,345,0,5,2,1,543,541,509,42,368,369,366,0,6,7,2,544,545,541,42,366,367,368,0,2,5,6,541,543,544,42,369,364,363,0,7,8,3,545,546,542,42,363,366,369,0,3,2,7,542,541,545,42,344,347,370,0,27,28,29,516,515,547,42,370,367,344,0,29,30,27,547,548,516,42,347,329,349,0,28,31,32,515,514,549,42,349,370,347,0,32,29,28,549,547,515,42,353,371,370,0,33,34,29,550,551,547,42,370,349,353,0,29,32,33,547,549,550,42,371,368,367,0,34,35,30,551,552,548,42,367,370,371,0,30,29,34,548,547,551,42,353,352,372,0,0,1,2,522,521,553,42,372,373,353,0,2,3,0,553,554,522,42,352,351,374,0,1,4,5,521,520,555,42,374,372,352,0,5,2,1,555,553,521,42,375,376,372,0,6,7,2,556,557,553,42,372,374,375,0,2,5,6,553,555,556,42,376,377,373,0,7,8,3,557,558,554,42,373,372,376,0,3,2,7,554,553,557,42,351,357,378,0,9,10,11,528,527,559,42,378,374,351,0,11,12,9,559,560,528,42,357,356,379,0,10,13,14,527,526,561,42,379,378,357,0,14,11,10,561,559,527,42,380,381,378,0,15,16,11,562,563,559,42,378,379,380,0,11,14,15,559,561,562,42,381,375,374,0,16,17,12,563,564,560,42,374,378,381,0,12,11,16,560,559,563,42,356,361,382,0,18,19,20,534,533,565,42,382,379,356,0,20,21,18,565,566,534,42,361,360,383,0,19,22,23,533,532,567,42,383,382,361,0,23,20,19,567,565,533,42,384,385,382,0,24,25,20,568,569,565,42,382,383,384,0,20,23,24,565,567,568,42,385,380,379,0,25,26,21,569,570,566,42,379,382,385,0,21,20,25,566,565,569,42,360,365,386,0,9,10,11,540,539,571,42,386,383,360,0,11,12,9,571,572,540,42,365,364,387,0,10,13,14,539,538,573,42,387,386,365,0,14,11,10,573,571,539,42,388,389,386,0,15,16,11,574,575,571,42,386,387,388,0,11,14,15,571,573,574,42,389,384,383,0,16,17,12,575,576,572,42,383,386,389,0,12,11,16,572,571,575,42,364,369,390,0,0,1,2,546,545,577,42,390,387,364,0,2,3,0,577,578,546,42,369,368,391,0,1,4,5,545,544,579,42,391,390,369,0,5,2,1,579,577,545,42,392,393,390,0,6,7,2,580,581,577,42,390,391,392,0,2,5,6,577,579,580,42,393,388,387,0,7,8,3,581,582,578,42,387,390,393,0,3,2,7,578,577,581,42,368,371,394,0,27,28,29,552,551,583,42,394,391,368,0,29,30,27,583,584,552,42,371,353,373,0,28,31,32,551,550,585,42,373,394,371,0,32,29,28,585,583,551,42,377,395,394,0,33,34,29,586,587,583,42,394,373,377,0,29,32,33,583,585,586,42,395,392,391,0,34,35,30,587,588,584,42,391,394,395,0,30,29,34,584,583,587,42,377,376,396,0,0,1,2,558,557,589,42,396,397,377,0,2,3,0,589,590,558,42,376,375,398,0,1,4,5,557,556,591,42,398,396,376,0,5,2,1,591,589,557,42,399,400,396,0,6,7,2,592,593,589,42,396,398,399,0,2,5,6,589,591,592,42,400,401,397,0,7,8,3,593,594,590,42,397,396,400,0,3,2,7,590,589,593,42,375,381,402,0,9,10,11,564,563,595,42,402,398,375,0,11,12,9,595,596,564,42,381,380,403,0,10,13,14,563,562,597,42,403,402,381,0,14,11,10,597,595,563,42,404,405,402,0,15,16,11,598,599,595,42,402,403,404,0,11,14,15,595,597,598,42,405,399,398,0,16,17,12,599,600,596,42,398,402,405,0,12,11,16,596,595,599,42,380,385,406,0,18,19,20,570,569,601,42,406,403,380,0,20,21,18,601,602,570,42,385,384,407,0,19,22,23,569,568,603,42,407,406,385,0,23,20,19,603,601,569,42,408,409,406,0,24,25,20,604,605,601,42,406,407,408,0,20,23,24,601,603,604,42,409,404,403,0,25,26,21,605,606,602,42,403,406,409,0,21,20,25,602,601,605,42,384,389,410,0,9,10,11,576,575,607,42,410,407,384,0,11,12,9,607,608,576,42,389,388,411,0,10,13,14,575,574,609,42,411,410,389,0,14,11,10,609,607,575,42,412,413,410,0,15,16,11,610,611,607,42,410,411,412,0,11,14,15,607,609,610,42,413,408,407,0,16,17,12,611,612,608,42,407,410,413,0,12,11,16,608,607,611,42,388,393,414,0,0,1,2,582,581,613,42,414,411,388,0,2,3,0,613,614,582,42,393,392,415,0,1,4,5,581,580,615,42,415,414,393,0,5,2,1,615,613,581,42,416,417,414,0,6,7,2,616,617,613,42,414,415,416,0,2,5,6,613,615,616,42,417,412,411,0,7,8,3,617,618,614,42,411,414,417,0,3,2,7,614,613,617,42,392,395,418,0,27,28,29,588,587,619,42,418,415,392,0,29,30,27,619,620,588,42,395,377,397,0,28,31,32,587,586,621,42,397,418,395,0,32,29,28,621,619,587,42,401,419,418,0,33,34,29,622,623,619,42,418,397,401,0,29,32,33,619,621,622,42,419,416,415,0,34,35,30,623,624,620,42,415,418,419,0,30,29,34,620,619,623,42,401,400,420,0,0,1,2,594,593,625,42,420,421,401,0,2,3,0,625,626,594,42,400,399,422,0,1,4,5,593,592,627,42,422,420,400,0,5,2,1,627,625,593,42,423,424,420,0,6,7,2,628,629,625,42,420,422,423,0,2,5,6,625,627,628,42,424,425,421,0,7,8,3,629,630,626,42,421,420,424,0,3,2,7,626,625,629,42,399,405,426,0,9,10,11,600,599,631,42,426,422,399,0,11,12,9,631,632,600,42,405,404,427,0,10,13,14,599,598,633,42,427,426,405,0,14,11,10,633,631,599,42,428,429,426,0,15,16,11,634,635,631,42,426,427,428,0,11,14,15,631,633,634,42,429,423,422,0,16,17,12,635,636,632,42,422,426,429,0,12,11,16,632,631,635,42,404,409,430,0,18,19,20,606,605,637,42,430,427,404,0,20,21,18,637,638,606,42,409,408,431,0,19,22,23,605,604,639,42,431,430,409,0,23,20,19,639,637,605,42,432,433,430,0,24,25,20,640,641,637,42,430,431,432,0,20,23,24,637,639,640,42,433,428,427,0,25,26,21,641,642,638,42,427,430,433,0,21,20,25,638,637,641,42,408,413,434,0,9,10,11,612,611,643,42,434,431,408,0,11,12,9,643,644,612,42,413,412,435,0,10,13,14,611,610,645,42,435,434,413,0,14,11,10,645,643,611,42,436,437,434,0,15,16,11,646,647,643,42,434,435,436,0,11,14,15,643,645,646,42,437,432,431,0,16,17,12,647,648,644,42,431,434,437,0,12,11,16,644,643,647,42,412,417,438,0,0,1,2,618,617,649,42,438,435,412,0,2,3,0,649,650,618,42,417,416,439,0,1,4,5,617,616,651,42,439,438,417,0,5,2,1,651,649,617,42,440,441,438,0,6,7,2,652,653,649,42,438,439,440,0,2,5,6,649,651,652,42,441,436,435,0,7,8,3,653,654,650,42,435,438,441,0,3,2,7,650,649,653,42,416,419,442,0,27,28,29,624,623,655,42,442,439,416,0,29,30,27,655,656,624,42,419,401,421,0,28,31,32,623,622,657,42,421,442,419,0,32,29,28,657,655,623,42,425,443,442,0,33,34,29,658,659,655,42,442,421,425,0,29,32,33,655,657,658,42,443,440,439,0,34,35,30,659,660,656,42,439,442,443,0,30,29,34,656,655,659,42,425,424,444,0,0,1,2,630,629,661,42,444,445,425,0,2,3,0,661,662,630,42,424,423,446,0,1,4,5,629,628,663,42,446,444,424,0,5,2,1,663,661,629,42,447,448,444,0,6,7,2,664,665,661,42,444,446,447,0,2,5,6,661,663,664,42,448,449,445,0,7,8,3,665,666,662,42,445,444,448,0,3,2,7,662,661,665,42,423,429,450,0,9,10,11,636,635,667,42,450,446,423,0,11,12,9,667,668,636,42,429,428,451,0,10,13,14,635,634,669,42,451,450,429,0,14,11,10,669,667,635,42,452,453,450,0,15,16,11,670,671,667,42,450,451,452,0,11,14,15,667,669,670,42,453,447,446,0,16,17,12,671,672,668,42,446,450,453,0,12,11,16,668,667,671,42,428,433,454,0,18,19,20,642,641,673,42,454,451,428,0,20,21,18,673,674,642,42,433,432,455,0,19,22,23,641,640,675,42,455,454,433,0,23,20,19,675,673,641,42,456,457,454,0,24,25,20,676,677,673,42,454,455,456,0,20,23,24,673,675,676,42,457,452,451,0,25,26,21,677,678,674,42,451,454,457,0,21,20,25,674,673,677,42,432,437,458,0,9,10,11,648,647,679,42,458,455,432,0,11,12,9,679,680,648,42,437,436,459,0,10,13,14,647,646,681,42,459,458,437,0,14,11,10,681,679,647,42,460,461,458,0,15,16,11,682,683,679,42,458,459,460,0,11,14,15,679,681,682,42,461,456,455,0,16,17,12,683,684,680,42,455,458,461,0,12,11,16,680,679,683,42,436,441,462,0,0,1,2,654,653,685,42,462,459,436,0,2,3,0,685,686,654,42,441,440,463,0,1,4,5,653,652,687,42,463,462,441,0,5,2,1,687,685,653,42,464,465,462,0,6,7,2,688,689,685,42,462,463,464,0,2,5,6,685,687,688,42,465,460,459,0,7,8,3,689,690,686,42,459,462,465,0,3,2,7,686,685,689,42,440,443,466,0,27,28,29,660,659,691,42,466,463,440,0,29,30,27,691,692,660,42,443,425,445,0,28,31,32,659,658,693,42,445,466,443,0,32,29,28,693,691,659,42,449,467,466,0,33,34,29,694,695,691,42,466,445,449,0,29,32,33,691,693,694,42,467,464,463,0,34,35,30,695,696,692,42,463,466,467,0,30,29,34,692,691,695,42,449,448,468,0,0,1,2,666,665,697,42,468,469,449,0,2,3,0,697,698,666,42,448,447,470,0,1,4,5,665,664,699,42,470,468,448,0,5,2,1,699,697,665,42,471,472,468,0,6,7,2,700,701,697,42,468,470,471,0,2,5,6,697,699,700,42,472,473,469,0,7,8,3,701,702,698,42,469,468,472,0,3,2,7,698,697,701,42,447,453,474,0,9,10,11,672,671,703,42,474,470,447,0,11,12,9,703,704,672,42,453,452,475,0,10,13,14,671,670,705,42,475,474,453,0,14,11,10,705,703,671,42,476,477,474,0,15,16,11,706,707,703,42,474,475,476,0,11,14,15,703,705,706,42,477,471,470,0,16,17,12,707,708,704,42,470,474,477,0,12,11,16,704,703,707,42,452,457,478,0,18,19,20,678,677,709,42,478,475,452,0,20,21,18,709,710,678,42,457,456,479,0,19,22,23,677,676,711,42,479,478,457,0,23,20,19,711,709,677,42,480,481,478,0,24,25,20,712,713,709,42,478,479,480,0,20,23,24,709,711,712,42,481,476,475,0,25,26,21,713,714,710,42,475,478,481,0,21,20,25,710,709,713,42,456,461,482,0,9,10,11,684,683,715,42,482,479,456,0,11,12,9,715,716,684,42,461,460,483,0,10,13,14,683,682,717,42,483,482,461,0,14,11,10,717,715,683,42,484,485,482,0,15,16,11,718,719,715,42,482,483,484,0,11,14,15,715,717,718,42,485,480,479,0,16,17,12,719,720,716,42,479,482,485,0,12,11,16,716,715,719,42,460,465,486,0,0,1,2,690,689,721,42,486,483,460,0,2,3,0,721,722,690,42,465,464,487,0,1,4,5,689,688,723,42,487,486,465,0,5,2,1,723,721,689,42,488,489,486,0,6,7,2,724,725,721,42,486,487,488,0,2,5,6,721,723,724,42,489,484,483,0,7,8,3,725,726,722,42,483,486,489,0,3,2,7,722,721,725,42,464,467,490,0,27,28,29,696,695,727,42,490,487,464,0,29,30,27,727,728,696,42,467,449,469,0,28,31,32,695,694,729,42,469,490,467,0,32,29,28,729,727,695,42,473,491,490,0,33,34,29,730,731,727,42,490,469,473,0,29,32,33,727,729,730,42,491,488,487,0,34,35,30,731,732,728,42,487,490,491,0,30,29,34,728,727,731,42,473,472,492,0,0,1,2,702,701,733,42,492,493,473,0,2,3,0,733,734,702,42,472,471,494,0,1,4,5,701,700,735,42,494,492,472,0,5,2,1,735,733,701,42,495,496,492,0,6,7,2,736,737,733,42,492,494,495,0,2,5,6,733,735,736,42,496,497,493,0,7,8,3,737,738,734,42,493,492,496,0,3,2,7,734,733,737,42,471,477,498,0,9,10,11,708,707,739,42,498,494,471,0,11,12,9,739,740,708,42,477,476,499,0,10,13,14,707,706,741,42,499,498,477,0,14,11,10,741,739,707,42,500,501,498,0,15,16,11,742,743,739,42,498,499,500,0,11,14,15,739,741,742,42,501,495,494,0,16,17,12,743,744,740,42,494,498,501,0,12,11,16,740,739,743,42,476,481,502,0,18,19,20,714,713,745,42,502,499,476,0,20,21,18,745,746,714,42,481,480,503,0,19,22,23,713,712,747,42,503,502,481,0,23,20,19,747,745,713,42,504,505,502,0,24,25,20,748,749,745,42,502,503,504,0,20,23,24,745,747,748,42,505,500,499,0,25,26,21,749,750,746,42,499,502,505,0,21,20,25,746,745,749,42,480,485,506,0,9,10,11,720,719,751,42,506,503,480,0,11,12,9,751,752,720,42,485,484,507,0,10,13,14,719,718,753,42,507,506,485,0,14,11,10,753,751,719,42,508,509,506,0,15,16,11,754,755,751,42,506,507,508,0,11,14,15,751,753,754,42,509,504,503,0,16,17,12,755,756,752,42,503,506,509,0,12,11,16,752,751,755,42,484,489,510,0,0,1,2,726,725,757,42,510,507,484,0,2,3,0,757,758,726,42,489,488,511,0,1,4,5,725,724,759,42,511,510,489,0,5,2,1,759,757,725,42,512,513,510,0,6,7,2,760,761,757,42,510,511,512,0,2,5,6,757,759,760,42,513,508,507,0,7,8,3,761,762,758,42,507,510,513,0,3,2,7,758,757,761,42,488,491,514,0,27,28,29,732,731,763,42,514,511,488,0,29,30,27,763,764,732,42,491,473,493,0,28,31,32,731,730,765,42,493,514,491,0,32,29,28,765,763,731,42,497,515,514,0,33,34,29,766,767,763,42,514,493,497,0,29,32,33,763,765,766,42,515,512,511,0,34,35,30,767,768,764,42,511,514,515,0,30,29,34,764,763,767,42,497,496,516,0,0,1,2,738,737,769,42,516,517,497,0,2,3,0,769,770,738,42,496,495,518,0,1,4,5,737,736,771,42,518,516,496,0,5,2,1,771,769,737,42,519,520,516,0,6,7,2,772,773,769,42,516,518,519,0,2,5,6,769,771,772,42,520,521,517,0,7,8,3,773,774,770,42,517,516,520,0,3,2,7,770,769,773,42,495,501,522,0,9,10,11,744,743,775,42,522,518,495,0,11,12,9,775,776,744,42,501,500,523,0,10,13,14,743,742,777,42,523,522,501,0,14,11,10,777,775,743,42,524,525,522,0,15,16,11,778,779,775,42,522,523,524,0,11,14,15,775,777,778,42,525,519,518,0,16,17,12,779,780,776,42,518,522,525,0,12,11,16,776,775,779,42,500,505,526,0,18,19,20,750,749,781,42,526,523,500,0,20,21,18,781,782,750,42,505,504,527,0,19,22,23,749,748,783,42,527,526,505,0,23,20,19,783,781,749,42,528,529,526,0,24,25,20,784,785,781,42,526,527,528,0,20,23,24,781,783,784,42,529,524,523,0,25,26,21,785,786,782,42,523,526,529,0,21,20,25,782,781,785,42,504,509,530,0,9,10,11,756,755,787,42,530,527,504,0,11,12,9,787,788,756,42,509,508,531,0,10,13,14,755,754,789,42,531,530,509,0,14,11,10,789,787,755,42,532,533,530,0,15,16,11,790,791,787,42,530,531,532,0,11,14,15,787,789,790,42,533,528,527,0,16,17,12,791,792,788,42,527,530,533,0,12,11,16,788,787,791,42,508,513,534,0,0,1,2,762,761,793,42,534,531,508,0,2,3,0,793,794,762,42,513,512,535,0,1,4,5,761,760,795,42,535,534,513,0,5,2,1,795,793,761,42,536,537,534,0,6,7,2,796,797,793,42,534,535,536,0,2,5,6,793,795,796,42,537,532,531,0,7,8,3,797,798,794,42,531,534,537,0,3,2,7,794,793,797,42,512,515,538,0,27,28,29,768,767,799,42,538,535,512,0,29,30,27,799,800,768,42,515,497,517,0,28,31,32,767,766,801,42,517,538,515,0,32,29,28,801,799,767,42,521,539,538,0,33,34,29,802,803,799,42,538,517,521,0,29,32,33,799,801,802,42,539,536,535,0,34,35,30,803,804,800,42,535,538,539,0,30,29,34,800,799,803,42,521,520,540,0,0,1,2,774,773,805,42,540,541,521,0,2,3,0,805,806,774,42,520,519,542,0,1,4,5,773,772,807,42,542,540,520,0,5,2,1,807,805,773,42,543,544,540,0,6,7,2,808,809,805,42,540,542,543,0,2,5,6,805,807,808,42,544,545,541,0,7,8,3,809,810,806,42,541,540,544,0,3,2,7,806,805,809,42,519,525,546,0,9,10,11,780,779,811,42,546,542,519,0,11,12,9,811,812,780,42,525,524,547,0,10,13,14,779,778,813,42,547,546,525,0,14,11,10,813,811,779,42,548,549,546,0,15,16,11,814,815,811,42,546,547,548,0,11,14,15,811,813,814,42,549,543,542,0,16,17,12,815,816,812,42,542,546,549,0,12,11,16,812,811,815,42,524,529,550,0,18,19,20,786,785,817,42,550,547,524,0,20,21,18,817,818,786,42,529,528,551,0,19,22,23,785,784,819,42,551,550,529,0,23,20,19,819,817,785,42,552,553,550,0,24,25,20,820,821,817,42,550,551,552,0,20,23,24,817,819,820,42,553,548,547,0,25,26,21,821,822,818,42,547,550,553,0,21,20,25,818,817,821,42,528,533,554,0,9,10,11,792,791,823,42,554,551,528,0,11,12,9,823,824,792,42,533,532,555,0,10,13,14,791,790,825,42,555,554,533,0,14,11,10,825,823,791,42,556,557,554,0,15,16,11,826,827,823,42,554,555,556,0,11,14,15,823,825,826,42,557,552,551,0,16,17,12,827,828,824,42,551,554,557,0,12,11,16,824,823,827,42,532,537,558,0,0,1,2,798,797,829,42,558,555,532,0,2,3,0,829,830,798,42,537,536,559,0,1,4,5,797,796,831,42,559,558,537,0,5,2,1,831,829,797,42,560,561,558,0,6,7,2,832,833,829,42,558,559,560,0,2,5,6,829,831,832,42,561,556,555,0,7,8,3,833,834,830,42,555,558,561,0,3,2,7,830,829,833,42,536,539,562,0,27,28,29,804,803,835,42,562,559,536,0,29,30,27,835,836,804,42,539,521,541,0,28,31,32,803,802,837,42,541,562,539,0,32,29,28,837,835,803,42,545,563,562,0,33,34,29,838,839,835,42,562,541,545,0,29,32,33,835,837,838,42,563,560,559,0,34,35,30,839,840,836,42,559,562,563,0,30,29,34,836,835,839,42,545,544,564,0,0,1,2,810,809,841,42,564,565,545,0,2,3,0,841,842,810,42,544,543,566,0,1,4,5,809,808,843,42,566,564,544,0,5,2,1,843,841,809,42,567,568,564,0,6,7,2,844,845,841,42,564,566,567,0,2,5,6,841,843,844,42,568,569,565,0,7,8,3,845,846,842,42,565,564,568,0,3,2,7,842,841,845,42,543,549,570,0,9,10,11,816,815,847,42,570,566,543,0,11,12,9,847,848,816,42,549,548,571,0,10,13,14,815,814,849,42,571,570,549,0,14,11,10,849,847,815,42,572,573,570,0,15,16,11,850,851,847,42,570,571,572,0,11,14,15,847,849,850,42,573,567,566,0,16,17,12,851,852,848,42,566,570,573,0,12,11,16,848,847,851,42,548,553,574,0,18,19,20,822,821,853,42,574,571,548,0,20,21,18,853,854,822,42,553,552,575,0,19,22,23,821,820,855,42,575,574,553,0,23,20,19,855,853,821,42,576,577,574,0,24,25,20,856,857,853,42,574,575,576,0,20,23,24,853,855,856,42,577,572,571,0,25,26,21,857,858,854,42,571,574,577,0,21,20,25,854,853,857,42,552,557,578,0,9,10,11,828,827,859,42,578,575,552,0,11,12,9,859,860,828,42,557,556,579,0,10,13,14,827,826,861,42,579,578,557,0,14,11,10,861,859,827,42,580,581,578,0,15,16,11,862,863,859,42,578,579,580,0,11,14,15,859,861,862,42,581,576,575,0,16,17,12,863,864,860,42,575,578,581,0,12,11,16,860,859,863,42,556,561,582,0,0,1,2,834,833,865,42,582,579,556,0,2,3,0,865,866,834,42,561,560,583,0,1,4,5,833,832,867,42,583,582,561,0,5,2,1,867,865,833,42,584,585,582,0,6,7,2,868,869,865,42,582,583,584,0,2,5,6,865,867,868,42,585,580,579,0,7,8,3,869,870,866,42,579,582,585,0,3,2,7,866,865,869,42,560,563,586,0,27,28,29,840,839,871,42,586,583,560,0,29,30,27,871,872,840,42,563,545,565,0,28,31,32,839,838,873,42,565,586,563,0,32,29,28,873,871,839,42,569,587,586,0,33,34,29,874,875,871,42,586,565,569,0,29,32,33,871,873,874,42,587,584,583,0,34,35,30,875,876,872,42,583,586,587,0,30,29,34,872,871,875,42,569,568,588,0,0,1,2,846,845,877,42,588,589,569,0,2,3,0,877,878,846,42,568,567,590,0,1,4,5,845,844,879,42,590,588,568,0,5,2,1,879,877,845,42,591,592,588,0,6,7,2,880,881,877,42,588,590,591,0,2,5,6,877,879,880,42,592,593,589,0,7,8,3,881,882,878,42,589,588,592,0,3,2,7,878,877,881,42,567,573,594,0,9,10,11,852,851,883,42,594,590,567,0,11,12,9,883,884,852,42,573,572,595,0,10,13,14,851,850,885,42,595,594,573,0,14,11,10,885,883,851,42,596,597,594,0,15,16,11,886,887,883,42,594,595,596,0,11,14,15,883,885,886,42,597,591,590,0,16,17,12,887,888,884,42,590,594,597,0,12,11,16,884,883,887,42,572,577,598,0,18,19,20,858,857,889,42,598,595,572,0,20,21,18,889,890,858,42,577,576,599,0,19,22,23,857,856,891,42,599,598,577,0,23,20,19,891,889,857,42,600,601,598,0,24,25,20,892,893,889,42,598,599,600,0,20,23,24,889,891,892,42,601,596,595,0,25,26,21,893,894,890,42,595,598,601,0,21,20,25,890,889,893,42,576,581,602,0,9,10,11,864,863,895,42,602,599,576,0,11,12,9,895,896,864,42,581,580,603,0,10,13,14,863,862,897,42,603,602,581,0,14,11,10,897,895,863,42,604,605,602,0,15,16,11,898,899,895,42,602,603,604,0,11,14,15,895,897,898,42,605,600,599,0,16,17,12,899,900,896,42,599,602,605,0,12,11,16,896,895,899,42,580,585,606,0,0,1,2,870,869,901,42,606,603,580,0,2,3,0,901,902,870,42,585,584,607,0,1,4,5,869,868,903,42,607,606,585,0,5,2,1,903,901,869,42,608,609,606,0,6,7,2,904,905,901,42,606,607,608,0,2,5,6,901,903,904,42,609,604,603,0,7,8,3,905,906,902,42,603,606,609,0,3,2,7,902,901,905,42,584,587,610,0,27,28,29,876,875,907,42,610,607,584,0,29,30,27,907,908,876,42,587,569,589,0,28,31,32,875,874,909,42,589,610,587,0,32,29,28,909,907,875,42,593,611,610,0,33,34,29,910,911,907,42,610,589,593,0,29,32,33,907,909,910,42,611,608,607,0,34,35,30,911,912,908,42,607,610,611,0,30,29,34,908,907,911,42,593,592,612,0,0,1,2,882,881,913,42,612,613,593,0,2,3,0,913,914,882,42,592,591,614,0,1,4,5,881,880,915,42,614,612,592,0,5,2,1,915,913,881,42,615,616,612,0,6,7,2,916,917,913,42,612,614,615,0,2,5,6,913,915,916,42,616,617,613,0,7,8,3,917,918,914,42,613,612,616,0,3,2,7,914,913,917,42,591,597,618,0,9,10,11,888,887,919,42,618,614,591,0,11,12,9,919,920,888,42,597,596,619,0,10,13,14,887,886,921,42,619,618,597,0,14,11,10,921,919,887,42,620,621,618,0,15,16,11,922,923,919,42,618,619,620,0,11,14,15,919,921,922,42,621,615,614,0,16,17,12,923,924,920,42,614,618,621,0,12,11,16,920,919,923,42,596,601,622,0,18,19,20,894,893,925,42,622,619,596,0,20,21,18,925,926,894,42,601,600,623,0,19,22,23,893,892,927,42,623,622,601,0,23,20,19,927,925,893,42,624,625,622,0,24,25,20,928,929,925,42,622,623,624,0,20,23,24,925,927,928,42,625,620,619,0,25,26,21,929,930,926,42,619,622,625,0,21,20,25,926,925,929,42,600,605,626,0,9,10,11,900,899,931,42,626,623,600,0,11,12,9,931,932,900,42,605,604,627,0,10,13,14,899,898,933,42,627,626,605,0,14,11,10,933,931,899,42,628,629,626,0,15,16,11,934,935,931,42,626,627,628,0,11,14,15,931,933,934,42,629,624,623,0,16,17,12,935,936,932,42,623,626,629,0,12,11,16,932,931,935,42,604,609,630,0,0,1,2,906,905,937,42,630,627,604,0,2,3,0,937,938,906,42,609,608,631,0,1,4,5,905,904,939,42,631,630,609,0,5,2,1,939,937,905,42,632,633,630,0,6,7,2,940,941,937,42,630,631,632,0,2,5,6,937,939,940,42,633,628,627,0,7,8,3,941,942,938,42,627,630,633,0,3,2,7,938,937,941,42,608,611,634,0,27,28,29,912,911,943,42,634,631,608,0,29,30,27,943,944,912,42,611,593,613,0,28,31,32,911,910,945,42,613,634,611,0,32,29,28,945,943,911,42,617,635,634,0,33,34,29,946,947,943,42,634,613,617,0,29,32,33,943,945,946,42,635,632,631,0,34,35,30,947,948,944,42,631,634,635,0,30,29,34,944,943,947,42,617,616,636,0,0,1,2,918,917,949,42,636,637,617,0,2,3,0,949,950,918,42,616,615,638,0,1,4,5,917,916,951,42,638,636,616,0,5,2,1,951,949,917,42,639,640,636,0,6,7,2,952,953,949,42,636,638,639,0,2,5,6,949,951,952,42,640,641,637,0,7,8,3,953,954,950,42,637,636,640,0,3,2,7,950,949,953,42,615,621,642,0,9,10,11,924,923,955,42,642,638,615,0,11,12,9,955,956,924,42,621,620,643,0,10,13,14,923,922,957,42,643,642,621,0,14,11,10,957,955,923,42,644,645,642,0,15,16,11,958,959,955,42,642,643,644,0,11,14,15,955,957,958,42,645,639,638,0,16,17,12,959,960,956,42,638,642,645,0,12,11,16,956,955,959,42,620,625,646,0,18,19,20,930,929,961,42,646,643,620,0,20,21,18,961,962,930,42,625,624,647,0,19,22,23,929,928,963,42,647,646,625,0,23,20,19,963,961,929,42,648,649,646,0,24,25,20,964,965,961,42,646,647,648,0,20,23,24,961,963,964,42,649,644,643,0,25,26,21,965,966,962,42,643,646,649,0,21,20,25,962,961,965,42,624,629,650,0,9,10,11,936,935,967,42,650,647,624,0,11,12,9,967,968,936,42,629,628,651,0,10,13,14,935,934,969,42,651,650,629,0,14,11,10,969,967,935,42,652,653,650,0,15,16,11,970,971,967,42,650,651,652,0,11,14,15,967,969,970,42,653,648,647,0,16,17,12,971,972,968,42,647,650,653,0,12,11,16,968,967,971,42,628,633,654,0,0,1,2,942,941,973,42,654,651,628,0,2,3,0,973,974,942,42,633,632,655,0,1,4,5,941,940,975,42,655,654,633,0,5,2,1,975,973,941,42,656,657,654,0,6,7,2,976,977,973,42,654,655,656,0,2,5,6,973,975,976,42,657,652,651,0,7,8,3,977,978,974,42,651,654,657,0,3,2,7,974,973,977,42,632,635,658,0,27,28,29,948,947,979,42,658,655,632,0,29,30,27,979,980,948,42,635,617,637,0,28,31,32,947,946,981,42,637,658,635,0,32,29,28,981,979,947,42,641,659,658,0,33,34,29,982,983,979,42,658,637,641,0,29,32,33,979,981,982,42,659,656,655,0,34,35,30,983,984,980,42,655,658,659,0,30,29,34,980,979,983,42,641,640,660,0,0,1,2,954,953,985,42,660,661,641,0,2,3,0,985,986,954,42,640,639,662,0,1,4,5,953,952,987,42,662,660,640,0,5,2,1,987,985,953,42,663,664,660,0,6,7,2,988,989,985,42,660,662,663,0,2,5,6,985,987,988,42,664,665,661,0,7,8,3,989,990,986,42,661,660,664,0,3,2,7,986,985,989,42,639,645,666,0,9,10,11,960,959,991,42,666,662,639,0,11,12,9,991,992,960,42,645,644,667,0,10,13,14,959,958,993,42,667,666,645,0,14,11,10,993,991,959,42,668,669,666,0,15,16,11,994,995,991,42,666,667,668,0,11,14,15,991,993,994,42,669,663,662,0,16,17,12,995,996,992,42,662,666,669,0,12,11,16,992,991,995,42,644,649,670,0,18,19,20,966,965,997,42,670,667,644,0,20,21,18,997,998,966,42,649,648,671,0,19,22,23,965,964,999,42,671,670,649,0,23,20,19,999,997,965,42,672,673,670,0,24,25,20,1000,1001,997,42,670,671,672,0,20,23,24,997,999,1000,42,673,668,667,0,25,26,21,1001,1002,998,42,667,670,673,0,21,20,25,998,997,1001,42,648,653,674,0,9,10,11,972,971,1003,42,674,671,648,0,11,12,9,1003,1004,972,42,653,652,675,0,10,13,14,971,970,1005,42,675,674,653,0,14,11,10,1005,1003,971,42,676,677,674,0,15,16,11,1006,1007,1003,42,674,675,676,0,11,14,15,1003,1005,1006,42,677,672,671,0,16,17,12,1007,1008,1004,42,671,674,677,0,12,11,16,1004,1003,1007,42,652,657,678,0,0,1,2,978,977,1009,42,678,675,652,0,2,3,0,1009,1010,978,42,657,656,679,0,1,4,5,977,976,1011,42,679,678,657,0,5,2,1,1011,1009,977,42,680,681,678,0,6,7,2,1012,1013,1009,42,678,679,680,0,2,5,6,1009,1011,1012,42,681,676,675,0,7,8,3,1013,1014,1010,42,675,678,681,0,3,2,7,1010,1009,1013,42,656,659,682,0,27,28,29,984,983,1015,42,682,679,656,0,29,30,27,1015,1016,984,42,659,641,661,0,28,31,32,983,982,1017,42,661,682,659,0,32,29,28,1017,1015,983,42,665,683,682,0,33,34,29,1018,1019,1015,42,682,661,665,0,29,32,33,1015,1017,1018,42,683,680,679,0,34,35,30,1019,1020,1016,42,679,682,683,0,30,29,34,1016,1015,1019,42,665,664,684,0,0,1,2,990,989,1021,42,684,685,665,0,2,3,0,1021,1022,990,42,664,663,686,0,1,4,5,989,988,1023,42,686,684,664,0,5,2,1,1023,1021,989,42,687,688,684,0,6,7,2,1024,1025,1021,42,684,686,687,0,2,5,6,1021,1023,1024,42,688,689,685,0,7,8,3,1025,1026,1022,42,685,684,688,0,3,2,7,1022,1021,1025,42,663,669,690,0,9,10,11,996,995,1027,42,690,686,663,0,11,12,9,1027,1028,996,42,669,668,691,0,10,13,14,995,994,1029,42,691,690,669,0,14,11,10,1029,1027,995,42,692,693,690,0,15,16,11,1030,1031,1027,42,690,691,692,0,11,14,15,1027,1029,1030,42,693,687,686,0,16,17,12,1031,1032,1028,42,686,690,693,0,12,11,16,1028,1027,1031,42,668,673,694,0,18,19,20,1002,1001,1033,42,694,691,668,0,20,21,18,1033,1034,1002,42,673,672,695,0,19,22,23,1001,1000,1035,42,695,694,673,0,23,20,19,1035,1033,1001,42,696,697,694,0,24,25,20,1036,1037,1033,42,694,695,696,0,20,23,24,1033,1035,1036,42,697,692,691,0,25,26,21,1037,1038,1034,42,691,694,697,0,21,20,25,1034,1033,1037,42,672,677,698,0,9,10,11,1008,1007,1039,42,698,695,672,0,11,12,9,1039,1040,1008,42,677,676,699,0,10,13,14,1007,1006,1041,42,699,698,677,0,14,11,10,1041,1039,1007,42,700,701,698,0,15,16,11,1042,1043,1039,42,698,699,700,0,11,14,15,1039,1041,1042,42,701,696,695,0,16,17,12,1043,1044,1040,42,695,698,701,0,12,11,16,1040,1039,1043,42,676,681,702,0,0,1,2,1014,1013,1045,42,702,699,676,0,2,3,0,1045,1046,1014,42,681,680,703,0,1,4,5,1013,1012,1047,42,703,702,681,0,5,2,1,1047,1045,1013,42,704,705,702,0,6,7,2,1048,1049,1045,42,702,703,704,0,2,5,6,1045,1047,1048,42,705,700,699,0,7,8,3,1049,1050,1046,42,699,702,705,0,3,2,7,1046,1045,1049,42,680,683,706,0,27,28,29,1020,1019,1051,42,706,703,680,0,29,30,27,1051,1052,1020,42,683,665,685,0,28,31,32,1019,1018,1053,42,685,706,683,0,32,29,28,1053,1051,1019,42,689,707,706,0,33,34,29,1054,1055,1051,42,706,685,689,0,29,32,33,1051,1053,1054,42,707,704,703,0,34,35,30,1055,1056,1052,42,703,706,707,0,30,29,34,1052,1051,1055,42,689,688,708,0,0,1,2,1026,1025,1057,42,708,709,689,0,2,3,0,1057,1058,1026,42,688,687,710,0,1,4,5,1025,1024,1059,42,710,708,688,0,5,2,1,1059,1057,1025,42,711,712,708,0,6,7,2,1060,1061,1057,42,708,710,711,0,2,5,6,1057,1059,1060,42,712,713,709,0,7,8,3,1061,1062,1058,42,709,708,712,0,3,2,7,1058,1057,1061,42,687,693,714,0,9,10,11,1032,1031,1063,42,714,710,687,0,11,12,9,1063,1064,1032,42,693,692,715,0,10,13,14,1031,1030,1065,42,715,714,693,0,14,11,10,1065,1063,1031,42,716,717,714,0,15,16,11,1066,1067,1063,42,714,715,716,0,11,14,15,1063,1065,1066,42,717,711,710,0,16,17,12,1067,1068,1064,42,710,714,717,0,12,11,16,1064,1063,1067,42,692,697,718,0,18,19,20,1038,1037,1069,42,718,715,692,0,20,21,18,1069,1070,1038,42,697,696,719,0,19,22,23,1037,1036,1071,42,719,718,697,0,23,20,19,1071,1069,1037,42,720,721,718,0,24,25,20,1072,1073,1069,42,718,719,720,0,20,23,24,1069,1071,1072,42,721,716,715,0,25,26,21,1073,1074,1070,42,715,718,721,0,21,20,25,1070,1069,1073,42,696,701,722,0,9,10,11,1044,1043,1075,42,722,719,696,0,11,12,9,1075,1076,1044,42,701,700,723,0,10,13,14,1043,1042,1077,42,723,722,701,0,14,11,10,1077,1075,1043,42,724,725,722,0,15,16,11,1078,1079,1075,42,722,723,724,0,11,14,15,1075,1077,1078,42,725,720,719,0,16,17,12,1079,1080,1076,42,719,722,725,0,12,11,16,1076,1075,1079,42,700,705,726,0,0,1,2,1050,1049,1081,42,726,723,700,0,2,3,0,1081,1082,1050,42,705,704,727,0,1,4,5,1049,1048,1083,42,727,726,705,0,5,2,1,1083,1081,1049,42,728,729,726,0,6,7,2,1084,1085,1081,42,726,727,728,0,2,5,6,1081,1083,1084,42,729,724,723,0,7,8,3,1085,1086,1082,42,723,726,729,0,3,2,7,1082,1081,1085,42,704,707,730,0,27,28,29,1056,1055,1087,42,730,727,704,0,29,30,27,1087,1088,1056,42,707,689,709,0,28,31,32,1055,1054,1089,42,709,730,707,0,32,29,28,1089,1087,1055,42,713,731,730,0,33,34,29,1090,1091,1087,42,730,709,713,0,29,32,33,1087,1089,1090,42,731,728,727,0,34,35,30,1091,1092,1088,42,727,730,731,0,30,29,34,1088,1087,1091,42,713,712,732,0,0,1,2,1062,1061,1093,42,732,733,713,0,2,3,0,1093,1094,1062,42,712,711,734,0,1,4,5,1061,1060,1095,42,734,732,712,0,5,2,1,1095,1093,1061,42,735,736,732,0,6,7,2,1096,1097,1093,42,732,734,735,0,2,5,6,1093,1095,1096,42,736,737,733,0,7,8,3,1097,1098,1094,42,733,732,736,0,3,2,7,1094,1093,1097,42,711,717,738,0,9,10,11,1068,1067,1099,42,738,734,711,0,11,12,9,1099,1100,1068,42,717,716,739,0,10,13,14,1067,1066,1101,42,739,738,717,0,14,11,10,1101,1099,1067,42,740,741,738,0,15,16,11,1102,1103,1099,42,738,739,740,0,11,14,15,1099,1101,1102,42,741,735,734,0,16,17,12,1103,1104,1100,42,734,738,741,0,12,11,16,1100,1099,1103,42,716,721,742,0,18,19,20,1074,1073,1105,42,742,739,716,0,20,21,18,1105,1106,1074,42,721,720,743,0,19,22,23,1073,1072,1107,42,743,742,721,0,23,20,19,1107,1105,1073,42,744,745,742,0,24,25,20,1108,1109,1105,42,742,743,744,0,20,23,24,1105,1107,1108,42,745,740,739,0,25,26,21,1109,1110,1106,42,739,742,745,0,21,20,25,1106,1105,1109,42,720,725,746,0,9,10,11,1080,1079,1111,42,746,743,720,0,11,12,9,1111,1112,1080,42,725,724,747,0,10,13,14,1079,1078,1113,42,747,746,725,0,14,11,10,1113,1111,1079,42,748,749,746,0,15,16,11,1114,1115,1111,42,746,747,748,0,11,14,15,1111,1113,1114,42,749,744,743,0,16,17,12,1115,1116,1112,42,743,746,749,0,12,11,16,1112,1111,1115,42,724,729,750,0,0,1,2,1086,1085,1117,42,750,747,724,0,2,3,0,1117,1118,1086,42,729,728,751,0,1,4,5,1085,1084,1119,42,751,750,729,0,5,2,1,1119,1117,1085,42,752,753,750,0,6,7,2,1120,1121,1117,42,750,751,752,0,2,5,6,1117,1119,1120,42,753,748,747,0,7,8,3,1121,1122,1118,42,747,750,753,0,3,2,7,1118,1117,1121,42,728,731,754,0,27,28,29,1092,1091,1123,42,754,751,728,0,29,30,27,1123,1124,1092,42,731,713,733,0,28,31,32,1091,1090,1125,42,733,754,731,0,32,29,28,1125,1123,1091,42,737,755,754,0,33,34,29,1126,1127,1123,42,754,733,737,0,29,32,33,1123,1125,1126,42,755,752,751,0,34,35,30,1127,1128,1124,42,751,754,755,0,30,29,34,1124,1123,1127,42,737,736,756,0,0,1,2,1098,1097,1129,42,756,757,737,0,2,3,0,1129,1130,1098,42,736,735,758,0,1,4,5,1097,1096,1131,42,758,756,736,0,5,2,1,1131,1129,1097,42,759,760,756,0,6,7,2,1132,1133,1129,42,756,758,759,0,2,5,6,1129,1131,1132,42,760,761,757,0,7,8,3,1133,1134,1130,42,757,756,760,0,3,2,7,1130,1129,1133,42,735,741,762,0,36,37,38,1104,1103,1135,42,762,758,735,0,38,39,36,1135,1136,1104,42,741,740,763,0,37,40,41,1103,1102,1137,42,763,762,741,0,41,38,37,1137,1135,1103,42,764,765,762,0,42,43,38,1138,1139,1135,42,762,763,764,0,38,41,42,1135,1137,1138,42,765,759,758,0,43,44,39,1139,1140,1136,42,758,762,765,0,39,38,43,1136,1135,1139,42,740,745,766,0,18,19,20,1110,1109,1141,42,766,763,740,0,20,21,18,1141,1142,1110,42,745,744,767,0,19,22,23,1109,1108,1143,42,767,766,745,0,23,20,19,1143,1141,1109,42,768,769,766,0,24,25,20,1144,1145,1141,42,766,767,768,0,20,23,24,1141,1143,1144,42,769,764,763,0,25,26,21,1145,1146,1142,42,763,766,769,0,21,20,25,1142,1141,1145,42,744,749,770,0,9,10,11,1116,1115,1147,42,770,767,744,0,11,12,9,1147,1148,1116,42,749,748,771,0,10,13,14,1115,1114,1149,42,771,770,749,0,14,11,10,1149,1147,1115,42,772,773,770,0,15,16,11,1150,1151,1147,42,770,771,772,0,11,14,15,1147,1149,1150,42,773,768,767,0,16,17,12,1151,1152,1148,42,767,770,773,0,12,11,16,1148,1147,1151,42,748,753,774,0,0,1,2,1122,1121,1153,42,774,771,748,0,2,3,0,1153,1154,1122,42,753,752,775,0,1,4,5,1121,1120,1155,42,775,774,753,0,5,2,1,1155,1153,1121,42,776,777,774,0,6,7,2,1156,1157,1153,42,774,775,776,0,2,5,6,1153,1155,1156,42,777,772,771,0,7,8,3,1157,1158,1154,42,771,774,777,0,3,2,7,1154,1153,1157,42,752,755,778,0,27,28,29,1128,1127,1159,42,778,775,752,0,29,30,27,1159,1160,1128,42,755,737,757,0,28,31,32,1127,1126,1161,42,757,778,755,0,32,29,28,1161,1159,1127,42,761,779,778,0,33,34,29,1162,1163,1159,42,778,757,761,0,29,32,33,1159,1161,1162,42,779,776,775,0,34,35,30,1163,1164,1160,42,775,778,779,0,30,29,34,1160,1159,1163,42,761,760,780,0,0,1,2,1134,1133,1165,42,780,781,761,0,2,3,0,1165,1166,1134,42,760,759,782,0,1,4,5,1133,1132,1167,42,782,780,760,0,5,2,1,1167,1165,1133,42,783,784,780,0,6,7,2,1168,1169,1165,42,780,782,783,0,2,5,6,1165,1167,1168,42,784,785,781,0,7,8,3,1169,1170,1166,42,781,780,784,0,3,2,7,1166,1165,1169,42,759,765,786,0,9,10,11,1140,1139,1171,42,786,782,759,0,11,12,9,1171,1172,1140,42,765,764,787,0,10,13,14,1139,1138,1173,42,787,786,765,0,14,11,10,1173,1171,1139,42,788,789,786,0,15,16,11,1174,1175,1171,42,786,787,788,0,11,14,15,1171,1173,1174,42,789,783,782,0,16,17,12,1175,1176,1172,42,782,786,789,0,12,11,16,1172,1171,1175,42,764,769,790,0,18,19,20,1146,1145,1177,42,790,787,764,0,20,21,18,1177,1178,1146,42,769,768,791,0,19,22,23,1145,1144,1179,42,791,790,769,0,23,20,19,1179,1177,1145,42,792,793,790,0,24,25,20,1180,1181,1177,42,790,791,792,0,20,23,24,1177,1179,1180,42,793,788,787,0,25,26,21,1181,1182,1178,42,787,790,793,0,21,20,25,1178,1177,1181,42,768,773,794,0,9,10,11,1152,1151,1183,42,794,791,768,0,11,12,9,1183,1184,1152,42,773,772,795,0,10,13,14,1151,1150,1185,42,795,794,773,0,14,11,10,1185,1183,1151,42,796,797,794,0,15,16,11,1186,1187,1183,42,794,795,796,0,11,14,15,1183,1185,1186,42,797,792,791,0,16,17,12,1187,1188,1184,42,791,794,797,0,12,11,16,1184,1183,1187,42,772,777,798,0,0,1,2,1158,1157,1189,42,798,795,772,0,2,3,0,1189,1190,1158,42,777,776,799,0,1,4,5,1157,1156,1191,42,799,798,777,0,5,2,1,1191,1189,1157,42,800,801,798,0,6,7,2,1192,1193,1189,42,798,799,800,0,2,5,6,1189,1191,1192,42,801,796,795,0,7,8,3,1193,1194,1190,42,795,798,801,0,3,2,7,1190,1189,1193,42,776,779,802,0,27,28,29,1164,1163,1195,42,802,799,776,0,29,30,27,1195,1196,1164,42,779,761,781,0,28,31,32,1163,1162,1197,42,781,802,779,0,32,29,28,1197,1195,1163,42,785,803,802,0,33,34,29,1198,1199,1195,42,802,781,785,0,29,32,33,1195,1197,1198,42,803,800,799,0,34,35,30,1199,1200,1196,42,799,802,803,0,30,29,34,1196,1195,1199,42,785,784,804,0,0,1,2,1170,1169,1201,42,804,805,785,0,2,3,0,1201,1202,1170,42,784,783,806,0,1,4,5,1169,1168,1203,42,806,804,784,0,5,2,1,1203,1201,1169,42,807,808,804,0,6,7,2,1204,1205,1201,42,804,806,807,0,2,5,6,1201,1203,1204,42,808,809,805,0,7,8,3,1205,1206,1202,42,805,804,808,0,3,2,7,1202,1201,1205,42,783,789,810,0,9,10,11,1176,1175,1207,42,810,806,783,0,11,12,9,1207,1208,1176,42,789,788,811,0,10,13,14,1175,1174,1209,42,811,810,789,0,14,11,10,1209,1207,1175,42,812,813,810,0,15,16,11,1210,1211,1207,42,810,811,812,0,11,14,15,1207,1209,1210,42,813,807,806,0,16,17,12,1211,1212,1208,42,806,810,813,0,12,11,16,1208,1207,1211,42,788,793,814,0,18,19,20,1182,1181,1213,42,814,811,788,0,20,21,18,1213,1214,1182,42,793,792,815,0,19,22,23,1181,1180,1215,42,815,814,793,0,23,20,19,1215,1213,1181,42,816,817,814,0,24,25,20,1216,1217,1213,42,814,815,816,0,20,23,24,1213,1215,1216,42,817,812,811,0,25,26,21,1217,1218,1214,42,811,814,817,0,21,20,25,1214,1213,1217,42,792,797,818,0,9,10,11,1188,1187,1219,42,818,815,792,0,11,12,9,1219,1220,1188,42,797,796,819,0,10,13,14,1187,1186,1221,42,819,818,797,0,14,11,10,1221,1219,1187,42,820,821,818,0,15,16,11,1222,1223,1219,42,818,819,820,0,11,14,15,1219,1221,1222,42,821,816,815,0,16,17,12,1223,1224,1220,42,815,818,821,0,12,11,16,1220,1219,1223,42,796,801,822,0,0,1,2,1194,1193,1225,42,822,819,796,0,2,3,0,1225,1226,1194,42,801,800,823,0,1,4,5,1193,1192,1227,42,823,822,801,0,5,2,1,1227,1225,1193,42,824,825,822,0,6,7,2,1228,1229,1225,42,822,823,824,0,2,5,6,1225,1227,1228,42,825,820,819,0,7,8,3,1229,1230,1226,42,819,822,825,0,3,2,7,1226,1225,1229,42,800,803,826,0,27,28,29,1200,1199,1231,42,826,823,800,0,29,30,27,1231,1232,1200,42,803,785,805,0,28,31,32,1199,1198,1233,42,805,826,803,0,32,29,28,1233,1231,1199,42,809,827,826,0,33,34,29,1234,1235,1231,42,826,805,809,0,29,32,33,1231,1233,1234,42,827,824,823,0,34,35,30,1235,1236,1232,42,823,826,827,0,30,29,34,1232,1231,1235,42,809,808,828,0,0,1,2,1206,1205,1237,42,828,829,809,0,2,3,0,1237,1238,1206,42,808,807,830,0,1,4,5,1205,1204,1239,42,830,828,808,0,5,2,1,1239,1237,1205,42,831,832,828,0,6,7,2,1240,1241,1237,42,828,830,831,0,2,5,6,1237,1239,1240,42,832,833,829,0,7,8,3,1241,1242,1238,42,829,828,832,0,3,2,7,1238,1237,1241,42,807,813,834,0,9,10,11,1212,1211,1243,42,834,830,807,0,11,12,9,1243,1244,1212,42,813,812,835,0,10,13,14,1211,1210,1245,42,835,834,813,0,14,11,10,1245,1243,1211,42,836,837,834,0,15,16,11,1246,1247,1243,42,834,835,836,0,11,14,15,1243,1245,1246,42,837,831,830,0,16,17,12,1247,1248,1244,42,830,834,837,0,12,11,16,1244,1243,1247,42,812,817,838,0,18,19,20,1218,1217,1249,42,838,835,812,0,20,21,18,1249,1250,1218,42,817,816,839,0,19,22,23,1217,1216,1251,42,839,838,817,0,23,20,19,1251,1249,1217,42,840,841,838,0,24,25,20,1252,1253,1249,42,838,839,840,0,20,23,24,1249,1251,1252,42,841,836,835,0,25,26,21,1253,1254,1250,42,835,838,841,0,21,20,25,1250,1249,1253,42,816,821,842,0,9,10,11,1224,1223,1255,42,842,839,816,0,11,12,9,1255,1256,1224,42,821,820,843,0,10,13,14,1223,1222,1257,42,843,842,821,0,14,11,10,1257,1255,1223,42,844,845,842,0,15,16,11,1258,1259,1255,42,842,843,844,0,11,14,15,1255,1257,1258,42,845,840,839,0,16,17,12,1259,1260,1256,42,839,842,845,0,12,11,16,1256,1255,1259,42,820,825,846,0,0,1,2,1230,1229,1261,42,846,843,820,0,2,3,0,1261,1262,1230,42,825,824,847,0,1,4,5,1229,1228,1263,42,847,846,825,0,5,2,1,1263,1261,1229,42,848,849,846,0,6,7,2,1264,1265,1261,42,846,847,848,0,2,5,6,1261,1263,1264,42,849,844,843,0,7,8,3,1265,1266,1262,42,843,846,849,0,3,2,7,1262,1261,1265,42,824,827,850,0,27,28,29,1236,1235,1267,42,850,847,824,0,29,30,27,1267,1268,1236,42,827,809,829,0,28,31,32,1235,1234,1269,42,829,850,827,0,32,29,28,1269,1267,1235,42,833,851,850,0,33,34,29,1270,1271,1267,42,850,829,833,0,29,32,33,1267,1269,1270,42,851,848,847,0,34,35,30,1271,1272,1268,42,847,850,851,0,30,29,34,1268,1267,1271,42,833,832,852,0,0,1,2,1242,1241,1273,42,852,853,833,0,2,3,0,1273,1274,1242,42,832,831,854,0,1,4,5,1241,1240,1275,42,854,852,832,0,5,2,1,1275,1273,1241,42,855,856,852,0,6,7,2,1276,1277,1273,42,852,854,855,0,2,5,6,1273,1275,1276,42,856,857,853,0,7,8,3,1277,1278,1274,42,853,852,856,0,3,2,7,1274,1273,1277,42,831,837,858,0,9,10,11,1248,1247,1279,42,858,854,831,0,11,12,9,1279,1280,1248,42,837,836,859,0,10,13,14,1247,1246,1281,42,859,858,837,0,14,11,10,1281,1279,1247,42,860,861,858,0,15,16,11,1282,1283,1279,42,858,859,860,0,11,14,15,1279,1281,1282,42,861,855,854,0,16,17,12,1283,1284,1280,42,854,858,861,0,12,11,16,1280,1279,1283,42,836,841,862,0,18,19,20,1254,1253,1285,42,862,859,836,0,20,21,18,1285,1286,1254,42,841,840,863,0,19,22,23,1253,1252,1287,42,863,862,841,0,23,20,19,1287,1285,1253,42,864,865,862,0,24,25,20,1288,1289,1285,42,862,863,864,0,20,23,24,1285,1287,1288,42,865,860,859,0,25,26,21,1289,1290,1286,42,859,862,865,0,21,20,25,1286,1285,1289,42,840,845,866,0,9,10,11,1260,1259,1291,42,866,863,840,0,11,12,9,1291,1292,1260,42,845,844,867,0,10,13,14,1259,1258,1293,42,867,866,845,0,14,11,10,1293,1291,1259,42,868,869,866,0,15,16,11,1294,1295,1291,42,866,867,868,0,11,14,15,1291,1293,1294,42,869,864,863,0,16,17,12,1295,1296,1292,42,863,866,869,0,12,11,16,1292,1291,1295,42,844,849,870,0,0,1,2,1266,1265,1297,42,870,867,844,0,2,3,0,1297,1298,1266,42,849,848,871,0,1,4,5,1265,1264,1299,42,871,870,849,0,5,2,1,1299,1297,1265,42,872,873,870,0,6,7,2,1300,1301,1297,42,870,871,872,0,2,5,6,1297,1299,1300,42,873,868,867,0,7,8,3,1301,1302,1298,42,867,870,873,0,3,2,7,1298,1297,1301,42,848,851,874,0,27,28,29,1272,1271,1303,42,874,871,848,0,29,30,27,1303,1304,1272,42,851,833,853,0,28,31,32,1271,1270,1305,42,853,874,851,0,32,29,28,1305,1303,1271,42,857,875,874,0,33,34,29,1306,1307,1303,42,874,853,857,0,29,32,33,1303,1305,1306,42,875,872,871,0,34,35,30,1307,1308,1304,42,871,874,875,0,30,29,34,1304,1303,1307,42,857,856,876,0,0,1,2,1278,1277,1309,42,876,877,857,0,2,3,0,1309,1310,1278,42,856,855,878,0,1,4,5,1277,1276,1311,42,878,876,856,0,5,2,1,1311,1309,1277,42,879,880,876,0,6,7,2,1312,1313,1309,42,876,878,879,0,2,5,6,1309,1311,1312,42,880,881,877,0,7,8,3,1313,1314,1310,42,877,876,880,0,3,2,7,1310,1309,1313,42,855,861,882,0,9,10,11,1284,1283,1315,42,882,878,855,0,11,12,9,1315,1316,1284,42,861,860,883,0,10,13,14,1283,1282,1317,42,883,882,861,0,14,11,10,1317,1315,1283,42,884,885,882,0,15,16,11,1318,1319,1315,42,882,883,884,0,11,14,15,1315,1317,1318,42,885,879,878,0,16,17,12,1319,1320,1316,42,878,882,885,0,12,11,16,1316,1315,1319,42,860,865,886,0,18,19,20,1290,1289,1321,42,886,883,860,0,20,21,18,1321,1322,1290,42,865,864,887,0,19,22,23,1289,1288,1323,42,887,886,865,0,23,20,19,1323,1321,1289,42,888,889,886,0,24,25,20,1324,1325,1321,42,886,887,888,0,20,23,24,1321,1323,1324,42,889,884,883,0,25,26,21,1325,1326,1322,42,883,886,889,0,21,20,25,1322,1321,1325,42,864,869,890,0,9,10,11,1296,1295,1327,42,890,887,864,0,11,12,9,1327,1328,1296,42,869,868,891,0,10,13,14,1295,1294,1329,42,891,890,869,0,14,11,10,1329,1327,1295,42,892,893,890,0,15,16,11,1330,1331,1327,42,890,891,892,0,11,14,15,1327,1329,1330,42,893,888,887,0,16,17,12,1331,1332,1328,42,887,890,893,0,12,11,16,1328,1327,1331,42,868,873,894,0,0,1,2,1302,1301,1333,42,894,891,868,0,2,3,0,1333,1334,1302,42,873,872,895,0,1,4,5,1301,1300,1335,42,895,894,873,0,5,2,1,1335,1333,1301,42,896,897,894,0,6,7,2,1336,1337,1333,42,894,895,896,0,2,5,6,1333,1335,1336,42,897,892,891,0,7,8,3,1337,1338,1334,42,891,894,897,0,3,2,7,1334,1333,1337,42,872,875,898,0,27,28,29,1308,1307,1339,42,898,895,872,0,29,30,27,1339,1340,1308,42,875,857,877,0,28,31,32,1307,1306,1341,42,877,898,875,0,32,29,28,1341,1339,1307,42,881,899,898,0,33,34,29,1342,1343,1339,42,898,877,881,0,29,32,33,1339,1341,1342,42,899,896,895,0,34,35,30,1343,1344,1340,42,895,898,899,0,30,29,34,1340,1339,1343,42,881,880,900,0,0,1,2,1314,1313,1345,42,900,901,881,0,2,3,0,1345,1346,1314,42,880,879,902,0,1,4,5,1313,1312,1347,42,902,900,880,0,5,2,1,1347,1345,1313,42,903,904,900,0,6,7,2,1348,1349,1345,42,900,902,903,0,2,5,6,1345,1347,1348,42,904,905,901,0,7,8,3,1349,1350,1346,42,901,900,904,0,3,2,7,1346,1345,1349,42,879,885,906,0,9,10,11,1320,1319,1351,42,906,902,879,0,11,12,9,1351,1352,1320,42,885,884,907,0,10,13,14,1319,1318,1353,42,907,906,885,0,14,11,10,1353,1351,1319,42,908,909,906,0,15,16,11,1354,1355,1351,42,906,907,908,0,11,14,15,1351,1353,1354,42,909,903,902,0,16,17,12,1355,1356,1352,42,902,906,909,0,12,11,16,1352,1351,1355,42,884,889,910,0,18,19,20,1326,1325,1357,42,910,907,884,0,20,21,18,1357,1358,1326,42,889,888,911,0,19,22,23,1325,1324,1359,42,911,910,889,0,23,20,19,1359,1357,1325,42,912,913,910,0,24,25,20,1360,1361,1357,42,910,911,912,0,20,23,24,1357,1359,1360,42,913,908,907,0,25,26,21,1361,1362,1358,42,907,910,913,0,21,20,25,1358,1357,1361,42,888,893,914,0,9,10,11,1332,1331,1363,42,914,911,888,0,11,12,9,1363,1364,1332,42,893,892,915,0,10,13,14,1331,1330,1365,42,915,914,893,0,14,11,10,1365,1363,1331,42,916,917,914,0,15,16,11,1366,1367,1363,42,914,915,916,0,11,14,15,1363,1365,1366,42,917,912,911,0,16,17,12,1367,1368,1364,42,911,914,917,0,12,11,16,1364,1363,1367,42,892,897,918,0,0,1,2,1338,1337,1369,42,918,915,892,0,2,3,0,1369,1370,1338,42,897,896,919,0,1,4,5,1337,1336,1371,42,919,918,897,0,5,2,1,1371,1369,1337,42,920,921,918,0,6,7,2,1372,1373,1369,42,918,919,920,0,2,5,6,1369,1371,1372,42,921,916,915,0,7,8,3,1373,1374,1370,42,915,918,921,0,3,2,7,1370,1369,1373,42,896,899,922,0,27,28,29,1344,1343,1375,42,922,919,896,0,29,30,27,1375,1376,1344,42,899,881,901,0,28,31,32,1343,1342,1377,42,901,922,899,0,32,29,28,1377,1375,1343,42,905,923,922,0,33,34,29,1378,1379,1375,42,922,901,905,0,29,32,33,1375,1377,1378,42,923,920,919,0,34,35,30,1379,1380,1376,42,919,922,923,0,30,29,34,1376,1375,1379,42,905,904,924,0,0,1,2,1350,1349,1381,42,924,925,905,0,2,3,0,1381,1382,1350,42,904,903,926,0,1,4,5,1349,1348,1383,42,926,924,904,0,5,2,1,1383,1381,1349,42,927,928,924,0,6,7,2,1384,1385,1381,42,924,926,927,0,2,5,6,1381,1383,1384,42,928,929,925,0,7,8,3,1385,1386,1382,42,925,924,928,0,3,2,7,1382,1381,1385,42,903,909,930,0,9,10,11,1356,1355,1387,42,930,926,903,0,11,12,9,1387,1388,1356,42,909,908,931,0,10,13,14,1355,1354,1389,42,931,930,909,0,14,11,10,1389,1387,1355,42,932,933,930,0,15,16,11,1390,1391,1387,42,930,931,932,0,11,14,15,1387,1389,1390,42,933,927,926,0,16,17,12,1391,1392,1388,42,926,930,933,0,12,11,16,1388,1387,1391,42,908,913,934,0,18,19,20,1362,1361,1393,42,934,931,908,0,20,21,18,1393,1394,1362,42,913,912,935,0,19,22,23,1361,1360,1395,42,935,934,913,0,23,20,19,1395,1393,1361,42,936,937,934,0,24,25,20,1396,1397,1393,42,934,935,936,0,20,23,24,1393,1395,1396,42,937,932,931,0,25,26,21,1397,1398,1394,42,931,934,937,0,21,20,25,1394,1393,1397,42,912,917,938,0,9,10,11,1368,1367,1399,42,938,935,912,0,11,12,9,1399,1400,1368,42,917,916,939,0,10,13,14,1367,1366,1401,42,939,938,917,0,14,11,10,1401,1399,1367,42,940,941,938,0,15,16,11,1402,1403,1399,42,938,939,940,0,11,14,15,1399,1401,1402,42,941,936,935,0,16,17,12,1403,1404,1400,42,935,938,941,0,12,11,16,1400,1399,1403,42,916,921,942,0,0,1,2,1374,1373,1405,42,942,939,916,0,2,3,0,1405,1406,1374,42,921,920,943,0,1,4,5,1373,1372,1407,42,943,942,921,0,5,2,1,1407,1405,1373,42,944,945,942,0,6,7,2,1408,1409,1405,42,942,943,944,0,2,5,6,1405,1407,1408,42,945,940,939,0,7,8,3,1409,1410,1406,42,939,942,945,0,3,2,7,1406,1405,1409,42,920,923,946,0,27,28,29,1380,1379,1411,42,946,943,920,0,29,30,27,1411,1412,1380,42,923,905,925,0,28,31,32,1379,1378,1413,42,925,946,923,0,32,29,28,1413,1411,1379,42,929,947,946,0,33,34,29,1414,1415,1411,42,946,925,929,0,29,32,33,1411,1413,1414,42,947,944,943,0,34,35,30,1415,1416,1412,42,943,946,947,0,30,29,34,1412,1411,1415,42,929,928,948,0,0,1,2,1386,1385,1417,42,948,949,929,0,2,3,0,1417,1418,1386,42,928,927,950,0,1,4,5,1385,1384,1419,42,950,948,928,0,5,2,1,1419,1417,1385,42,951,952,948,0,6,7,2,1420,1421,1417,42,948,950,951,0,2,5,6,1417,1419,1420,42,952,953,949,0,7,8,3,1421,1422,1418,42,949,948,952,0,3,2,7,1418,1417,1421,42,927,933,954,0,9,10,11,1392,1391,1423,42,954,950,927,0,11,12,9,1423,1424,1392,42,933,932,955,0,10,13,14,1391,1390,1425,42,955,954,933,0,14,11,10,1425,1423,1391,42,956,957,954,0,15,16,11,1426,1427,1423,42,954,955,956,0,11,14,15,1423,1425,1426,42,957,951,950,0,16,17,12,1427,1428,1424,42,950,954,957,0,12,11,16,1424,1423,1427,42,932,937,958,0,18,19,20,1398,1397,1429,42,958,955,932,0,20,21,18,1429,1430,1398,42,937,936,959,0,19,22,23,1397,1396,1431,42,959,958,937,0,23,20,19,1431,1429,1397,42,960,961,958,0,24,25,20,1432,1433,1429,42,958,959,960,0,20,23,24,1429,1431,1432,42,961,956,955,0,25,26,21,1433,1434,1430,42,955,958,961,0,21,20,25,1430,1429,1433,42,936,941,962,0,9,10,11,1404,1403,1435,42,962,959,936,0,11,12,9,1435,1436,1404,42,941,940,963,0,10,13,14,1403,1402,1437,42,963,962,941,0,14,11,10,1437,1435,1403,42,964,965,962,0,15,16,11,1438,1439,1435,42,962,963,964,0,11,14,15,1435,1437,1438,42,965,960,959,0,16,17,12,1439,1440,1436,42,959,962,965,0,12,11,16,1436,1435,1439,42,940,945,966,0,0,1,2,1410,1409,1441,42,966,963,940,0,2,3,0,1441,1442,1410,42,945,944,967,0,1,4,5,1409,1408,1443,42,967,966,945,0,5,2,1,1443,1441,1409,42,968,969,966,0,6,7,2,1444,1445,1441,42,966,967,968,0,2,5,6,1441,1443,1444,42,969,964,963,0,7,8,3,1445,1446,1442,42,963,966,969,0,3,2,7,1442,1441,1445,42,944,947,970,0,27,28,29,1416,1415,1447,42,970,967,944,0,29,30,27,1447,1448,1416,42,947,929,949,0,28,31,32,1415,1414,1449,42,949,970,947,0,32,29,28,1449,1447,1415,42,953,971,970,0,33,34,29,1450,1451,1447,42,970,949,953,0,29,32,33,1447,1449,1450,42,971,968,967,0,34,35,30,1451,1452,1448,42,967,970,971,0,30,29,34,1448,1447,1451,42,953,952,972,0,0,1,2,1422,1421,1453,42,972,973,953,0,2,3,0,1453,1454,1422,42,952,951,974,0,1,4,5,1421,1420,1455,42,974,972,952,0,5,2,1,1455,1453,1421,42,975,976,972,0,6,7,2,1456,1457,1453,42,972,974,975,0,2,5,6,1453,1455,1456,42,976,977,973,0,7,8,3,1457,1457,1454,42,973,972,976,0,3,2,7,1454,1453,1457,42,951,957,978,0,9,10,11,1428,1427,1458,42,978,974,951,0,11,12,9,1458,1459,1428,42,957,956,979,0,10,13,14,1427,1426,1460,42,979,978,957,0,14,11,10,1460,1458,1427,42,980,981,978,0,15,16,11,1461,1462,1458,42,978,979,980,0,11,14,15,1458,1460,1461,42,981,975,974,0,16,17,12,1462,1463,1459,42,974,978,981,0,12,11,16,1459,1458,1462,42,956,961,982,0,18,19,20,1434,1433,1464,42,982,979,956,0,20,21,18,1464,1465,1434,42,961,960,983,0,19,22,23,1433,1432,1466,42,983,982,961,0,23,20,19,1466,1464,1433,42,984,985,982,0,24,25,20,1467,1468,1464,42,982,983,984,0,20,23,24,1464,1466,1467,42,985,980,979,0,25,26,21,1468,1469,1465,42,979,982,985,0,21,20,25,1465,1464,1468,42,960,965,986,0,9,10,11,1440,1439,1470,42,986,983,960,0,11,12,9,1470,1471,1440,42,965,964,987,0,10,13,14,1439,1438,1472,42,987,986,965,0,14,11,10,1472,1470,1439,42,988,989,986,0,15,16,11,1473,1474,1470,42,986,987,988,0,11,14,15,1470,1472,1473,42,989,984,983,0,16,17,12,1474,1475,1471,42,983,986,989,0,12,11,16,1471,1470,1474,42,964,969,990,0,0,1,2,1446,1445,1476,42,990,987,964,0,2,3,0,1476,1477,1446,42,969,968,991,0,1,4,5,1445,1444,1478,42,991,990,969,0,5,2,1,1478,1476,1445,42,992,993,990,0,6,7,2,1479,1480,1476,42,990,991,992,0,2,5,6,1476,1478,1479,42,993,988,987,0,7,8,3,1480,1481,1477,42,987,990,993,0,3,2,7,1477,1476,1480,42,968,971,994,0,27,28,29,1452,1451,1482,42,994,991,968,0,29,30,27,1482,1483,1452,42,971,953,973,0,28,31,32,1451,1450,1484,42,973,994,971,0,32,29,28,1484,1482,1451,42,977,995,994,0,33,34,29,1485,1486,1482,42,994,973,977,0,29,32,33,1482,1484,1485,42,995,992,991,0,34,35,30,1486,1487,1483,42,991,994,995,0,30,29,34,1483,1482,1486,42,977,976,996,0,0,1,2,1457,1457,1488,42,996,997,977,0,2,3,0,1488,1489,1457,42,976,975,998,0,1,4,5,1457,1456,1490,42,998,996,976,0,5,2,1,1490,1488,1457,42,999,1000,996,0,6,7,2,1491,1492,1488,42,996,998,999,0,2,5,6,1488,1490,1491,42,1000,1001,997,0,7,8,3,1492,1493,1489,42,997,996,1000,0,3,2,7,1489,1488,1492,42,975,981,1002,0,9,10,11,1463,1462,1494,42,1002,998,975,0,11,12,9,1494,1495,1463,42,981,980,1003,0,10,13,14,1462,1461,1496,42,1003,1002,981,0,14,11,10,1496,1494,1462,42,1004,1005,1002,0,15,16,11,1497,1498,1494,42,1002,1003,1004,0,11,14,15,1494,1496,1497,42,1005,999,998,0,16,17,12,1498,1499,1495,42,998,1002,1005,0,12,11,16,1495,1494,1498,42,980,985,1006,0,18,19,20,1469,1468,1500,42,1006,1003,980,0,20,21,18,1500,1501,1469,42,985,984,1007,0,19,22,23,1468,1467,1502,42,1007,1006,985,0,23,20,19,1502,1500,1468,42,1008,1009,1006,0,24,25,20,1503,1504,1500,42,1006,1007,1008,0,20,23,24,1500,1502,1503,42,1009,1004,1003,0,25,26,21,1504,1505,1501,42,1003,1006,1009,0,21,20,25,1501,1500,1504,42,984,989,1010,0,9,10,11,1475,1474,1506,42,1010,1007,984,0,11,12,9,1506,1507,1475,42,989,988,1011,0,10,13,14,1474,1473,1508,42,1011,1010,989,0,14,11,10,1508,1506,1474,42,1012,1013,1010,0,15,16,11,1509,1510,1506,42,1010,1011,1012,0,11,14,15,1506,1508,1509,42,1013,1008,1007,0,16,17,12,1510,1511,1507,42,1007,1010,1013,0,12,11,16,1507,1506,1510,42,988,993,1014,0,0,1,2,1481,1480,1512,42,1014,1011,988,0,2,3,0,1512,1513,1481,42,993,992,1015,0,1,4,5,1480,1479,1514,42,1015,1014,993,0,5,2,1,1514,1512,1480,42,1016,1017,1014,0,6,7,2,1515,1516,1512,42,1014,1015,1016,0,2,5,6,1512,1514,1515,42,1017,1012,1011,0,7,8,3,1516,1517,1513,42,1011,1014,1017,0,3,2,7,1513,1512,1516,42,992,995,1018,0,27,28,29,1487,1486,1518,42,1018,1015,992,0,29,30,27,1518,1519,1487,42,995,977,997,0,28,31,32,1486,1485,1520,42,997,1018,995,0,32,29,28,1520,1518,1486,42,1001,1019,1018,0,33,34,29,1521,1522,1518,42,1018,997,1001,0,29,32,33,1518,1520,1521,42,1019,1016,1015,0,34,35,30,1522,1523,1519,42,1015,1018,1019,0,30,29,34,1519,1518,1522,42,1001,1000,1020,0,0,1,2,1493,1492,1524,42,1020,1021,1001,0,2,3,0,1524,1525,1493,42,1000,999,1022,0,1,4,5,1492,1491,1526,42,1022,1020,1000,0,5,2,1,1526,1524,1492,42,1023,1024,1020,0,6,7,2,1527,1528,1524,42,1020,1022,1023,0,2,5,6,1524,1526,1527,42,1024,1025,1021,0,7,8,3,1528,1529,1525,42,1021,1020,1024,0,3,2,7,1525,1524,1528,42,999,1005,1026,0,9,10,11,1499,1498,1530,42,1026,1022,999,0,11,12,9,1530,1531,1499,42,1005,1004,1027,0,10,13,14,1498,1497,1532,42,1027,1026,1005,0,14,11,10,1532,1530,1498,42,1028,1029,1026,0,15,16,11,1533,1534,1530,42,1026,1027,1028,0,11,14,15,1530,1532,1533,42,1029,1023,1022,0,16,17,12,1534,1535,1531,42,1022,1026,1029,0,12,11,16,1531,1530,1534,42,1004,1009,1030,0,18,19,20,1505,1504,1536,42,1030,1027,1004,0,20,21,18,1536,1537,1505,42,1009,1008,1031,0,19,22,23,1504,1503,1538,42,1031,1030,1009,0,23,20,19,1538,1536,1504,42,1032,1033,1030,0,24,25,20,1539,1540,1536,42,1030,1031,1032,0,20,23,24,1536,1538,1539,42,1033,1028,1027,0,25,26,21,1540,1541,1537,42,1027,1030,1033,0,21,20,25,1537,1536,1540,42,1008,1013,1034,0,9,10,11,1511,1510,1542,42,1034,1031,1008,0,11,12,9,1542,1543,1511,42,1013,1012,1035,0,10,13,14,1510,1509,1544,42,1035,1034,1013,0,14,11,10,1544,1542,1510,42,1036,1037,1034,0,15,16,11,1545,1546,1542,42,1034,1035,1036,0,11,14,15,1542,1544,1545,42,1037,1032,1031,0,16,17,12,1546,1547,1543,42,1031,1034,1037,0,12,11,16,1543,1542,1546,42,1012,1017,1038,0,0,1,2,1517,1516,1548,42,1038,1035,1012,0,2,3,0,1548,1549,1517,42,1017,1016,1039,0,1,4,5,1516,1515,1550,42,1039,1038,1017,0,5,2,1,1550,1548,1516,42,1040,1041,1038,0,6,7,2,1551,1552,1548,42,1038,1039,1040,0,2,5,6,1548,1550,1551,42,1041,1036,1035,0,7,8,3,1552,1553,1549,42,1035,1038,1041,0,3,2,7,1549,1548,1552,42,1016,1019,1042,0,27,28,29,1523,1522,1554,42,1042,1039,1016,0,29,30,27,1554,1555,1523,42,1019,1001,1021,0,28,31,32,1522,1521,1556,42,1021,1042,1019,0,32,29,28,1556,1554,1522,42,1025,1043,1042,0,33,34,29,1557,1558,1554,42,1042,1021,1025,0,29,32,33,1554,1556,1557,42,1043,1040,1039,0,34,35,30,1558,1559,1555,42,1039,1042,1043,0,30,29,34,1555,1554,1558,42,1025,1024,1044,0,0,1,2,1529,1528,1560,42,1044,1045,1025,0,2,3,0,1560,1561,1529,42,1024,1023,1046,0,1,4,5,1528,1527,1562,42,1046,1044,1024,0,5,2,1,1562,1560,1528,42,1047,1048,1044,0,6,7,2,1563,1564,1560,42,1044,1046,1047,0,2,5,6,1560,1562,1563,42,1048,1049,1045,0,7,8,3,1564,1565,1561,42,1045,1044,1048,0,3,2,7,1561,1560,1564,42,1023,1029,1050,0,9,10,11,1535,1534,1566,42,1050,1046,1023,0,11,12,9,1566,1567,1535,42,1029,1028,1051,0,10,13,14,1534,1533,1568,42,1051,1050,1029,0,14,11,10,1568,1566,1534,42,1052,1053,1050,0,15,16,11,1569,1570,1566,42,1050,1051,1052,0,11,14,15,1566,1568,1569,42,1053,1047,1046,0,16,17,12,1570,1571,1567,42,1046,1050,1053,0,12,11,16,1567,1566,1570,42,1028,1033,1054,0,18,19,20,1541,1540,1572,42,1054,1051,1028,0,20,21,18,1572,1573,1541,42,1033,1032,1055,0,19,22,23,1540,1539,1574,42,1055,1054,1033,0,23,20,19,1574,1572,1540,42,1056,1057,1054,0,24,25,20,1575,1576,1572,42,1054,1055,1056,0,20,23,24,1572,1574,1575,42,1057,1052,1051,0,25,26,21,1576,1577,1573,42,1051,1054,1057,0,21,20,25,1573,1572,1576,42,1032,1037,1058,0,9,10,11,1547,1546,1578,42,1058,1055,1032,0,11,12,9,1578,1579,1547,42,1037,1036,1059,0,10,13,14,1546,1545,1580,42,1059,1058,1037,0,14,11,10,1580,1578,1546,42,1060,1061,1058,0,15,16,11,1581,1582,1578,42,1058,1059,1060,0,11,14,15,1578,1580,1581,42,1061,1056,1055,0,16,17,12,1582,1583,1579,42,1055,1058,1061,0,12,11,16,1579,1578,1582,42,1036,1041,1062,0,0,1,2,1553,1552,1584,42,1062,1059,1036,0,2,3,0,1584,1585,1553,42,1041,1040,1063,0,1,4,5,1552,1551,1586,42,1063,1062,1041,0,5,2,1,1586,1584,1552,42,1064,1065,1062,0,6,7,2,1587,1588,1584,42,1062,1063,1064,0,2,5,6,1584,1586,1587,42,1065,1060,1059,0,7,8,3,1588,1589,1585,42,1059,1062,1065,0,3,2,7,1585,1584,1588,42,1040,1043,1066,0,27,28,29,1559,1558,1590,42,1066,1063,1040,0,29,30,27,1590,1591,1559,42,1043,1025,1045,0,28,31,32,1558,1557,1592,42,1045,1066,1043,0,32,29,28,1592,1590,1558,42,1049,1067,1066,0,33,34,29,1593,1594,1590,42,1066,1045,1049,0,29,32,33,1590,1592,1593,42,1067,1064,1063,0,34,35,30,1594,1595,1591,42,1063,1066,1067,0,30,29,34,1591,1590,1594,42,1049,1048,1068,0,0,1,2,1565,1564,1596,42,1068,1069,1049,0,2,3,0,1596,1597,1565,42,1048,1047,1070,0,1,4,5,1564,1563,1598,42,1070,1068,1048,0,5,2,1,1598,1596,1564,42,1071,1072,1068,0,6,7,2,1599,1600,1596,42,1068,1070,1071,0,2,5,6,1596,1598,1599,42,1072,1073,1069,0,7,8,3,1600,1601,1597,42,1069,1068,1072,0,3,2,7,1597,1596,1600,42,1047,1053,1074,0,9,10,11,1571,1570,1602,42,1074,1070,1047,0,11,12,9,1602,1603,1571,42,1053,1052,1075,0,10,13,14,1570,1569,1604,42,1075,1074,1053,0,14,11,10,1604,1602,1570,42,1076,1077,1074,0,15,16,11,1605,1606,1602,42,1074,1075,1076,0,11,14,15,1602,1604,1605,42,1077,1071,1070,0,16,17,12,1606,1607,1603,42,1070,1074,1077,0,12,11,16,1603,1602,1606,42,1052,1057,1078,0,18,19,20,1577,1576,1608,42,1078,1075,1052,0,20,21,18,1608,1609,1577,42,1057,1056,1079,0,19,22,23,1576,1575,1610,42,1079,1078,1057,0,23,20,19,1610,1608,1576,42,1080,1081,1078,0,24,25,20,1611,1611,1608,42,1078,1079,1080,0,20,23,24,1608,1610,1611,42,1081,1076,1075,0,25,26,21,1611,1611,1609,42,1075,1078,1081,0,21,20,25,1609,1608,1611,42,1056,1061,1082,0,9,10,11,1583,1582,1612,42,1082,1079,1056,0,11,12,9,1612,1613,1583,42,1061,1060,1083,0,10,13,14,1582,1581,1614,42,1083,1082,1061,0,14,11,10,1614,1612,1582,42,1084,1085,1082,0,15,16,11,1615,1616,1612,42,1082,1083,1084,0,11,14,15,1612,1614,1615,42,1085,1080,1079,0,16,17,12,1616,1617,1613,42,1079,1082,1085,0,12,11,16,1613,1612,1616,42,1060,1065,1086,0,0,1,2,1589,1588,1618,42,1086,1083,1060,0,2,3,0,1618,1619,1589,42,1065,1064,1087,0,1,4,5,1588,1587,1620,42,1087,1086,1065,0,5,2,1,1620,1618,1588,42,1088,1089,1086,0,6,7,2,1621,1622,1618,42,1086,1087,1088,0,2,5,6,1618,1620,1621,42,1089,1084,1083,0,7,8,3,1622,1623,1619,42,1083,1086,1089,0,3,2,7,1619,1618,1622,42,1064,1067,1090,0,27,28,29,1595,1594,1624,42,1090,1087,1064,0,29,30,27,1624,1625,1595,42,1067,1049,1069,0,28,31,32,1594,1593,1626,42,1069,1090,1067,0,32,29,28,1626,1624,1594,42,1073,1091,1090,0,33,34,29,1627,1627,1624,42,1090,1069,1073,0,29,32,33,1624,1626,1627,42,1091,1088,1087,0,34,35,30,1627,1627,1625,42,1087,1090,1091,0,30,29,34,1625,1624,1627,42,1073,1072,1092,0,0,1,2,1601,1600,1628,42,1092,1093,1073,0,2,3,0,1628,1629,1601,42,1072,1071,1094,0,1,4,5,1600,1599,1630,42,1094,1092,1072,0,5,2,1,1630,1628,1600,42,1095,1096,1092,0,6,7,2,1631,1632,1628,42,1092,1094,1095,0,2,5,6,1628,1630,1631,42,1096,1097,1093,0,7,8,3,1632,1633,1629,42,1093,1092,1096,0,3,2,7,1629,1628,1632,42,1071,1077,1098,0,9,10,11,1607,1606,1634,42,1098,1094,1071,0,11,12,9,1634,1635,1607,42,1077,1076,1099,0,10,13,14,1606,1605,1636,42,1099,1098,1077,0,14,11,10,1636,1634,1606,42,1100,1101,1098,0,15,16,11,1637,1638,1634,42,1098,1099,1100,0,11,14,15,1634,1636,1637,42,1101,1095,1094,0,16,17,12,1638,1639,1635,42,1094,1098,1101,0,12,11,16,1635,1634,1638,42,1076,1081,1102,0,18,19,20,1611,1611,1611,42,1102,1099,1076,0,20,21,18,1611,1611,1611,42,1081,1080,1103,0,19,22,23,1611,1611,1611,42,1103,1102,1081,0,23,20,19,1611,1611,1611,42,1104,1105,1102,0,24,25,20,1640,1640,1611,42,1102,1103,1104,0,20,23,24,1611,1611,1640,42,1105,1100,1099,0,25,26,21,1640,1611,1611,42,1099,1102,1105,0,21,20,25,1611,1611,1640,42,1080,1085,1106,0,9,10,11,1617,1616,1641,42,1106,1103,1080,0,11,12,9,1641,1642,1617,42,1085,1084,1107,0,10,13,14,1616,1615,1643,42,1107,1106,1085,0,14,11,10,1643,1641,1616,42,1108,1109,1106,0,15,16,11,1644,1645,1641,42,1106,1107,1108,0,11,14,15,1641,1643,1644,42,1109,1104,1103,0,16,17,12,1645,1646,1642,42,1103,1106,1109,0,12,11,16,1642,1641,1645,42,1084,1089,1110,0,0,1,2,1623,1622,1647,42,1110,1107,1084,0,2,3,0,1647,1648,1623,42,1089,1088,1111,0,1,4,5,1622,1621,1649,42,1111,1110,1089,0,5,2,1,1649,1647,1622,42,1112,1113,1110,0,6,7,2,1650,1651,1647,42,1110,1111,1112,0,2,5,6,1647,1649,1650,42,1113,1108,1107,0,7,8,3,1651,1652,1648,42,1107,1110,1113,0,3,2,7,1648,1647,1651,42,1088,1091,1114,0,27,28,29,1627,1627,1627,42,1114,1111,1088,0,29,30,27,1627,1627,1627,42,1091,1073,1093,0,28,31,32,1627,1627,1627,42,1093,1114,1091,0,32,29,28,1627,1627,1627,42,1097,1115,1114,0,33,34,29,1653,1653,1627,42,1114,1093,1097,0,29,32,33,1627,1627,1653,42,1115,1112,1111,0,34,35,30,1653,1653,1627,42,1111,1114,1115,0,30,29,34,1627,1627,1653,42,1097,1096,1116,0,0,1,2,1633,1632,1654,42,1116,1117,1097,0,2,3,0,1654,1655,1633,42,1096,1095,1118,0,1,4,5,1632,1631,1656,42,1118,1116,1096,0,5,2,1,1656,1654,1632,42,1119,1120,1116,0,6,7,2,1657,1658,1654,42,1116,1118,1119,0,2,5,6,1654,1656,1657,42,1120,1121,1117,0,7,8,3,1658,1659,1655,42,1117,1116,1120,0,3,2,7,1655,1654,1658,42,1095,1101,1122,0,9,10,11,1639,1638,1660,42,1122,1118,1095,0,11,12,9,1660,1661,1639,42,1101,1100,1123,0,10,13,14,1638,1637,1662,42,1123,1122,1101,0,14,11,10,1662,1660,1638,42,1124,1125,1122,0,15,16,11,1663,1664,1660,42,1122,1123,1124,0,11,14,15,1660,1662,1663,42,1125,1119,1118,0,16,17,12,1664,1665,1661,42,1118,1122,1125,0,12,11,16,1661,1660,1664,42,1100,1105,1126,0,18,19,20,1611,1640,1640,42,1126,1123,1100,0,20,21,18,1640,1640,1611,42,1105,1104,1127,0,19,22,23,1640,1640,1640,42,1127,1126,1105,0,23,20,19,1640,1640,1640,42,1128,1129,1126,0,24,25,20,1640,1640,1640,42,1126,1127,1128,0,20,23,24,1640,1640,1640,42,1129,1124,1123,0,25,26,21,1640,1640,1640,42,1123,1126,1129,0,21,20,25,1640,1640,1640,42,1104,1109,1130,0,9,10,11,1646,1645,1666,42,1130,1127,1104,0,11,12,9,1666,1667,1646,42,1109,1108,1131,0,10,13,14,1645,1644,1668,42,1131,1130,1109,0,14,11,10,1668,1666,1645,42,1132,1133,1130,0,15,16,11,1669,1670,1666,42,1130,1131,1132,0,11,14,15,1666,1668,1669,42,1133,1128,1127,0,16,17,12,1670,1671,1667,42,1127,1130,1133,0,12,11,16,1667,1666,1670,42,1108,1113,1134,0,0,1,2,1652,1651,1672,42,1134,1131,1108,0,2,3,0,1672,1673,1652,42,1113,1112,1135,0,1,4,5,1651,1650,1674,42,1135,1134,1113,0,5,2,1,1674,1672,1651,42,1136,1137,1134,0,6,7,2,1675,1676,1672,42,1134,1135,1136,0,2,5,6,1672,1674,1675,42,1137,1132,1131,0,7,8,3,1676,1677,1673,42,1131,1134,1137,0,3,2,7,1673,1672,1676,42,1112,1115,1138,0,27,28,29,1653,1653,1653,42,1138,1135,1112,0,29,30,27,1653,1653,1653,42,1115,1097,1117,0,28,31,32,1653,1653,1653,42,1117,1138,1115,0,32,29,28,1653,1653,1653,42,1121,1139,1138,0,33,34,29,1653,1653,1653,42,1138,1117,1121,0,29,32,33,1653,1653,1653,42,1139,1136,1135,0,34,35,30,1653,1653,1653,42,1135,1138,1139,0,30,29,34,1653,1653,1653,42,1121,1120,1140,0,0,1,2,1659,1658,1678,42,1140,1141,1121,0,2,3,0,1678,1679,1659,42,1120,1119,1142,0,1,4,5,1658,1657,1680,42,1142,1140,1120,0,5,2,1,1680,1678,1658,42,1143,1144,1140,0,6,7,2,1681,1682,1678,42,1140,1142,1143,0,2,5,6,1678,1680,1681,42,1144,1145,1141,0,7,8,3,1682,1683,1679,42,1141,1140,1144,0,3,2,7,1679,1678,1682,42,1119,1125,1146,0,9,10,11,1665,1664,1684,42,1146,1142,1119,0,11,12,9,1684,1685,1665,42,1125,1124,1147,0,10,13,14,1664,1663,1686,42,1147,1146,1125,0,14,11,10,1686,1684,1664,42,1148,1149,1146,0,15,16,11,1687,1688,1684,42,1146,1147,1148,0,11,14,15,1684,1686,1687,42,1149,1143,1142,0,16,17,12,1688,1689,1685,42,1142,1146,1149,0,12,11,16,1685,1684,1688,42,1124,1129,1150,0,18,19,20,1640,1640,1690,42,1150,1147,1124,0,20,21,18,1690,1691,1640,42,1129,1128,1151,0,19,22,23,1640,1640,1692,42,1151,1150,1129,0,23,20,19,1692,1690,1640,42,1152,1153,1150,0,24,25,20,1693,1694,1690,42,1150,1151,1152,0,20,23,24,1690,1692,1693,42,1153,1148,1147,0,25,26,21,1694,1695,1691,42,1147,1150,1153,0,21,20,25,1691,1690,1694,42,1128,1133,1154,0,9,10,11,1671,1670,1696,42,1154,1151,1128,0,11,12,9,1696,1697,1671,42,1133,1132,1155,0,10,13,14,1670,1669,1698,42,1155,1154,1133,0,14,11,10,1698,1696,1670,42,1156,1157,1154,0,15,16,11,1699,1700,1696,42,1154,1155,1156,0,11,14,15,1696,1698,1699,42,1157,1152,1151,0,16,17,12,1700,1701,1697,42,1151,1154,1157,0,12,11,16,1697,1696,1700,42,1132,1137,1158,0,0,1,2,1677,1676,1702,42,1158,1155,1132,0,2,3,0,1702,1703,1677,42,1137,1136,1159,0,1,4,5,1676,1675,1704,42,1159,1158,1137,0,5,2,1,1704,1702,1676,42,1160,1161,1158,0,6,7,2,1705,1706,1702,42,1158,1159,1160,0,2,5,6,1702,1704,1705,42,1161,1156,1155,0,7,8,3,1706,1707,1703,42,1155,1158,1161,0,3,2,7,1703,1702,1706,42,1136,1139,1162,0,27,28,29,1653,1653,1708,42,1162,1159,1136,0,29,30,27,1708,1709,1653,42,1139,1121,1141,0,28,31,32,1653,1653,1710,42,1141,1162,1139,0,32,29,28,1710,1708,1653,42,1145,1163,1162,0,33,34,29,1711,1712,1708,42,1162,1141,1145,0,29,32,33,1708,1710,1711,42,1163,1160,1159,0,34,35,30,1712,1713,1709,42,1159,1162,1163,0,30,29,34,1709,1708,1712,42,1145,1144,1164,0,0,1,2,1683,1682,1714,42,1164,1165,1145,0,2,3,0,1714,1715,1683,42,1144,1143,1166,0,1,4,5,1682,1681,1716,42,1166,1164,1144,0,5,2,1,1716,1714,1682,42,1167,1168,1164,0,6,7,2,1717,1718,1714,42,1164,1166,1167,0,2,5,6,1714,1716,1717,42,1168,1169,1165,0,7,8,3,1718,1719,1715,42,1165,1164,1168,0,3,2,7,1715,1714,1718,42,1143,1149,1170,0,9,10,11,1689,1688,1720,42,1170,1166,1143,0,11,12,9,1720,1721,1689,42,1149,1148,1171,0,10,13,14,1688,1687,1722,42,1171,1170,1149,0,14,11,10,1722,1720,1688,42,1172,1173,1170,0,15,16,11,1723,1724,1720,42,1170,1171,1172,0,11,14,15,1720,1722,1723,42,1173,1167,1166,0,16,17,12,1724,1725,1721,42,1166,1170,1173,0,12,11,16,1721,1720,1724,42,1148,1153,1174,0,18,19,20,1695,1694,1726,42,1174,1171,1148,0,20,21,18,1726,1727,1695,42,1153,1152,1175,0,19,22,23,1694,1693,1728,42,1175,1174,1153,0,23,20,19,1728,1726,1694,42,1176,1177,1174,0,24,25,20,1729,1730,1726,42,1174,1175,1176,0,20,23,24,1726,1728,1729,42,1177,1172,1171,0,25,26,21,1730,1731,1727,42,1171,1174,1177,0,21,20,25,1727,1726,1730,42,1152,1157,1178,0,9,10,11,1701,1700,1732,42,1178,1175,1152,0,11,12,9,1732,1733,1701,42,1157,1156,1179,0,10,13,14,1700,1699,1734,42,1179,1178,1157,0,14,11,10,1734,1732,1700,42,1180,1181,1178,0,15,16,11,1735,1736,1732,42,1178,1179,1180,0,11,14,15,1732,1734,1735,42,1181,1176,1175,0,16,17,12,1736,1737,1733,42,1175,1178,1181,0,12,11,16,1733,1732,1736,42,1156,1161,1182,0,0,1,2,1707,1706,1738,42,1182,1179,1156,0,2,3,0,1738,1739,1707,42,1161,1160,1183,0,1,4,5,1706,1705,1740,42,1183,1182,1161,0,5,2,1,1740,1738,1706,42,1184,1185,1182,0,6,7,2,1741,1742,1738,42,1182,1183,1184,0,2,5,6,1738,1740,1741,42,1185,1180,1179,0,7,8,3,1742,1743,1739,42,1179,1182,1185,0,3,2,7,1739,1738,1742,42,1160,1163,1186,0,27,28,29,1713,1712,1744,42,1186,1183,1160,0,29,30,27,1744,1745,1713,42,1163,1145,1165,0,28,31,32,1712,1711,1746,42,1165,1186,1163,0,32,29,28,1746,1744,1712,42,1169,1187,1186,0,33,34,29,1747,1748,1744,42,1186,1165,1169,0,29,32,33,1744,1746,1747,42,1187,1184,1183,0,34,35,30,1748,1749,1745,42,1183,1186,1187,0,30,29,34,1745,1744,1748,42,1169,1168,1188,0,0,1,2,1719,1718,1750,42,1188,1189,1169,0,2,3,0,1750,1751,1719,42,1168,1167,1190,0,1,4,5,1718,1717,1752,42,1190,1188,1168,0,5,2,1,1752,1750,1718,42,1191,1192,1188,0,6,7,2,1753,1754,1750,42,1188,1190,1191,0,2,5,6,1750,1752,1753,42,1192,1193,1189,0,7,8,3,1754,1755,1751,42,1189,1188,1192,0,3,2,7,1751,1750,1754,42,1167,1173,1194,0,9,10,11,1725,1724,1756,42,1194,1190,1167,0,11,12,9,1756,1757,1725,42,1173,1172,1195,0,10,13,14,1724,1723,1758,42,1195,1194,1173,0,14,11,10,1758,1756,1724,42,1196,1197,1194,0,15,16,11,1759,1760,1756,42,1194,1195,1196,0,11,14,15,1756,1758,1759,42,1197,1191,1190,0,16,17,12,1760,1761,1757,42,1190,1194,1197,0,12,11,16,1757,1756,1760,42,1172,1177,1198,0,18,19,20,1731,1730,1762,42,1198,1195,1172,0,20,21,18,1762,1763,1731,42,1177,1176,1199,0,19,22,23,1730,1729,1764,42,1199,1198,1177,0,23,20,19,1764,1762,1730,42,1200,1201,1198,0,24,25,20,1765,1766,1762,42,1198,1199,1200,0,20,23,24,1762,1764,1765,42,1201,1196,1195,0,25,26,21,1766,1767,1763,42,1195,1198,1201,0,21,20,25,1763,1762,1766,42,1176,1181,1202,0,9,10,11,1737,1736,1768,42,1202,1199,1176,0,11,12,9,1768,1769,1737,42,1181,1180,1203,0,10,13,14,1736,1735,1770,42,1203,1202,1181,0,14,11,10,1770,1768,1736,42,1204,1205,1202,0,15,16,11,1771,1772,1768,42,1202,1203,1204,0,11,14,15,1768,1770,1771,42,1205,1200,1199,0,16,17,12,1772,1773,1769,42,1199,1202,1205,0,12,11,16,1769,1768,1772,42,1180,1185,1206,0,0,1,2,1743,1742,1774,42,1206,1203,1180,0,2,3,0,1774,1775,1743,42,1185,1184,1207,0,1,4,5,1742,1741,1776,42,1207,1206,1185,0,5,2,1,1776,1774,1742,42,1208,1209,1206,0,6,7,2,1777,1778,1774,42,1206,1207,1208,0,2,5,6,1774,1776,1777,42,1209,1204,1203,0,7,8,3,1778,1779,1775,42,1203,1206,1209,0,3,2,7,1775,1774,1778,42,1184,1187,1210,0,27,28,29,1749,1748,1780,42,1210,1207,1184,0,29,30,27,1780,1781,1749,42,1187,1169,1189,0,28,31,32,1748,1747,1782,42,1189,1210,1187,0,32,29,28,1782,1780,1748,42,1193,1211,1210,0,33,34,29,1783,1784,1780,42,1210,1189,1193,0,29,32,33,1780,1782,1783,42,1211,1208,1207,0,34,35,30,1784,1785,1781,42,1207,1210,1211,0,30,29,34,1781,1780,1784,42,1193,1192,1212,0,0,1,2,1755,1754,1786,42,1212,1213,1193,0,2,3,0,1786,1787,1755,42,1192,1191,1214,0,1,4,5,1754,1753,1788,42,1214,1212,1192,0,5,2,1,1788,1786,1754,42,1215,1216,1212,0,6,7,2,1789,1790,1786,42,1212,1214,1215,0,2,5,6,1786,1788,1789,42,1216,1217,1213,0,7,8,3,1790,1791,1787,42,1213,1212,1216,0,3,2,7,1787,1786,1790,42,1191,1197,1218,0,9,10,11,1761,1760,1792,42,1218,1214,1191,0,11,12,9,1792,1793,1761,42,1197,1196,1219,0,10,13,14,1760,1759,1794,42,1219,1218,1197,0,14,11,10,1794,1792,1760,42,1220,1221,1218,0,15,16,11,1795,1796,1792,42,1218,1219,1220,0,11,14,15,1792,1794,1795,42,1221,1215,1214,0,16,17,12,1796,1797,1793,42,1214,1218,1221,0,12,11,16,1793,1792,1796,42,1196,1201,1222,0,18,19,20,1767,1766,1798,42,1222,1219,1196,0,20,21,18,1798,1799,1767,42,1201,1200,1223,0,19,22,23,1766,1765,1800,42,1223,1222,1201,0,23,20,19,1800,1798,1766,42,1224,1225,1222,0,24,25,20,1801,1802,1798,42,1222,1223,1224,0,20,23,24,1798,1800,1801,42,1225,1220,1219,0,25,26,21,1802,1803,1799,42,1219,1222,1225,0,21,20,25,1799,1798,1802,42,1200,1205,1226,0,9,10,11,1773,1772,1804,42,1226,1223,1200,0,11,12,9,1804,1805,1773,42,1205,1204,1227,0,10,13,14,1772,1771,1806,42,1227,1226,1205,0,14,11,10,1806,1804,1772,42,1228,1229,1226,0,15,16,11,1807,1808,1804,42,1226,1227,1228,0,11,14,15,1804,1806,1807,42,1229,1224,1223,0,16,17,12,1808,1809,1805,42,1223,1226,1229,0,12,11,16,1805,1804,1808,42,1204,1209,1230,0,0,1,2,1779,1778,1810,42,1230,1227,1204,0,2,3,0,1810,1811,1779,42,1209,1208,1231,0,1,4,5,1778,1777,1812,42,1231,1230,1209,0,5,2,1,1812,1810,1778,42,1232,1233,1230,0,6,7,2,1813,1814,1810,42,1230,1231,1232,0,2,5,6,1810,1812,1813,42,1233,1228,1227,0,7,8,3,1814,1815,1811,42,1227,1230,1233,0,3,2,7,1811,1810,1814,42,1208,1211,1234,0,27,28,29,1785,1784,1816,42,1234,1231,1208,0,29,30,27,1816,1817,1785,42,1211,1193,1213,0,28,31,32,1784,1783,1818,42,1213,1234,1211,0,32,29,28,1818,1816,1784,42,1217,1235,1234,0,33,34,29,1819,1820,1816,42,1234,1213,1217,0,29,32,33,1816,1818,1819,42,1235,1232,1231,0,34,35,30,1820,1821,1817,42,1231,1234,1235,0,30,29,34,1817,1816,1820,42,1217,1216,1236,0,0,1,2,1791,1790,1822,42,1236,1237,1217,0,2,3,0,1822,1823,1791,42,1216,1215,1238,0,1,4,5,1790,1789,1824,42,1238,1236,1216,0,5,2,1,1824,1822,1790,42,1239,1240,1236,0,6,7,2,1825,1826,1822,42,1236,1238,1239,0,2,5,6,1822,1824,1825,42,1240,1241,1237,0,7,8,3,1826,1827,1823,42,1237,1236,1240,0,3,2,7,1823,1822,1826,42,1215,1221,1242,0,9,10,11,1797,1796,1828,42,1242,1238,1215,0,11,12,9,1828,1829,1797,42,1221,1220,1243,0,10,13,14,1796,1795,1830,42,1243,1242,1221,0,14,11,10,1830,1828,1796,42,1244,1245,1242,0,15,16,11,1831,1832,1828,42,1242,1243,1244,0,11,14,15,1828,1830,1831,42,1245,1239,1238,0,16,17,12,1832,1833,1829,42,1238,1242,1245,0,12,11,16,1829,1828,1832,42,1220,1225,1246,0,18,19,20,1803,1802,1834,42,1246,1243,1220,0,20,21,18,1834,1835,1803,42,1225,1224,1247,0,19,22,23,1802,1801,1836,42,1247,1246,1225,0,23,20,19,1836,1834,1802,42,1248,1249,1246,0,24,25,20,1837,1838,1834,42,1246,1247,1248,0,20,23,24,1834,1836,1837,42,1249,1244,1243,0,25,26,21,1838,1839,1835,42,1243,1246,1249,0,21,20,25,1835,1834,1838,42,1224,1229,1250,0,9,10,11,1809,1808,1840,42,1250,1247,1224,0,11,12,9,1840,1841,1809,42,1229,1228,1251,0,10,13,14,1808,1807,1842,42,1251,1250,1229,0,14,11,10,1842,1840,1808,42,1252,1253,1250,0,15,16,11,1843,1844,1840,42,1250,1251,1252,0,11,14,15,1840,1842,1843,42,1253,1248,1247,0,16,17,12,1844,1845,1841,42,1247,1250,1253,0,12,11,16,1841,1840,1844,42,1228,1233,1254,0,0,1,2,1815,1814,1846,42,1254,1251,1228,0,2,3,0,1846,1847,1815,42,1233,1232,1255,0,1,4,5,1814,1813,1848,42,1255,1254,1233,0,5,2,1,1848,1846,1814,42,1256,1257,1254,0,6,7,2,1849,1850,1846,42,1254,1255,1256,0,2,5,6,1846,1848,1849,42,1257,1252,1251,0,7,8,3,1850,1851,1847,42,1251,1254,1257,0,3,2,7,1847,1846,1850,42,1232,1235,1258,0,27,28,29,1821,1820,1852,42,1258,1255,1232,0,29,30,27,1852,1853,1821,42,1235,1217,1237,0,28,31,32,1820,1819,1854,42,1237,1258,1235,0,32,29,28,1854,1852,1820,42,1241,1259,1258,0,33,34,29,1855,1856,1852,42,1258,1237,1241,0,29,32,33,1852,1854,1855,42,1259,1256,1255,0,34,35,30,1856,1857,1853,42,1255,1258,1259,0,30,29,34,1853,1852,1856,42,1241,1240,1260,0,0,1,2,1827,1826,1858,42,1260,1261,1241,0,2,3,0,1858,1859,1827,42,1240,1239,1262,0,1,4,5,1826,1825,1860,42,1262,1260,1240,0,5,2,1,1860,1858,1826,42,1263,1264,1260,0,6,7,2,1861,1862,1858,42,1260,1262,1263,0,2,5,6,1858,1860,1861,42,1264,1265,1261,0,7,8,3,1862,1863,1859,42,1261,1260,1264,0,3,2,7,1859,1858,1862,42,1239,1245,1266,0,9,10,11,1833,1832,1864,42,1266,1262,1239,0,11,12,9,1864,1865,1833,42,1245,1244,1267,0,10,13,14,1832,1831,1866,42,1267,1266,1245,0,14,11,10,1866,1864,1832,42,1268,1269,1266,0,15,16,11,1867,1868,1864,42,1266,1267,1268,0,11,14,15,1864,1866,1867,42,1269,1263,1262,0,16,17,12,1868,1869,1865,42,1262,1266,1269,0,12,11,16,1865,1864,1868,42,1244,1249,1270,0,18,19,20,1839,1838,1870,42,1270,1267,1244,0,20,21,18,1870,1871,1839,42,1249,1248,1271,0,19,22,23,1838,1837,1872,42,1271,1270,1249,0,23,20,19,1872,1870,1838,42,1272,1273,1270,0,24,25,20,1873,1874,1870,42,1270,1271,1272,0,20,23,24,1870,1872,1873,42,1273,1268,1267,0,25,26,21,1874,1875,1871,42,1267,1270,1273,0,21,20,25,1871,1870,1874,42,1248,1253,1274,0,9,10,11,1845,1844,1876,42,1274,1271,1248,0,11,12,9,1876,1877,1845,42,1253,1252,1275,0,10,13,14,1844,1843,1878,42,1275,1274,1253,0,14,11,10,1878,1876,1844,42,1276,1277,1274,0,15,16,11,1879,1880,1876,42,1274,1275,1276,0,11,14,15,1876,1878,1879,42,1277,1272,1271,0,16,17,12,1880,1881,1877,42,1271,1274,1277,0,12,11,16,1877,1876,1880,42,1252,1257,1278,0,0,1,2,1851,1850,1882,42,1278,1275,1252,0,2,3,0,1882,1883,1851,42,1257,1256,1279,0,1,4,5,1850,1849,1884,42,1279,1278,1257,0,5,2,1,1884,1882,1850,42,1280,1281,1278,0,6,7,2,1885,1886,1882,42,1278,1279,1280,0,2,5,6,1882,1884,1885,42,1281,1276,1275,0,7,8,3,1886,1887,1883,42,1275,1278,1281,0,3,2,7,1883,1882,1886,42,1256,1259,1282,0,27,28,29,1857,1856,1888,42,1282,1279,1256,0,29,30,27,1888,1889,1857,42,1259,1241,1261,0,28,31,32,1856,1855,1890,42,1261,1282,1259,0,32,29,28,1890,1888,1856,42,1265,1283,1282,0,33,34,29,1891,1892,1888,42,1282,1261,1265,0,29,32,33,1888,1890,1891,42,1283,1280,1279,0,34,35,30,1892,1893,1889,42,1279,1282,1283,0,30,29,34,1889,1888,1892,42,1265,1264,1284,0,0,1,2,1863,1862,1894,42,1284,1285,1265,0,2,3,0,1894,1895,1863,42,1264,1263,1286,0,1,4,5,1862,1861,1896,42,1286,1284,1264,0,5,2,1,1896,1894,1862,42,1287,1288,1284,0,6,7,2,1897,1898,1894,42,1284,1286,1287,0,2,5,6,1894,1896,1897,42,1288,1289,1285,0,7,8,3,1898,1899,1895,42,1285,1284,1288,0,3,2,7,1895,1894,1898,42,1263,1269,1290,0,9,10,11,1869,1868,1900,42,1290,1286,1263,0,11,12,9,1900,1901,1869,42,1269,1268,1291,0,10,13,14,1868,1867,1902,42,1291,1290,1269,0,14,11,10,1902,1900,1868,42,1292,1293,1290,0,15,16,11,1903,1904,1900,42,1290,1291,1292,0,11,14,15,1900,1902,1903,42,1293,1287,1286,0,16,17,12,1904,1905,1901,42,1286,1290,1293,0,12,11,16,1901,1900,1904,42,1268,1273,1294,0,18,19,20,1875,1874,1906,42,1294,1291,1268,0,20,21,18,1906,1907,1875,42,1273,1272,1295,0,19,22,23,1874,1873,1908,42,1295,1294,1273,0,23,20,19,1908,1906,1874,42,1296,1297,1294,0,24,25,20,1909,1910,1906,42,1294,1295,1296,0,20,23,24,1906,1908,1909,42,1297,1292,1291,0,25,26,21,1910,1911,1907,42,1291,1294,1297,0,21,20,25,1907,1906,1910,42,1272,1277,1298,0,9,10,11,1881,1880,1912,42,1298,1295,1272,0,11,12,9,1912,1913,1881,42,1277,1276,1299,0,10,13,14,1880,1879,1914,42,1299,1298,1277,0,14,11,10,1914,1912,1880,42,1300,1301,1298,0,15,16,11,1915,1916,1912,42,1298,1299,1300,0,11,14,15,1912,1914,1915,42,1301,1296,1295,0,16,17,12,1916,1917,1913,42,1295,1298,1301,0,12,11,16,1913,1912,1916,42,1276,1281,1302,0,0,1,2,1887,1886,1918,42,1302,1299,1276,0,2,3,0,1918,1919,1887,42,1281,1280,1303,0,1,4,5,1886,1885,1920,42,1303,1302,1281,0,5,2,1,1920,1918,1886,42,1304,1305,1302,0,6,7,2,1921,1922,1918,42,1302,1303,1304,0,2,5,6,1918,1920,1921,42,1305,1300,1299,0,7,8,3,1922,1923,1919,42,1299,1302,1305,0,3,2,7,1919,1918,1922,42,1280,1283,1306,0,27,28,29,1893,1892,1924,42,1306,1303,1280,0,29,30,27,1924,1925,1893,42,1283,1265,1285,0,28,31,32,1892,1891,1926,42,1285,1306,1283,0,32,29,28,1926,1924,1892,42,1289,1307,1306,0,33,34,29,1927,1928,1924,42,1306,1285,1289,0,29,32,33,1924,1926,1927,42,1307,1304,1303,0,34,35,30,1928,1929,1925,42,1303,1306,1307,0,30,29,34,1925,1924,1928,42,1289,1288,1308,0,0,1,2,1899,1898,1930,42,1308,1309,1289,0,2,3,0,1930,1931,1899,42,1288,1287,1310,0,1,4,5,1898,1897,1932,42,1310,1308,1288,0,5,2,1,1932,1930,1898,42,1311,1312,1308,0,6,7,2,1933,1934,1930,42,1308,1310,1311,0,2,5,6,1930,1932,1933,42,1312,1313,1309,0,7,8,3,1934,1935,1931,42,1309,1308,1312,0,3,2,7,1931,1930,1934,42,1287,1293,1314,0,9,10,11,1905,1904,1936,42,1314,1310,1287,0,11,12,9,1936,1937,1905,42,1293,1292,1315,0,10,13,14,1904,1903,1938,42,1315,1314,1293,0,14,11,10,1938,1936,1904,42,1316,1317,1314,0,15,16,11,1939,1940,1936,42,1314,1315,1316,0,11,14,15,1936,1938,1939,42,1317,1311,1310,0,16,17,12,1940,1941,1937,42,1310,1314,1317,0,12,11,16,1937,1936,1940,42,1292,1297,1318,0,18,19,20,1911,1910,1942,42,1318,1315,1292,0,20,21,18,1942,1943,1911,42,1297,1296,1319,0,19,22,23,1910,1909,1944,42,1319,1318,1297,0,23,20,19,1944,1942,1910,42,1320,1321,1318,0,24,25,20,1945,1946,1942,42,1318,1319,1320,0,20,23,24,1942,1944,1945,42,1321,1316,1315,0,25,26,21,1946,1947,1943,42,1315,1318,1321,0,21,20,25,1943,1942,1946,42,1296,1301,1322,0,9,10,11,1917,1916,1948,42,1322,1319,1296,0,11,12,9,1948,1949,1917,42,1301,1300,1323,0,10,13,14,1916,1915,1950,42,1323,1322,1301,0,14,11,10,1950,1948,1916,42,1324,1325,1322,0,15,16,11,1951,1952,1948,42,1322,1323,1324,0,11,14,15,1948,1950,1951,42,1325,1320,1319,0,16,17,12,1952,1953,1949,42,1319,1322,1325,0,12,11,16,1949,1948,1952,42,1300,1305,1326,0,0,1,2,1923,1922,1954,42,1326,1323,1300,0,2,3,0,1954,1955,1923,42,1305,1304,1327,0,1,4,5,1922,1921,1956,42,1327,1326,1305,0,5,2,1,1956,1954,1922,42,1328,1329,1326,0,6,7,2,1957,1958,1954,42,1326,1327,1328,0,2,5,6,1954,1956,1957,42,1329,1324,1323,0,7,8,3,1958,1959,1955,42,1323,1326,1329,0,3,2,7,1955,1954,1958,42,1304,1307,1330,0,27,28,29,1929,1928,1960,42,1330,1327,1304,0,29,30,27,1960,1961,1929,42,1307,1289,1309,0,28,31,32,1928,1927,1962,42,1309,1330,1307,0,32,29,28,1962,1960,1928,42,1313,1331,1330,0,33,34,29,1963,1964,1960,42,1330,1309,1313,0,29,32,33,1960,1962,1963,42,1331,1328,1327,0,34,35,30,1964,1965,1961,42,1327,1330,1331,0,30,29,34,1961,1960,1964,42,1313,1312,1332,0,0,1,2,1935,1934,1966,42,1332,1333,1313,0,2,3,0,1966,1967,1935,42,1312,1311,1334,0,1,4,5,1934,1933,1968,42,1334,1332,1312,0,5,2,1,1968,1966,1934,42,1335,1336,1332,0,6,7,2,1969,1970,1966,42,1332,1334,1335,0,2,5,6,1966,1968,1969,42,1336,1337,1333,0,7,8,3,1970,1971,1967,42,1333,1332,1336,0,3,2,7,1967,1966,1970,42,1311,1317,1338,0,9,10,11,1941,1940,1972,42,1338,1334,1311,0,11,12,9,1972,1973,1941,42,1317,1316,1339,0,10,13,14,1940,1939,1974,42,1339,1338,1317,0,14,11,10,1974,1972,1940,42,1340,1341,1338,0,15,16,11,1975,1976,1972,42,1338,1339,1340,0,11,14,15,1972,1974,1975,42,1341,1335,1334,0,16,17,12,1976,1977,1973,42,1334,1338,1341,0,12,11,16,1973,1972,1976,42,1316,1321,1342,0,18,19,20,1947,1946,1978,42,1342,1339,1316,0,20,21,18,1978,1979,1947,42,1321,1320,1343,0,19,22,23,1946,1945,1980,42,1343,1342,1321,0,23,20,19,1980,1978,1946,42,1344,1345,1342,0,24,25,20,1981,1982,1978,42,1342,1343,1344,0,20,23,24,1978,1980,1981,42,1345,1340,1339,0,25,26,21,1982,1983,1979,42,1339,1342,1345,0,21,20,25,1979,1978,1982,42,1320,1325,1346,0,9,10,11,1953,1952,1984,42,1346,1343,1320,0,11,12,9,1984,1985,1953,42,1325,1324,1347,0,10,13,14,1952,1951,1986,42,1347,1346,1325,0,14,11,10,1986,1984,1952,42,1348,1349,1346,0,15,16,11,1987,1988,1984,42,1346,1347,1348,0,11,14,15,1984,1986,1987,42,1349,1344,1343,0,16,17,12,1988,1989,1985,42,1343,1346,1349,0,12,11,16,1985,1984,1988,42,1324,1329,1350,0,0,1,2,1959,1958,1990,42,1350,1347,1324,0,2,3,0,1990,1991,1959,42,1329,1328,1351,0,1,4,5,1958,1957,1992,42,1351,1350,1329,0,5,2,1,1992,1990,1958,42,1352,1353,1350,0,6,7,2,1993,1994,1990,42,1350,1351,1352,0,2,5,6,1990,1992,1993,42,1353,1348,1347,0,7,8,3,1994,1995,1991,42,1347,1350,1353,0,3,2,7,1991,1990,1994,42,1328,1331,1354,0,27,28,29,1965,1964,1996,42,1354,1351,1328,0,29,30,27,1996,1997,1965,42,1331,1313,1333,0,28,31,32,1964,1963,1998,42,1333,1354,1331,0,32,29,28,1998,1996,1964,42,1337,1355,1354,0,33,34,29,1999,2000,1996,42,1354,1333,1337,0,29,32,33,1996,1998,1999,42,1355,1352,1351,0,34,35,30,2000,2001,1997,42,1351,1354,1355,0,30,29,34,1997,1996,2000,42,1337,1336,1356,0,0,1,2,1971,1970,2002,42,1356,1357,1337,0,2,3,0,2002,2003,1971,42,1336,1335,1358,0,1,4,5,1970,1969,2004,42,1358,1356,1336,0,5,2,1,2004,2002,1970,42,1359,1360,1356,0,6,7,2,2005,2006,2002,42,1356,1358,1359,0,2,5,6,2002,2004,2005,42,1360,1361,1357,0,7,8,3,2006,2007,2003,42,1357,1356,1360,0,3,2,7,2003,2002,2006,42,1335,1341,1362,0,9,10,11,1977,1976,2008,42,1362,1358,1335,0,11,12,9,2008,2009,1977,42,1341,1340,1363,0,10,13,14,1976,1975,2010,42,1363,1362,1341,0,14,11,10,2010,2008,1976,42,1364,1365,1362,0,15,16,11,2011,2012,2008,42,1362,1363,1364,0,11,14,15,2008,2010,2011,42,1365,1359,1358,0,16,17,12,2012,2013,2009,42,1358,1362,1365,0,12,11,16,2009,2008,2012,42,1340,1345,1366,0,18,19,20,1983,1982,2014,42,1366,1363,1340,0,20,21,18,2014,2015,1983,42,1345,1344,1367,0,19,22,23,1982,1981,2016,42,1367,1366,1345,0,23,20,19,2016,2014,1982,42,1368,1369,1366,0,24,25,20,2017,2018,2014,42,1366,1367,1368,0,20,23,24,2014,2016,2017,42,1369,1364,1363,0,25,26,21,2018,2019,2015,42,1363,1366,1369,0,21,20,25,2015,2014,2018,42,1344,1349,1370,0,9,10,11,1989,1988,2020,42,1370,1367,1344,0,11,12,9,2020,2021,1989,42,1349,1348,1371,0,10,13,14,1988,1987,2022,42,1371,1370,1349,0,14,11,10,2022,2020,1988,42,1372,1373,1370,0,15,16,11,2023,2024,2020,42,1370,1371,1372,0,11,14,15,2020,2022,2023,42,1373,1368,1367,0,16,17,12,2024,2025,2021,42,1367,1370,1373,0,12,11,16,2021,2020,2024,42,1348,1353,1374,0,0,1,2,1995,1994,2026,42,1374,1371,1348,0,2,3,0,2026,2027,1995,42,1353,1352,1375,0,1,4,5,1994,1993,2028,42,1375,1374,1353,0,5,2,1,2028,2026,1994,42,1376,1377,1374,0,6,7,2,2029,2030,2026,42,1374,1375,1376,0,2,5,6,2026,2028,2029,42,1377,1372,1371,0,7,8,3,2030,2031,2027,42,1371,1374,1377,0,3,2,7,2027,2026,2030,42,1352,1355,1378,0,27,28,29,2001,2000,2032,42,1378,1375,1352,0,29,30,27,2032,2033,2001,42,1355,1337,1357,0,28,31,32,2000,1999,2034,42,1357,1378,1355,0,32,29,28,2034,2032,2000,42,1361,1379,1378,0,33,34,29,2035,2036,2032,42,1378,1357,1361,0,29,32,33,2032,2034,2035,42,1379,1376,1375,0,34,35,30,2036,2037,2033,42,1375,1378,1379,0,30,29,34,2033,2032,2036,42,1361,1360,1380,0,0,1,2,2007,2006,2038,42,1380,1381,1361,0,2,3,0,2038,2039,2007,42,1360,1359,1382,0,1,4,5,2006,2005,2040,42,1382,1380,1360,0,5,2,1,2040,2038,2006,42,1383,1384,1380,0,6,7,2,2041,2042,2038,42,1380,1382,1383,0,2,5,6,2038,2040,2041,42,1384,1385,1381,0,7,8,3,2042,2043,2039,42,1381,1380,1384,0,3,2,7,2039,2038,2042,42,1359,1365,1386,0,9,10,11,2013,2012,2044,42,1386,1382,1359,0,11,12,9,2044,2045,2013,42,1365,1364,1387,0,10,13,14,2012,2011,2046,42,1387,1386,1365,0,14,11,10,2046,2044,2012,42,1388,1389,1386,0,15,16,11,2047,2048,2044,42,1386,1387,1388,0,11,14,15,2044,2046,2047,42,1389,1383,1382,0,16,17,12,2048,2049,2045,42,1382,1386,1389,0,12,11,16,2045,2044,2048,42,1364,1369,1390,0,18,19,20,2019,2018,2050,42,1390,1387,1364,0,20,21,18,2050,2051,2019,42,1369,1368,1391,0,19,22,23,2018,2017,2052,42,1391,1390,1369,0,23,20,19,2052,2050,2018,42,1392,1393,1390,0,24,25,20,2053,2054,2050,42,1390,1391,1392,0,20,23,24,2050,2052,2053,42,1393,1388,1387,0,25,26,21,2054,2055,2051,42,1387,1390,1393,0,21,20,25,2051,2050,2054,42,1368,1373,1394,0,9,10,11,2025,2024,2056,42,1394,1391,1368,0,11,12,9,2056,2057,2025,42,1373,1372,1395,0,10,13,14,2024,2023,2058,42,1395,1394,1373,0,14,11,10,2058,2056,2024,42,1396,1397,1394,0,15,16,11,2059,2060,2056,42,1394,1395,1396,0,11,14,15,2056,2058,2059,42,1397,1392,1391,0,16,17,12,2060,2061,2057,42,1391,1394,1397,0,12,11,16,2057,2056,2060,42,1372,1377,1398,0,0,1,2,2031,2030,2062,42,1398,1395,1372,0,2,3,0,2062,2063,2031,42,1377,1376,1399,0,1,4,5,2030,2029,2064,42,1399,1398,1377,0,5,2,1,2064,2062,2030,42,1400,1401,1398,0,6,7,2,2065,2066,2062,42,1398,1399,1400,0,2,5,6,2062,2064,2065,42,1401,1396,1395,0,7,8,3,2066,2067,2063,42,1395,1398,1401,0,3,2,7,2063,2062,2066,42,1376,1379,1402,0,27,28,29,2037,2036,2068,42,1402,1399,1376,0,29,30,27,2068,2069,2037,42,1379,1361,1381,0,28,31,32,2036,2035,2070,42,1381,1402,1379,0,32,29,28,2070,2068,2036,42,1385,1403,1402,0,33,34,29,2071,2072,2068,42,1402,1381,1385,0,29,32,33,2068,2070,2071,42,1403,1400,1399,0,34,35,30,2072,2073,2069,42,1399,1402,1403,0,30,29,34,2069,2068,2072,42,1385,1384,1404,0,0,1,2,2043,2042,2074,42,1404,1405,1385,0,2,3,0,2074,2075,2043,42,1384,1383,1406,0,1,4,5,2042,2041,2076,42,1406,1404,1384,0,5,2,1,2076,2074,2042,42,1407,1408,1404,0,6,7,2,2077,2078,2074,42,1404,1406,1407,0,2,5,6,2074,2076,2077,42,1408,1409,1405,0,7,8,3,2078,2079,2075,42,1405,1404,1408,0,3,2,7,2075,2074,2078,42,1383,1389,1410,0,9,10,11,2049,2048,2080,42,1410,1406,1383,0,11,12,9,2080,2081,2049,42,1389,1388,1411,0,10,13,14,2048,2047,2082,42,1411,1410,1389,0,14,11,10,2082,2080,2048,42,1412,1413,1410,0,15,16,11,2083,2084,2080,42,1410,1411,1412,0,11,14,15,2080,2082,2083,42,1413,1407,1406,0,16,17,12,2084,2085,2081,42,1406,1410,1413,0,12,11,16,2081,2080,2084,42,1388,1393,1414,0,18,19,20,2055,2054,2086,42,1414,1411,1388,0,20,21,18,2086,2087,2055,42,1393,1392,1415,0,19,22,23,2054,2053,2088,42,1415,1414,1393,0,23,20,19,2088,2086,2054,42,1416,1417,1414,0,24,25,20,2089,2090,2086,42,1414,1415,1416,0,20,23,24,2086,2088,2089,42,1417,1412,1411,0,25,26,21,2090,2091,2087,42,1411,1414,1417,0,21,20,25,2087,2086,2090,42,1392,1397,1418,0,9,10,11,2061,2060,2092,42,1418,1415,1392,0,11,12,9,2092,2093,2061,42,1397,1396,1419,0,10,13,14,2060,2059,2094,42,1419,1418,1397,0,14,11,10,2094,2092,2060,42,1420,1421,1418,0,15,16,11,2095,2096,2092,42,1418,1419,1420,0,11,14,15,2092,2094,2095,42,1421,1416,1415,0,16,17,12,2096,2097,2093,42,1415,1418,1421,0,12,11,16,2093,2092,2096,42,1396,1401,1422,0,0,1,2,2067,2066,2098,42,1422,1419,1396,0,2,3,0,2098,2099,2067,42,1401,1400,1423,0,1,4,5,2066,2065,2100,42,1423,1422,1401,0,5,2,1,2100,2098,2066,42,1424,1425,1422,0,6,7,2,2101,2102,2098,42,1422,1423,1424,0,2,5,6,2098,2100,2101,42,1425,1420,1419,0,7,8,3,2102,2103,2099,42,1419,1422,1425,0,3,2,7,2099,2098,2102,42,1400,1403,1426,0,27,28,29,2073,2072,2104,42,1426,1423,1400,0,29,30,27,2104,2105,2073,42,1403,1385,1405,0,28,31,32,2072,2071,2106,42,1405,1426,1403,0,32,29,28,2106,2104,2072,42,1409,1427,1426,0,33,34,29,2107,2108,2104,42,1426,1405,1409,0,29,32,33,2104,2106,2107,42,1427,1424,1423,0,34,35,30,2108,2109,2105,42,1423,1426,1427,0,30,29,34,2105,2104,2108,42,1409,1408,1428,0,0,1,2,2079,2078,2110,42,1428,1429,1409,0,2,3,0,2110,2111,2079,42,1408,1407,1430,0,1,4,5,2078,2077,2112,42,1430,1428,1408,0,5,2,1,2112,2110,2078,42,1431,1432,1428,0,6,7,2,2113,2114,2110,42,1428,1430,1431,0,2,5,6,2110,2112,2113,42,1432,1433,1429,0,7,8,3,2114,2115,2111,42,1429,1428,1432,0,3,2,7,2111,2110,2114,42,1407,1413,1434,0,9,10,11,2085,2084,2116,42,1434,1430,1407,0,11,12,9,2116,2117,2085,42,1413,1412,1435,0,10,13,14,2084,2083,2118,42,1435,1434,1413,0,14,11,10,2118,2116,2084,42,1436,1437,1434,0,15,16,11,2119,2120,2116,42,1434,1435,1436,0,11,14,15,2116,2118,2119,42,1437,1431,1430,0,16,17,12,2120,2121,2117,42,1430,1434,1437,0,12,11,16,2117,2116,2120,42,1412,1417,1438,0,18,19,20,2091,2090,2122,42,1438,1435,1412,0,20,21,18,2122,2123,2091,42,1417,1416,1439,0,19,22,23,2090,2089,2124,42,1439,1438,1417,0,23,20,19,2124,2122,2090,42,1440,1441,1438,0,24,25,20,2125,2126,2122,42,1438,1439,1440,0,20,23,24,2122,2124,2125,42,1441,1436,1435,0,25,26,21,2126,2127,2123,42,1435,1438,1441,0,21,20,25,2123,2122,2126,42,1416,1421,1442,0,9,10,11,2097,2096,2128,42,1442,1439,1416,0,11,12,9,2128,2129,2097,42,1421,1420,1443,0,10,13,14,2096,2095,2130,42,1443,1442,1421,0,14,11,10,2130,2128,2096,42,1444,1445,1442,0,15,16,11,2131,2132,2128,42,1442,1443,1444,0,11,14,15,2128,2130,2131,42,1445,1440,1439,0,16,17,12,2132,2133,2129,42,1439,1442,1445,0,12,11,16,2129,2128,2132,42,1420,1425,1446,0,0,1,2,2103,2102,2134,42,1446,1443,1420,0,2,3,0,2134,2135,2103,42,1425,1424,1447,0,1,4,5,2102,2101,2136,42,1447,1446,1425,0,5,2,1,2136,2134,2102,42,1448,1449,1446,0,6,7,2,2137,2138,2134,42,1446,1447,1448,0,2,5,6,2134,2136,2137,42,1449,1444,1443,0,7,8,3,2138,2139,2135,42,1443,1446,1449,0,3,2,7,2135,2134,2138,42,1424,1427,1450,0,27,28,29,2109,2108,2140,42,1450,1447,1424,0,29,30,27,2140,2141,2109,42,1427,1409,1429,0,28,31,32,2108,2107,2142,42,1429,1450,1427,0,32,29,28,2142,2140,2108,42,1433,1451,1450,0,33,34,29,2143,2144,2140,42,1450,1429,1433,0,29,32,33,2140,2142,2143,42,1451,1448,1447,0,34,35,30,2144,2145,2141,42,1447,1450,1451,0,30,29,34,2141,2140,2144,42,1433,1432,1452,0,0,1,2,2115,2114,2146,42,1452,1453,1433,0,2,3,0,2146,2147,2115,42,1432,1431,1454,0,1,4,5,2114,2113,2148,42,1454,1452,1432,0,5,2,1,2148,2146,2114,42,1455,1456,1452,0,6,7,2,2149,2150,2146,42,1452,1454,1455,0,2,5,6,2146,2148,2149,42,1456,1457,1453,0,7,8,3,2150,2151,2147,42,1453,1452,1456,0,3,2,7,2147,2146,2150,42,1431,1437,1458,0,9,10,11,2121,2120,2152,42,1458,1454,1431,0,11,12,9,2152,2153,2121,42,1437,1436,1459,0,10,13,14,2120,2119,2154,42,1459,1458,1437,0,14,11,10,2154,2152,2120,42,1460,1461,1458,0,15,16,11,2155,2156,2152,42,1458,1459,1460,0,11,14,15,2152,2154,2155,42,1461,1455,1454,0,16,17,12,2156,2157,2153,42,1454,1458,1461,0,12,11,16,2153,2152,2156,42,1436,1441,1462,0,18,19,20,2127,2126,2158,42,1462,1459,1436,0,20,21,18,2158,2159,2127,42,1441,1440,1463,0,19,22,23,2126,2125,2160,42,1463,1462,1441,0,23,20,19,2160,2158,2126,42,1464,1465,1462,0,24,25,20,2161,2162,2158,42,1462,1463,1464,0,20,23,24,2158,2160,2161,42,1465,1460,1459,0,25,26,21,2162,2163,2159,42,1459,1462,1465,0,21,20,25,2159,2158,2162,42,1440,1445,1466,0,9,10,11,2133,2132,2164,42,1466,1463,1440,0,11,12,9,2164,2165,2133,42,1445,1444,1467,0,10,13,14,2132,2131,2166,42,1467,1466,1445,0,14,11,10,2166,2164,2132,42,1468,1469,1466,0,15,16,11,2167,2168,2164,42,1466,1467,1468,0,11,14,15,2164,2166,2167,42,1469,1464,1463,0,16,17,12,2168,2169,2165,42,1463,1466,1469,0,12,11,16,2165,2164,2168,42,1444,1449,1470,0,0,1,2,2139,2138,2170,42,1470,1467,1444,0,2,3,0,2170,2171,2139,42,1449,1448,1471,0,1,4,5,2138,2137,2172,42,1471,1470,1449,0,5,2,1,2172,2170,2138,42,1472,1473,1470,0,6,7,2,2173,2174,2170,42,1470,1471,1472,0,2,5,6,2170,2172,2173,42,1473,1468,1467,0,7,8,3,2174,2175,2171,42,1467,1470,1473,0,3,2,7,2171,2170,2174,42,1448,1451,1474,0,27,28,29,2145,2144,2176,42,1474,1471,1448,0,29,30,27,2176,2177,2145,42,1451,1433,1453,0,28,31,32,2144,2143,2178,42,1453,1474,1451,0,32,29,28,2178,2176,2144,42,1457,1475,1474,0,33,34,29,2179,2180,2176,42,1474,1453,1457,0,29,32,33,2176,2178,2179,42,1475,1472,1471,0,34,35,30,2180,2181,2177,42,1471,1474,1475,0,30,29,34,2177,2176,2180,42,1457,1456,1476,0,0,1,2,2151,2150,2182,42,1476,1477,1457,0,2,3,0,2182,2183,2151,42,1456,1455,1478,0,1,4,5,2150,2149,2184,42,1478,1476,1456,0,5,2,1,2184,2182,2150,42,1479,1480,1476,0,6,7,2,2185,2186,2182,42,1476,1478,1479,0,2,5,6,2182,2184,2185,42,1480,1481,1477,0,7,8,3,2186,2187,2183,42,1477,1476,1480,0,3,2,7,2183,2182,2186,42,1455,1461,1482,0,9,10,11,2157,2156,2188,42,1482,1478,1455,0,11,12,9,2188,2189,2157,42,1461,1460,1483,0,10,13,14,2156,2155,2190,42,1483,1482,1461,0,14,11,10,2190,2188,2156,42,1484,1485,1482,0,15,16,11,2191,2192,2188,42,1482,1483,1484,0,11,14,15,2188,2190,2191,42,1485,1479,1478,0,16,17,12,2192,2193,2189,42,1478,1482,1485,0,12,11,16,2189,2188,2192,42,1460,1465,1486,0,18,19,20,2163,2162,2194,42,1486,1483,1460,0,20,21,18,2194,2195,2163,42,1465,1464,1487,0,19,22,23,2162,2161,2196,42,1487,1486,1465,0,23,20,19,2196,2194,2162,42,1488,1489,1486,0,24,25,20,2197,2198,2194,42,1486,1487,1488,0,20,23,24,2194,2196,2197,42,1489,1484,1483,0,25,26,21,2198,2199,2195,42,1483,1486,1489,0,21,20,25,2195,2194,2198,42,1464,1469,1490,0,9,10,11,2169,2168,2200,42,1490,1487,1464,0,11,12,9,2200,2201,2169,42,1469,1468,1491,0,10,13,14,2168,2167,2202,42,1491,1490,1469,0,14,11,10,2202,2200,2168,42,1492,1493,1490,0,15,16,11,2203,2204,2200,42,1490,1491,1492,0,11,14,15,2200,2202,2203,42,1493,1488,1487,0,16,17,12,2204,2205,2201,42,1487,1490,1493,0,12,11,16,2201,2200,2204,42,1468,1473,1494,0,0,1,2,2175,2174,2206,42,1494,1491,1468,0,2,3,0,2206,2207,2175,42,1473,1472,1495,0,1,4,5,2174,2173,2208,42,1495,1494,1473,0,5,2,1,2208,2206,2174,42,1496,1497,1494,0,6,7,2,2209,2210,2206,42,1494,1495,1496,0,2,5,6,2206,2208,2209,42,1497,1492,1491,0,7,8,3,2210,2211,2207,42,1491,1494,1497,0,3,2,7,2207,2206,2210,42,1472,1475,1498,0,27,28,29,2181,2180,2212,42,1498,1495,1472,0,29,30,27,2212,2213,2181,42,1475,1457,1477,0,28,31,32,2180,2179,2214,42,1477,1498,1475,0,32,29,28,2214,2212,2180,42,1481,1499,1498,0,33,34,29,2215,2216,2212,42,1498,1477,1481,0,29,32,33,2212,2214,2215,42,1499,1496,1495,0,34,35,30,2216,2217,2213,42,1495,1498,1499,0,30,29,34,2213,2212,2216,42,1481,1480,1500,0,0,1,2,2187,2186,2218,42,1500,1501,1481,0,2,3,0,2218,2219,2187,42,1480,1479,1502,0,1,4,5,2186,2185,2220,42,1502,1500,1480,0,5,2,1,2220,2218,2186,42,1503,1504,1500,0,6,7,2,2221,2222,2218,42,1500,1502,1503,0,2,5,6,2218,2220,2221,42,1504,1505,1501,0,7,8,3,2222,2223,2219,42,1501,1500,1504,0,3,2,7,2219,2218,2222,42,1479,1485,1506,0,9,10,11,2193,2192,2224,42,1506,1502,1479,0,11,12,9,2224,2225,2193,42,1485,1484,1507,0,10,13,14,2192,2191,2226,42,1507,1506,1485,0,14,11,10,2226,2224,2192,42,1508,1509,1506,0,15,16,11,2227,2228,2224,42,1506,1507,1508,0,11,14,15,2224,2226,2227,42,1509,1503,1502,0,16,17,12,2228,2229,2225,42,1502,1506,1509,0,12,11,16,2225,2224,2228,42,1484,1489,1510,0,18,19,20,2199,2198,2230,42,1510,1507,1484,0,20,21,18,2230,2231,2199,42,1489,1488,1511,0,19,22,23,2198,2197,2232,42,1511,1510,1489,0,23,20,19,2232,2230,2198,42,1512,1513,1510,0,24,25,20,2233,2234,2230,42,1510,1511,1512,0,20,23,24,2230,2232,2233,42,1513,1508,1507,0,25,26,21,2234,2235,2231,42,1507,1510,1513,0,21,20,25,2231,2230,2234,42,1488,1493,1514,0,9,10,11,2205,2204,2236,42,1514,1511,1488,0,11,12,9,2236,2237,2205,42,1493,1492,1515,0,10,13,14,2204,2203,2238,42,1515,1514,1493,0,14,11,10,2238,2236,2204,42,1516,1517,1514,0,15,16,11,2239,2240,2236,42,1514,1515,1516,0,11,14,15,2236,2238,2239,42,1517,1512,1511,0,16,17,12,2240,2241,2237,42,1511,1514,1517,0,12,11,16,2237,2236,2240,42,1492,1497,1518,0,0,1,2,2211,2210,2242,42,1518,1515,1492,0,2,3,0,2242,2243,2211,42,1497,1496,1519,0,1,4,5,2210,2209,2244,42,1519,1518,1497,0,5,2,1,2244,2242,2210,42,1520,1521,1518,0,6,7,2,2245,2246,2242,42,1518,1519,1520,0,2,5,6,2242,2244,2245,42,1521,1516,1515,0,7,8,3,2246,2247,2243,42,1515,1518,1521,0,3,2,7,2243,2242,2246,42,1496,1499,1522,0,27,28,29,2217,2216,2248,42,1522,1519,1496,0,29,30,27,2248,2249,2217,42,1499,1481,1501,0,28,31,32,2216,2215,2250,42,1501,1522,1499,0,32,29,28,2250,2248,2216,42,1505,1523,1522,0,33,34,29,2251,2252,2248,42,1522,1501,1505,0,29,32,33,2248,2250,2251,42,1523,1520,1519,0,34,35,30,2252,2253,2249,42,1519,1522,1523,0,30,29,34,2249,2248,2252,42,1505,1504,1524,0,0,1,2,2223,2222,2254,42,1524,1525,1505,0,2,3,0,2254,2255,2223,42,1504,1503,1526,0,1,4,5,2222,2221,2256,42,1526,1524,1504,0,5,2,1,2256,2254,2222,42,1527,1528,1524,0,6,7,2,2257,2258,2254,42,1524,1526,1527,0,2,5,6,2254,2256,2257,42,1528,1529,1525,0,7,8,3,2258,2259,2255,42,1525,1524,1528,0,3,2,7,2255,2254,2258,42,1503,1509,1530,0,9,10,11,2229,2228,2260,42,1530,1526,1503,0,11,12,9,2260,2261,2229,42,1509,1508,1531,0,10,13,14,2228,2227,2262,42,1531,1530,1509,0,14,11,10,2262,2260,2228,42,1532,1533,1530,0,15,16,11,2263,2264,2260,42,1530,1531,1532,0,11,14,15,2260,2262,2263,42,1533,1527,1526,0,16,17,12,2264,2265,2261,42,1526,1530,1533,0,12,11,16,2261,2260,2264,42,1508,1513,1534,0,18,19,20,2235,2234,2266,42,1534,1531,1508,0,20,21,18,2266,2267,2235,42,1513,1512,1535,0,19,22,23,2234,2233,2268,42,1535,1534,1513,0,23,20,19,2268,2266,2234,42,1536,1537,1534,0,24,25,20,2269,2270,2266,42,1534,1535,1536,0,20,23,24,2266,2268,2269,42,1537,1532,1531,0,25,26,21,2270,2271,2267,42,1531,1534,1537,0,21,20,25,2267,2266,2270,42,1512,1517,1538,0,9,10,11,2241,2240,2272,42,1538,1535,1512,0,11,12,9,2272,2273,2241,42,1517,1516,1539,0,10,13,14,2240,2239,2274,42,1539,1538,1517,0,14,11,10,2274,2272,2240,42,1540,1541,1538,0,15,16,11,2275,2276,2272,42,1538,1539,1540,0,11,14,15,2272,2274,2275,42,1541,1536,1535,0,16,17,12,2276,2277,2273,42,1535,1538,1541,0,12,11,16,2273,2272,2276,42,1516,1521,1542,0,0,1,2,2247,2246,2278,42,1542,1539,1516,0,2,3,0,2278,2279,2247,42,1521,1520,1543,0,1,4,5,2246,2245,2280,42,1543,1542,1521,0,5,2,1,2280,2278,2246,42,1544,1545,1542,0,6,7,2,2281,2282,2278,42,1542,1543,1544,0,2,5,6,2278,2280,2281,42,1545,1540,1539,0,7,8,3,2282,2283,2279,42,1539,1542,1545,0,3,2,7,2279,2278,2282,42,1520,1523,1546,0,27,28,29,2253,2252,2284,42,1546,1543,1520,0,29,30,27,2284,2285,2253,42,1523,1505,1525,0,28,31,32,2252,2251,2286,42,1525,1546,1523,0,32,29,28,2286,2284,2252,42,1529,1547,1546,0,33,34,29,2287,2288,2284,42,1546,1525,1529,0,29,32,33,2284,2286,2287,42,1547,1544,1543,0,34,35,30,2288,2289,2285,42,1543,1546,1547,0,30,29,34,2285,2284,2288,42,1529,1528,1548,0,0,1,2,2259,2258,2290,42,1548,1549,1529,0,2,3,0,2290,2291,2259,42,1528,1527,1550,0,1,4,5,2258,2257,2292,42,1550,1548,1528,0,5,2,1,2292,2290,2258,42,1551,1552,1548,0,6,7,2,2293,2294,2290,42,1548,1550,1551,0,2,5,6,2290,2292,2293,42,1552,1553,1549,0,7,8,3,2294,2295,2291,42,1549,1548,1552,0,3,2,7,2291,2290,2294,42,1527,1533,1554,0,9,10,11,2265,2264,2296,42,1554,1550,1527,0,11,12,9,2296,2297,2265,42,1533,1532,1555,0,10,13,14,2264,2263,2298,42,1555,1554,1533,0,14,11,10,2298,2296,2264,42,1556,1557,1554,0,15,16,11,2299,2300,2296,42,1554,1555,1556,0,11,14,15,2296,2298,2299,42,1557,1551,1550,0,16,17,12,2300,2301,2297,42,1550,1554,1557,0,12,11,16,2297,2296,2300,42,1532,1537,1558,0,18,19,20,2271,2270,2302,42,1558,1555,1532,0,20,21,18,2302,2303,2271,42,1537,1536,1559,0,19,22,23,2270,2269,2304,42,1559,1558,1537,0,23,20,19,2304,2302,2270,42,1560,1561,1558,0,24,25,20,2305,2306,2302,42,1558,1559,1560,0,20,23,24,2302,2304,2305,42,1561,1556,1555,0,25,26,21,2306,2307,2303,42,1555,1558,1561,0,21,20,25,2303,2302,2306,42,1536,1541,1562,0,9,10,11,2277,2276,2308,42,1562,1559,1536,0,11,12,9,2308,2309,2277,42,1541,1540,1563,0,10,13,14,2276,2275,2310,42,1563,1562,1541,0,14,11,10,2310,2308,2276,42,1564,1565,1562,0,15,16,11,2311,2312,2308,42,1562,1563,1564,0,11,14,15,2308,2310,2311,42,1565,1560,1559,0,16,17,12,2312,2313,2309,42,1559,1562,1565,0,12,11,16,2309,2308,2312,42,1540,1545,1566,0,0,1,2,2283,2282,2314,42,1566,1563,1540,0,2,3,0,2314,2315,2283,42,1545,1544,1567,0,1,4,5,2282,2281,2316,42,1567,1566,1545,0,5,2,1,2316,2314,2282,42,1568,1569,1566,0,6,7,2,2317,2318,2314,42,1566,1567,1568,0,2,5,6,2314,2316,2317,42,1569,1564,1563,0,7,8,3,2318,2319,2315,42,1563,1566,1569,0,3,2,7,2315,2314,2318,42,1544,1547,1570,0,27,28,29,2289,2288,2320,42,1570,1567,1544,0,29,30,27,2320,2321,2289,42,1547,1529,1549,0,28,31,32,2288,2287,2322,42,1549,1570,1547,0,32,29,28,2322,2320,2288,42,1553,1571,1570,0,33,34,29,2323,2324,2320,42,1570,1549,1553,0,29,32,33,2320,2322,2323,42,1571,1568,1567,0,34,35,30,2324,2325,2321,42,1567,1570,1571,0,30,29,34,2321,2320,2324,42,1553,1552,1572,0,0,1,2,2295,2294,2326,42,1572,1573,1553,0,2,3,0,2326,2327,2295,42,1552,1551,1574,0,1,4,5,2294,2293,2328,42,1574,1572,1552,0,5,2,1,2328,2326,2294,42,1575,1576,1572,0,6,7,2,2329,2330,2326,42,1572,1574,1575,0,2,5,6,2326,2328,2329,42,1576,1577,1573,0,7,8,3,2330,2331,2327,42,1573,1572,1576,0,3,2,7,2327,2326,2330,42,1551,1557,1578,0,9,10,11,2301,2300,2332,42,1578,1574,1551,0,11,12,9,2332,2333,2301,42,1557,1556,1579,0,10,13,14,2300,2299,2334,42,1579,1578,1557,0,14,11,10,2334,2332,2300,42,1580,1581,1578,0,15,16,11,2335,2336,2332,42,1578,1579,1580,0,11,14,15,2332,2334,2335,42,1581,1575,1574,0,16,17,12,2336,2337,2333,42,1574,1578,1581,0,12,11,16,2333,2332,2336,42,1556,1561,1582,0,18,19,20,2307,2306,2338,42,1582,1579,1556,0,20,21,18,2338,2339,2307,42,1561,1560,1583,0,19,22,23,2306,2305,2340,42,1583,1582,1561,0,23,20,19,2340,2338,2306,42,1584,1585,1582,0,24,25,20,2341,2342,2338,42,1582,1583,1584,0,20,23,24,2338,2340,2341,42,1585,1580,1579,0,25,26,21,2342,2343,2339,42,1579,1582,1585,0,21,20,25,2339,2338,2342,42,1560,1565,1586,0,9,10,11,2313,2312,2344,42,1586,1583,1560,0,11,12,9,2344,2345,2313,42,1565,1564,1587,0,10,13,14,2312,2311,2346,42,1587,1586,1565,0,14,11,10,2346,2344,2312,42,1588,1589,1586,0,15,16,11,2347,2348,2344,42,1586,1587,1588,0,11,14,15,2344,2346,2347,42,1589,1584,1583,0,16,17,12,2348,2349,2345,42,1583,1586,1589,0,12,11,16,2345,2344,2348,42,1564,1569,1590,0,0,1,2,2319,2318,2350,42,1590,1587,1564,0,2,3,0,2350,2351,2319,42,1569,1568,1591,0,1,4,5,2318,2317,2352,42,1591,1590,1569,0,5,2,1,2352,2350,2318,42,1592,1593,1590,0,6,7,2,2353,2354,2350,42,1590,1591,1592,0,2,5,6,2350,2352,2353,42,1593,1588,1587,0,7,8,3,2354,2355,2351,42,1587,1590,1593,0,3,2,7,2351,2350,2354,42,1568,1571,1594,0,27,28,29,2325,2324,2356,42,1594,1591,1568,0,29,30,27,2356,2357,2325,42,1571,1553,1573,0,28,31,32,2324,2323,2358,42,1573,1594,1571,0,32,29,28,2358,2356,2324,42,1577,1595,1594,0,33,34,29,2359,2360,2356,42,1594,1573,1577,0,29,32,33,2356,2358,2359,42,1595,1592,1591,0,34,35,30,2360,2361,2357,42,1591,1594,1595,0,30,29,34,2357,2356,2360,42,1577,1576,1596,0,0,1,2,2331,2330,2362,42,1596,1597,1577,0,2,3,0,2362,2363,2331,42,1576,1575,1598,0,1,4,5,2330,2329,2364,42,1598,1596,1576,0,5,2,1,2364,2362,2330,42,1599,1600,1596,0,6,7,2,2365,2366,2362,42,1596,1598,1599,0,2,5,6,2362,2364,2365,42,1600,1601,1597,0,7,8,3,2366,2367,2363,42,1597,1596,1600,0,3,2,7,2363,2362,2366,42,1575,1581,1602,0,9,10,11,2337,2336,2368,42,1602,1598,1575,0,11,12,9,2368,2369,2337,42,1581,1580,1603,0,10,13,14,2336,2335,2370,42,1603,1602,1581,0,14,11,10,2370,2368,2336,42,1604,1605,1602,0,15,16,11,2371,2372,2368,42,1602,1603,1604,0,11,14,15,2368,2370,2371,42,1605,1599,1598,0,16,17,12,2372,2373,2369,42,1598,1602,1605,0,12,11,16,2369,2368,2372,42,1580,1585,1606,0,18,19,20,2343,2342,2374,42,1606,1603,1580,0,20,21,18,2374,2375,2343,42,1585,1584,1607,0,19,22,23,2342,2341,2376,42,1607,1606,1585,0,23,20,19,2376,2374,2342,42,1608,1609,1606,0,24,25,20,2377,2378,2374,42,1606,1607,1608,0,20,23,24,2374,2376,2377,42,1609,1604,1603,0,25,26,21,2378,2379,2375,42,1603,1606,1609,0,21,20,25,2375,2374,2378,42,1584,1589,1610,0,9,10,11,2349,2348,2380,42,1610,1607,1584,0,11,12,9,2380,2381,2349,42,1589,1588,1611,0,10,13,14,2348,2347,2382,42,1611,1610,1589,0,14,11,10,2382,2380,2348,42,1612,1613,1610,0,15,16,11,2383,2384,2380,42,1610,1611,1612,0,11,14,15,2380,2382,2383,42,1613,1608,1607,0,16,17,12,2384,2385,2381,42,1607,1610,1613,0,12,11,16,2381,2380,2384,42,1588,1593,1614,0,0,1,2,2355,2354,2386,42,1614,1611,1588,0,2,3,0,2386,2387,2355,42,1593,1592,1615,0,1,4,5,2354,2353,2388,42,1615,1614,1593,0,5,2,1,2388,2386,2354,42,1616,1617,1614,0,6,7,2,2389,2390,2386,42,1614,1615,1616,0,2,5,6,2386,2388,2389,42,1617,1612,1611,0,7,8,3,2390,2391,2387,42,1611,1614,1617,0,3,2,7,2387,2386,2390,42,1592,1595,1618,0,27,28,29,2361,2360,2392,42,1618,1615,1592,0,29,30,27,2392,2393,2361,42,1595,1577,1597,0,28,31,32,2360,2359,2394,42,1597,1618,1595,0,32,29,28,2394,2392,2360,42,1601,1619,1618,0,33,34,29,2395,2396,2392,42,1618,1597,1601,0,29,32,33,2392,2394,2395,42,1619,1616,1615,0,34,35,30,2396,2397,2393,42,1615,1618,1619,0,30,29,34,2393,2392,2396,42,1601,1600,1620,0,0,1,2,2367,2366,2398,42,1620,1621,1601,0,2,3,0,2398,2399,2367,42,1600,1599,1622,0,1,4,5,2366,2365,2400,42,1622,1620,1600,0,5,2,1,2400,2398,2366,42,1623,1624,1620,0,6,7,2,2401,2402,2398,42,1620,1622,1623,0,2,5,6,2398,2400,2401,42,1624,1625,1621,0,7,8,3,2402,2403,2399,42,1621,1620,1624,0,3,2,7,2399,2398,2402,42,1599,1605,1626,0,9,10,11,2373,2372,2404,42,1626,1622,1599,0,11,12,9,2404,2405,2373,42,1605,1604,1627,0,10,13,14,2372,2371,2406,42,1627,1626,1605,0,14,11,10,2406,2404,2372,42,1628,1629,1626,0,15,16,11,2407,2408,2404,42,1626,1627,1628,0,11,14,15,2404,2406,2407,42,1629,1623,1622,0,16,17,12,2408,2409,2405,42,1622,1626,1629,0,12,11,16,2405,2404,2408,42,1604,1609,1630,0,18,19,20,2379,2378,2410,42,1630,1627,1604,0,20,21,18,2410,2411,2379,42,1609,1608,1631,0,19,22,23,2378,2377,2412,42,1631,1630,1609,0,23,20,19,2412,2410,2378,42,1632,1633,1630,0,24,25,20,2413,2414,2410,42,1630,1631,1632,0,20,23,24,2410,2412,2413,42,1633,1628,1627,0,25,26,21,2414,2415,2411,42,1627,1630,1633,0,21,20,25,2411,2410,2414,42,1608,1613,1634,0,9,10,11,2385,2384,2416,42,1634,1631,1608,0,11,12,9,2416,2417,2385,42,1613,1612,1635,0,10,13,14,2384,2383,2418,42,1635,1634,1613,0,14,11,10,2418,2416,2384,42,1636,1637,1634,0,15,16,11,2419,2420,2416,42,1634,1635,1636,0,11,14,15,2416,2418,2419,42,1637,1632,1631,0,16,17,12,2420,2421,2417,42,1631,1634,1637,0,12,11,16,2417,2416,2420,42,1612,1617,1638,0,0,1,2,2391,2390,2422,42,1638,1635,1612,0,2,3,0,2422,2423,2391,42,1617,1616,1639,0,1,4,5,2390,2389,2424,42,1639,1638,1617,0,5,2,1,2424,2422,2390,42,1640,1641,1638,0,6,7,2,2425,2426,2422,42,1638,1639,1640,0,2,5,6,2422,2424,2425,42,1641,1636,1635,0,7,8,3,2426,2427,2423,42,1635,1638,1641,0,3,2,7,2423,2422,2426,42,1616,1619,1642,0,27,28,29,2397,2396,2428,42,1642,1639,1616,0,29,30,27,2428,2429,2397,42,1619,1601,1621,0,28,31,32,2396,2395,2430,42,1621,1642,1619,0,32,29,28,2430,2428,2396,42,1625,1643,1642,0,33,34,29,2431,2432,2428,42,1642,1621,1625,0,29,32,33,2428,2430,2431,42,1643,1640,1639,0,34,35,30,2432,2433,2429,42,1639,1642,1643,0,30,29,34,2429,2428,2432,42,1625,1624,1644,0,0,1,2,2403,2402,2434,42,1644,1645,1625,0,2,3,0,2434,2435,2403,42,1624,1623,1646,0,1,4,5,2402,2401,2436,42,1646,1644,1624,0,5,2,1,2436,2434,2402,42,1647,1648,1644,0,6,7,2,2437,2438,2434,42,1644,1646,1647,0,2,5,6,2434,2436,2437,42,1648,1649,1645,0,7,8,3,2438,2439,2435,42,1645,1644,1648,0,3,2,7,2435,2434,2438,42,1623,1629,1650,0,9,10,11,2409,2408,2440,42,1650,1646,1623,0,11,12,9,2440,2441,2409,42,1629,1628,1651,0,10,13,14,2408,2407,2442,42,1651,1650,1629,0,14,11,10,2442,2440,2408,42,1652,1653,1650,0,15,16,11,2443,2444,2440,42,1650,1651,1652,0,11,14,15,2440,2442,2443,42,1653,1647,1646,0,16,17,12,2444,2445,2441,42,1646,1650,1653,0,12,11,16,2441,2440,2444,42,1628,1633,1654,0,18,19,20,2415,2414,2446,42,1654,1651,1628,0,20,21,18,2446,2447,2415,42,1633,1632,1655,0,19,22,23,2414,2413,2448,42,1655,1654,1633,0,23,20,19,2448,2446,2414,42,1656,1657,1654,0,24,25,20,2449,2450,2446,42,1654,1655,1656,0,20,23,24,2446,2448,2449,42,1657,1652,1651,0,25,26,21,2450,2451,2447,42,1651,1654,1657,0,21,20,25,2447,2446,2450,42,1632,1637,1658,0,9,10,11,2421,2420,2452,42,1658,1655,1632,0,11,12,9,2452,2453,2421,42,1637,1636,1659,0,10,13,14,2420,2419,2454,42,1659,1658,1637,0,14,11,10,2454,2452,2420,42,1660,1661,1658,0,15,16,11,2455,2456,2452,42,1658,1659,1660,0,11,14,15,2452,2454,2455,42,1661,1656,1655,0,16,17,12,2456,2457,2453,42,1655,1658,1661,0,12,11,16,2453,2452,2456,42,1636,1641,1662,0,0,1,2,2427,2426,2458,42,1662,1659,1636,0,2,3,0,2458,2459,2427,42,1641,1640,1663,0,1,4,5,2426,2425,2460,42,1663,1662,1641,0,5,2,1,2460,2458,2426,42,1664,1665,1662,0,6,7,2,2461,2462,2458,42,1662,1663,1664,0,2,5,6,2458,2460,2461,42,1665,1660,1659,0,7,8,3,2462,2463,2459,42,1659,1662,1665,0,3,2,7,2459,2458,2462,42,1640,1643,1666,0,27,28,29,2433,2432,2464,42,1666,1663,1640,0,29,30,27,2464,2465,2433,42,1643,1625,1645,0,28,31,32,2432,2431,2466,42,1645,1666,1643,0,32,29,28,2466,2464,2432,42,1649,1667,1666,0,33,34,29,2467,2468,2464,42,1666,1645,1649,0,29,32,33,2464,2466,2467,42,1667,1664,1663,0,34,35,30,2468,2469,2465,42,1663,1666,1667,0,30,29,34,2465,2464,2468,42,1649,1648,1668,0,0,1,2,2439,2438,2470,42,1668,1669,1649,0,2,3,0,2470,2471,2439,42,1648,1647,1670,0,1,4,5,2438,2437,2472,42,1670,1668,1648,0,5,2,1,2472,2470,2438,42,1671,1672,1668,0,6,7,2,2473,2474,2470,42,1668,1670,1671,0,2,5,6,2470,2472,2473,42,1672,1673,1669,0,7,8,3,2474,2475,2471,42,1669,1668,1672,0,3,2,7,2471,2470,2474,42,1647,1653,1674,0,9,10,11,2445,2444,2476,42,1674,1670,1647,0,11,12,9,2476,2477,2445,42,1653,1652,1675,0,10,13,14,2444,2443,2478,42,1675,1674,1653,0,14,11,10,2478,2476,2444,42,1676,1677,1674,0,15,16,11,2479,2480,2476,42,1674,1675,1676,0,11,14,15,2476,2478,2479,42,1677,1671,1670,0,16,17,12,2480,2481,2477,42,1670,1674,1677,0,12,11,16,2477,2476,2480,42,1652,1657,1678,0,18,19,20,2451,2450,2482,42,1678,1675,1652,0,20,21,18,2482,2483,2451,42,1657,1656,1679,0,19,22,23,2450,2449,2484,42,1679,1678,1657,0,23,20,19,2484,2482,2450,42,1680,1681,1678,0,24,25,20,2485,2486,2482,42,1678,1679,1680,0,20,23,24,2482,2484,2485,42,1681,1676,1675,0,25,26,21,2486,2487,2483,42,1675,1678,1681,0,21,20,25,2483,2482,2486,42,1656,1661,1682,0,9,10,11,2457,2456,2488,42,1682,1679,1656,0,11,12,9,2488,2489,2457,42,1661,1660,1683,0,10,13,14,2456,2455,2490,42,1683,1682,1661,0,14,11,10,2490,2488,2456,42,1684,1685,1682,0,15,16,11,2491,2492,2488,42,1682,1683,1684,0,11,14,15,2488,2490,2491,42,1685,1680,1679,0,16,17,12,2492,2493,2489,42,1679,1682,1685,0,12,11,16,2489,2488,2492,42,1660,1665,1686,0,0,1,2,2463,2462,2494,42,1686,1683,1660,0,2,3,0,2494,2495,2463,42,1665,1664,1687,0,1,4,5,2462,2461,2496,42,1687,1686,1665,0,5,2,1,2496,2494,2462,42,1688,1689,1686,0,6,7,2,2497,2498,2494,42,1686,1687,1688,0,2,5,6,2494,2496,2497,42,1689,1684,1683,0,7,8,3,2498,2499,2495,42,1683,1686,1689,0,3,2,7,2495,2494,2498,42,1664,1667,1690,0,27,28,29,2469,2468,2500,42,1690,1687,1664,0,29,30,27,2500,2501,2469,42,1667,1649,1669,0,28,31,32,2468,2467,2502,42,1669,1690,1667,0,32,29,28,2502,2500,2468,42,1673,1691,1690,0,33,34,29,2503,2504,2500,42,1690,1669,1673,0,29,32,33,2500,2502,2503,42,1691,1688,1687,0,34,35,30,2504,2505,2501,42,1687,1690,1691,0,30,29,34,2501,2500,2504,42,1673,1672,1692,0,0,1,2,2475,2474,2506,42,1692,1693,1673,0,2,3,0,2506,2507,2475,42,1672,1671,1694,0,1,4,5,2474,2473,2508,42,1694,1692,1672,0,5,2,1,2508,2506,2474,42,1695,1696,1692,0,6,7,2,2509,2510,2506,42,1692,1694,1695,0,2,5,6,2506,2508,2509,42,1696,1697,1693,0,7,8,3,2510,2511,2507,42,1693,1692,1696,0,3,2,7,2507,2506,2510,42,1671,1677,1698,0,9,10,11,2481,2480,2512,42,1698,1694,1671,0,11,12,9,2512,2513,2481,42,1677,1676,1699,0,10,13,14,2480,2479,2514,42,1699,1698,1677,0,14,11,10,2514,2512,2480,42,1700,1701,1698,0,15,16,11,2515,2516,2512,42,1698,1699,1700,0,11,14,15,2512,2514,2515,42,1701,1695,1694,0,16,17,12,2516,2517,2513,42,1694,1698,1701,0,12,11,16,2513,2512,2516,42,1676,1681,1702,0,18,19,20,2487,2486,2518,42,1702,1699,1676,0,20,21,18,2518,2519,2487,42,1681,1680,1703,0,19,22,23,2486,2485,2520,42,1703,1702,1681,0,23,20,19,2520,2518,2486,42,1704,1705,1702,0,24,25,20,2521,2522,2518,42,1702,1703,1704,0,20,23,24,2518,2520,2521,42,1705,1700,1699,0,25,26,21,2522,2523,2519,42,1699,1702,1705,0,21,20,25,2519,2518,2522,42,1680,1685,1706,0,9,10,11,2493,2492,2524,42,1706,1703,1680,0,11,12,9,2524,2525,2493,42,1685,1684,1707,0,10,13,14,2492,2491,2526,42,1707,1706,1685,0,14,11,10,2526,2524,2492,42,1708,1709,1706,0,15,16,11,2527,2528,2524,42,1706,1707,1708,0,11,14,15,2524,2526,2527,42,1709,1704,1703,0,16,17,12,2528,2529,2525,42,1703,1706,1709,0,12,11,16,2525,2524,2528,42,1684,1689,1710,0,0,1,2,2499,2498,2530,42,1710,1707,1684,0,2,3,0,2530,2531,2499,42,1689,1688,1711,0,1,4,5,2498,2497,2532,42,1711,1710,1689,0,5,2,1,2532,2530,2498,42,1712,1713,1710,0,6,7,2,2533,2534,2530,42,1710,1711,1712,0,2,5,6,2530,2532,2533,42,1713,1708,1707,0,7,8,3,2534,2535,2531,42,1707,1710,1713,0,3,2,7,2531,2530,2534,42,1688,1691,1714,0,27,28,29,2505,2504,2536,42,1714,1711,1688,0,29,30,27,2536,2537,2505,42,1691,1673,1693,0,28,31,32,2504,2503,2538,42,1693,1714,1691,0,32,29,28,2538,2536,2504,42,1697,1715,1714,0,33,34,29,2539,2540,2536,42,1714,1693,1697,0,29,32,33,2536,2538,2539,42,1715,1712,1711,0,34,35,30,2540,2541,2537,42,1711,1714,1715,0,30,29,34,2537,2536,2540,42,1697,1696,1716,0,0,1,2,2511,2510,2542,42,1716,1717,1697,0,2,3,0,2542,2543,2511,42,1696,1695,1718,0,1,4,5,2510,2509,2544,42,1718,1716,1696,0,5,2,1,2544,2542,2510,42,1719,1720,1716,0,6,7,2,2545,2546,2542,42,1716,1718,1719,0,2,5,6,2542,2544,2545,42,1720,1721,1717,0,7,8,3,2546,2547,2543,42,1717,1716,1720,0,3,2,7,2543,2542,2546,42,1695,1701,1722,0,9,10,11,2517,2516,2548,42,1722,1718,1695,0,11,12,9,2548,2549,2517,42,1701,1700,1723,0,10,13,14,2516,2515,2550,42,1723,1722,1701,0,14,11,10,2550,2548,2516,42,1724,1725,1722,0,15,16,11,2551,2552,2548,42,1722,1723,1724,0,11,14,15,2548,2550,2551,42,1725,1719,1718,0,16,17,12,2552,2553,2549,42,1718,1722,1725,0,12,11,16,2549,2548,2552,42,1700,1705,1726,0,18,19,20,2523,2522,2554,42,1726,1723,1700,0,20,21,18,2554,2555,2523,42,1705,1704,1727,0,19,22,23,2522,2521,2556,42,1727,1726,1705,0,23,20,19,2556,2554,2522,42,1728,1729,1726,0,24,25,20,2557,2557,2554,42,1726,1727,1728,0,20,23,24,2554,2556,2557,42,1729,1724,1723,0,25,26,21,2557,2558,2555,42,1723,1726,1729,0,21,20,25,2555,2554,2557,42,1704,1709,1730,0,9,10,11,2529,2528,2559,42,1730,1727,1704,0,11,12,9,2559,2560,2529,42,1709,1708,1731,0,10,13,14,2528,2527,2561,42,1731,1730,1709,0,14,11,10,2561,2559,2528,42,1732,1733,1730,0,15,16,11,2562,2563,2559,42,1730,1731,1732,0,11,14,15,2559,2561,2562,42,1733,1728,1727,0,16,17,12,2563,2564,2560,42,1727,1730,1733,0,12,11,16,2560,2559,2563,42,1708,1713,1734,0,0,1,2,2535,2534,2565,42,1734,1731,1708,0,2,3,0,2565,2566,2535,42,1713,1712,1735,0,1,4,5,2534,2533,2567,42,1735,1734,1713,0,5,2,1,2567,2565,2534,42,1736,1737,1734,0,6,7,2,2568,2569,2565,42,1734,1735,1736,0,2,5,6,2565,2567,2568,42,1737,1732,1731,0,7,8,3,2569,2570,2566,42,1731,1734,1737,0,3,2,7,2566,2565,2569,42,1712,1715,1738,0,27,28,29,2541,2540,2571,42,1738,1735,1712,0,29,30,27,2571,2572,2541,42,1715,1697,1717,0,28,31,32,2540,2539,2573,42,1717,1738,1715,0,32,29,28,2573,2571,2540,42,1721,1739,1738,0,33,34,29,82,82,2571,42,1738,1717,1721,0,29,32,33,2571,2573,82,42,1739,1736,1735,0,34,35,30,82,82,2572,42,1735,1738,1739,0,30,29,34,2572,2571,82,42,1721,1720,1740,0,0,1,2,2547,2546,2574,42,1740,1741,1721,0,2,3,0,2574,2575,2547,42,1720,1719,1742,0,1,4,5,2546,2545,2576,42,1742,1740,1720,0,5,2,1,2576,2574,2546,42,1743,1744,1740,0,6,7,2,2577,2578,2574,42,1740,1742,1743,0,2,5,6,2574,2576,2577,42,1744,1745,1741,0,7,8,3,2578,2579,2575,42,1741,1740,1744,0,3,2,7,2575,2574,2578,42,1719,1725,1746,0,9,10,11,2553,2552,2580,42,1746,1742,1719,0,11,12,9,2580,2581,2553,42,1725,1724,1747,0,10,13,14,2552,2551,2582,42,1747,1746,1725,0,14,11,10,2582,2580,2552,42,1748,1749,1746,0,15,16,11,2583,2584,2580,42,1746,1747,1748,0,11,14,15,2580,2582,2583,42,1749,1743,1742,0,16,17,12,2584,2585,2581,42,1742,1746,1749,0,12,11,16,2581,2580,2584,42,1724,1729,1750,0,18,19,20,2558,2557,2557,42,1750,1747,1724,0,20,21,18,2557,2557,2558,42,1729,1728,1751,0,19,22,23,2557,2557,2558,42,1751,1750,1729,0,23,20,19,2558,2557,2557,42,1752,1753,1750,0,24,25,20,2558,2558,2557,42,1750,1751,1752,0,20,23,24,2557,2558,2558,42,1753,1748,1747,0,25,26,21,2558,2558,2557,42,1747,1750,1753,0,21,20,25,2557,2557,2558,42,1728,1733,1754,0,9,10,11,2564,2563,2586,42,1754,1751,1728,0,11,12,9,2586,2587,2564,42,1733,1732,1755,0,10,13,14,2563,2562,2588,42,1755,1754,1733,0,14,11,10,2588,2586,2563,42,1756,1757,1754,0,15,16,11,2589,2590,2586,42,1754,1755,1756,0,11,14,15,2586,2588,2589,42,1757,1752,1751,0,16,17,12,2590,2591,2587,42,1751,1754,1757,0,12,11,16,2587,2586,2590,42,1732,1737,1758,0,0,1,2,2570,2569,2592,42,1758,1755,1732,0,2,3,0,2592,2593,2570,42,1737,1736,1759,0,1,4,5,2569,2568,2594,42,1759,1758,1737,0,5,2,1,2594,2592,2569,42,1760,1761,1758,0,6,7,2,2595,2596,2592,42,1758,1759,1760,0,2,5,6,2592,2594,2595,42,1761,1756,1755,0,7,8,3,2596,2597,2593,42,1755,1758,1761,0,3,2,7,2593,2592,2596,42,1736,1739,1762,0,27,28,29,82,82,82,42,1762,1759,1736,0,29,30,27,82,82,82,42,1739,1721,1741,0,28,31,32,82,82,82,42,1741,1762,1739,0,32,29,28,82,82,82,42,1745,1763,1762,0,33,34,29,82,82,82,42,1762,1741,1745,0,29,32,33,82,82,82,42,1763,1760,1759,0,34,35,30,82,82,82,42,1759,1762,1763,0,30,29,34,82,82,82,42,1745,1744,1764,0,0,1,2,2579,2578,2598,42,1764,1765,1745,0,2,3,0,2598,2599,2579,42,1744,1743,1766,0,1,4,5,2578,2577,2600,42,1766,1764,1744,0,5,2,1,2600,2598,2578,42,1767,1768,1764,0,6,7,2,2601,2602,2598,42,1764,1766,1767,0,2,5,6,2598,2600,2601,42,1768,1769,1765,0,7,8,3,2602,2603,2599,42,1765,1764,1768,0,3,2,7,2599,2598,2602,42,1743,1749,1770,0,9,10,11,2585,2584,2604,42,1770,1766,1743,0,11,12,9,2604,2605,2585,42,1749,1748,1771,0,10,13,14,2584,2583,2606,42,1771,1770,1749,0,14,11,10,2606,2604,2584,42,1772,1773,1770,0,15,16,11,2607,2608,2604,42,1770,1771,1772,0,11,14,15,2604,2606,2607,42,1773,1767,1766,0,16,17,12,2608,2608,2605,42,1766,1770,1773,0,12,11,16,2605,2604,2608,42,1748,1753,1774,0,18,19,20,2558,2558,2558,42,1774,1771,1748,0,20,21,18,2558,2558,2558,42,1753,1752,1775,0,19,22,23,2558,2558,2558,42,1775,1774,1753,0,23,20,19,2558,2558,2558,42,1776,1777,1774,0,24,25,20,2558,2558,2558,42,1774,1775,1776,0,20,23,24,2558,2558,2558,42,1777,1772,1771,0,25,26,21,2558,2558,2558,42,1771,1774,1777,0,21,20,25,2558,2558,2558,42,1752,1757,1778,0,9,10,11,2591,2590,2609,42,1778,1775,1752,0,11,12,9,2609,2610,2591,42,1757,1756,1779,0,10,13,14,2590,2589,2611,42,1779,1778,1757,0,14,11,10,2611,2609,2590,42,1780,1781,1778,0,15,16,11,2612,2613,2609,42,1778,1779,1780,0,11,14,15,2609,2611,2612,42,1781,1776,1775,0,16,17,12,2613,2614,2610,42,1775,1778,1781,0,12,11,16,2610,2609,2613,42,1756,1761,1782,0,0,1,2,2597,2596,2615,42,1782,1779,1756,0,2,3,0,2615,2616,2597,42,1761,1760,1783,0,1,4,5,2596,2595,2617,42,1783,1782,1761,0,5,2,1,2617,2615,2596,42,1784,1785,1782,0,6,7,2,2618,2619,2615,42,1782,1783,1784,0,2,5,6,2615,2617,2618,42,1785,1780,1779,0,7,8,3,2619,2620,2616,42,1779,1782,1785,0,3,2,7,2616,2615,2619,42,1760,1763,1786,0,27,28,29,82,82,82,42,1786,1783,1760,0,29,30,27,82,82,82,42,1763,1745,1765,0,28,31,32,82,82,82,42,1765,1786,1763,0,32,29,28,82,82,82,42,1769,1787,1786,0,33,34,29,82,82,82,42,1786,1765,1769,0,29,32,33,82,82,82,42,1787,1784,1783,0,34,35,30,82,82,82,42,1783,1786,1787,0,30,29,34,82,82,82,42,1769,1768,1788,0,0,1,2,2603,2602,2621,42,1788,1789,1769,0,2,3,0,2621,2622,2603,42,1768,1767,1790,0,1,4,5,2602,2601,2622,42,1790,1788,1768,0,5,2,1,2622,2621,2602,42,1791,1792,1788,0,6,7,2,2623,2623,2621,42,1788,1790,1791,0,2,5,6,2621,2622,2623,42,1792,1793,1789,0,7,8,3,2623,2624,2622,42,1789,1788,1792,0,3,2,7,2622,2621,2623,42,1767,1773,1794,0,9,10,11,2608,2608,2625,42,1794,1790,1767,0,11,12,9,2625,2626,2608,42,1773,1772,1795,0,10,13,14,2608,2607,2627,42,1795,1794,1773,0,14,11,10,2627,2625,2608,42,1796,1797,1794,0,15,16,11,2628,2629,2625,42,1794,1795,1796,0,11,14,15,2625,2627,2628,42,1797,1791,1790,0,16,17,12,2629,2630,2626,42,1790,1794,1797,0,12,11,16,2626,2625,2629,42,1772,1777,1798,0,18,19,20,2558,2558,2558,42,1798,1795,1772,0,20,21,18,2558,2558,2558,42,1777,1776,1799,0,19,22,23,2558,2558,2558,42,1799,1798,1777,0,23,20,19,2558,2558,2558,42,1800,1801,1798,0,24,25,20,2558,2558,2558,42,1798,1799,1800,0,20,23,24,2558,2558,2558,42,1801,1796,1795,0,25,26,21,2558,2558,2558,42,1795,1798,1801,0,21,20,25,2558,2558,2558,42,1776,1781,1802,0,9,10,11,2614,2613,2631,42,1802,1799,1776,0,11,12,9,2631,2632,2614,42,1781,1780,1803,0,10,13,14,2613,2612,2633,42,1803,1802,1781,0,14,11,10,2633,2631,2613,42,1804,1805,1802,0,15,16,11,2634,2635,2631,42,1802,1803,1804,0,11,14,15,2631,2633,2634,42,1805,1800,1799,0,16,17,12,2635,2634,2632,42,1799,1802,1805,0,12,11,16,2632,2631,2635,42,1780,1785,1806,0,0,1,2,2620,2619,2636,42,1806,1803,1780,0,2,3,0,2636,2637,2620,42,1785,1784,1807,0,1,4,5,2619,2618,2638,42,1807,1806,1785,0,5,2,1,2638,2636,2619,42,1808,1809,1806,0,6,7,2,2639,2640,2636,42,1806,1807,1808,0,2,5,6,2636,2638,2639,42,1809,1804,1803,0,7,8,3,2640,2641,2637,42,1803,1806,1809,0,3,2,7,2637,2636,2640,42,1784,1787,1810,0,27,28,29,82,82,82,42,1810,1807,1784,0,29,30,27,82,82,82,42,1787,1769,1789,0,28,31,32,82,82,82,42,1789,1810,1787,0,32,29,28,82,82,82,42,1793,1811,1810,0,33,34,29,82,82,82,42,1810,1789,1793,0,29,32,33,82,82,82,42,1811,1808,1807,0,34,35,30,82,82,82,42,1807,1810,1811,0,30,29,34,82,82,82,42,1793,1792,1812,0,0,1,2,2624,2623,2642,42,1812,1813,1793,0,2,3,0,2642,2643,2624,42,1792,1791,1814,0,1,4,5,2623,2623,2644,42,1814,1812,1792,0,5,2,1,2644,2642,2623,42,1815,1816,1812,0,6,7,2,2645,2646,2642,42,1812,1814,1815,0,2,5,6,2642,2644,2645,42,1816,1817,1813,0,7,8,3,2646,2647,2643,42,1813,1812,1816,0,3,2,7,2643,2642,2646,42,1791,1797,1818,0,9,10,11,2630,2629,2648,42,1818,1814,1791,0,11,12,9,2648,2649,2630,42,1797,1796,1819,0,10,13,14,2629,2628,2650,42,1819,1818,1797,0,14,11,10,2650,2648,2629,42,1820,1821,1818,0,15,16,11,2651,2652,2648,42,1818,1819,1820,0,11,14,15,2648,2650,2651,42,1821,1815,1814,0,16,17,12,2652,2653,2649,42,1814,1818,1821,0,12,11,16,2649,2648,2652,42,1796,1801,1822,0,18,19,20,2558,2558,2558,42,1822,1819,1796,0,20,21,18,2558,2558,2558,42,1801,1800,1823,0,19,22,23,2558,2558,2558,42,1823,1822,1801,0,23,20,19,2558,2558,2558,42,1824,1825,1822,0,24,25,20,2558,2558,2558,42,1822,1823,1824,0,20,23,24,2558,2558,2558,42,1825,1820,1819,0,25,26,21,2558,2558,2558,42,1819,1822,1825,0,21,20,25,2558,2558,2558,42,1800,1805,1826,0,9,10,11,2634,2635,2654,42,1826,1823,1800,0,11,12,9,2654,2655,2634,42,1805,1804,1827,0,10,13,14,2635,2634,2656,42,1827,1826,1805,0,14,11,10,2656,2654,2635,42,1828,1829,1826,0,15,16,11,2657,2658,2654,42,1826,1827,1828,0,11,14,15,2654,2656,2657,42,1829,1824,1823,0,16,17,12,2658,2659,2655,42,1823,1826,1829,0,12,11,16,2655,2654,2658,42,1804,1809,1830,0,0,1,2,2641,2640,2660,42,1830,1827,1804,0,2,3,0,2660,2661,2641,42,1809,1808,1831,0,1,4,5,2640,2639,2662,42,1831,1830,1809,0,5,2,1,2662,2660,2640,42,1832,1833,1830,0,6,7,2,2663,2664,2660,42,1830,1831,1832,0,2,5,6,2660,2662,2663,42,1833,1828,1827,0,7,8,3,2664,2665,2661,42,1827,1830,1833,0,3,2,7,2661,2660,2664,42,1808,1811,1834,0,27,28,29,82,82,82,42,1834,1831,1808,0,29,30,27,82,82,82,42,1811,1793,1813,0,28,31,32,82,82,82,42,1813,1834,1811,0,32,29,28,82,82,82,42,1817,1835,1834,0,33,34,29,82,82,82,42,1834,1813,1817,0,29,32,33,82,82,82,42,1835,1832,1831,0,34,35,30,82,82,82,42,1831,1834,1835,0,30,29,34,82,82,82,42,1817,1816,1836,0,0,1,2,2647,2646,2666,42,1836,1837,1817,0,2,3,0,2666,2667,2647,42,1816,1815,1838,0,1,4,5,2646,2645,2668,42,1838,1836,1816,0,5,2,1,2668,2666,2646,42,1839,1840,1836,0,6,7,2,2669,2670,2666,42,1836,1838,1839,0,2,5,6,2666,2668,2669,42,1840,1841,1837,0,7,8,3,2670,2671,2667,42,1837,1836,1840,0,3,2,7,2667,2666,2670,42,1815,1821,1842,0,9,10,11,2653,2652,2672,42,1842,1838,1815,0,11,12,9,2672,2673,2653,42,1821,1820,1843,0,10,13,14,2652,2651,2674,42,1843,1842,1821,0,14,11,10,2674,2672,2652,42,1844,1845,1842,0,15,16,11,2675,2676,2672,42,1842,1843,1844,0,11,14,15,2672,2674,2675,42,1845,1839,1838,0,16,17,12,2676,2677,2673,42,1838,1842,1845,0,12,11,16,2673,2672,2676,42,1820,1825,1846,0,18,19,20,2558,2558,2558,42,1846,1843,1820,0,20,21,18,2558,2558,2558,42,1825,1824,1847,0,19,22,23,2558,2558,2558,42,1847,1846,1825,0,23,20,19,2558,2558,2558,42,1848,1849,1846,0,24,25,20,2558,2558,2558,42,1846,1847,1848,0,20,23,24,2558,2558,2558,42,1849,1844,1843,0,25,26,21,2558,2558,2558,42,1843,1846,1849,0,21,20,25,2558,2558,2558,42,1824,1829,1850,0,9,10,11,2659,2658,2678,42,1850,1847,1824,0,11,12,9,2678,2679,2659,42,1829,1828,1851,0,10,13,14,2658,2657,2680,42,1851,1850,1829,0,14,11,10,2680,2678,2658,42,1852,1853,1850,0,15,16,11,2681,2682,2678,42,1850,1851,1852,0,11,14,15,2678,2680,2681,42,1853,1848,1847,0,16,17,12,2682,2683,2679,42,1847,1850,1853,0,12,11,16,2679,2678,2682,42,1828,1833,1854,0,0,1,2,2665,2664,2684,42,1854,1851,1828,0,2,3,0,2684,2685,2665,42,1833,1832,1855,0,1,4,5,2664,2663,2686,42,1855,1854,1833,0,5,2,1,2686,2684,2664,42,1856,1857,1854,0,6,7,2,2687,2688,2684,42,1854,1855,1856,0,2,5,6,2684,2686,2687,42,1857,1852,1851,0,7,8,3,2688,2689,2685,42,1851,1854,1857,0,3,2,7,2685,2684,2688,42,1832,1835,1858,0,27,28,29,82,82,82,42,1858,1855,1832,0,29,30,27,82,82,82,42,1835,1817,1837,0,28,31,32,82,82,82,42,1837,1858,1835,0,32,29,28,82,82,82,42,1841,1859,1858,0,33,34,29,82,82,82,42,1858,1837,1841,0,29,32,33,82,82,82,42,1859,1856,1855,0,34,35,30,82,82,82,42,1855,1858,1859,0,30,29,34,82,82,82,42,1841,1840,1860,0,0,1,2,2671,2670,2690,42,1860,1861,1841,0,2,3,0,2690,2691,2671,42,1840,1839,1862,0,1,4,5,2670,2669,2692,42,1862,1860,1840,0,5,2,1,2692,2690,2670,42,1863,1864,1860,0,6,7,2,2693,2694,2690,42,1860,1862,1863,0,2,5,6,2690,2692,2693,42,1864,1865,1861,0,7,8,3,2694,2695,2691,42,1861,1860,1864,0,3,2,7,2691,2690,2694,42,1839,1845,1866,0,9,10,11,2677,2676,2696,42,1866,1862,1839,0,11,12,9,2696,2697,2677,42,1845,1844,1867,0,10,13,14,2676,2675,2698,42,1867,1866,1845,0,14,11,10,2698,2696,2676,42,1868,1869,1866,0,15,16,11,2699,2700,2696,42,1866,1867,1868,0,11,14,15,2696,2698,2699,42,1869,1863,1862,0,16,17,12,2700,2701,2697,42,1862,1866,1869,0,12,11,16,2697,2696,2700,42,1844,1849,1870,0,18,19,20,2558,2558,2558,42,1870,1867,1844,0,20,21,18,2558,2558,2558,42,1849,1848,1871,0,19,22,23,2558,2558,2558,42,1871,1870,1849,0,23,20,19,2558,2558,2558,42,1872,1873,1870,0,24,25,20,2558,2558,2558,42,1870,1871,1872,0,20,23,24,2558,2558,2558,42,1873,1868,1867,0,25,26,21,2558,2558,2558,42,1867,1870,1873,0,21,20,25,2558,2558,2558,42,1848,1853,1874,0,9,10,11,2683,2682,2702,42,1874,1871,1848,0,11,12,9,2702,2703,2683,42,1853,1852,1875,0,10,13,14,2682,2681,2704,42,1875,1874,1853,0,14,11,10,2704,2702,2682,42,1876,1877,1874,0,15,16,11,2705,2706,2702,42,1874,1875,1876,0,11,14,15,2702,2704,2705,42,1877,1872,1871,0,16,17,12,2706,2707,2703,42,1871,1874,1877,0,12,11,16,2703,2702,2706,42,1852,1857,1878,0,0,1,2,2689,2688,2708,42,1878,1875,1852,0,2,3,0,2708,2709,2689,42,1857,1856,1879,0,1,4,5,2688,2687,2710,42,1879,1878,1857,0,5,2,1,2710,2708,2688,42,1880,1881,1878,0,6,7,2,2711,2712,2708,42,1878,1879,1880,0,2,5,6,2708,2710,2711,42,1881,1876,1875,0,7,8,3,2712,2713,2709,42,1875,1878,1881,0,3,2,7,2709,2708,2712,42,1856,1859,1882,0,27,28,29,82,82,82,42,1882,1879,1856,0,29,30,27,82,82,82,42,1859,1841,1861,0,28,31,32,82,82,82,42,1861,1882,1859,0,32,29,28,82,82,82,42,1865,1883,1882,0,33,34,29,82,82,82,42,1882,1861,1865,0,29,32,33,82,82,82,42,1883,1880,1879,0,34,35,30,82,82,82,42,1879,1882,1883,0,30,29,34,82,82,82,42,1865,1864,1884,0,0,1,2,2695,2694,2714,42,1884,1885,1865,0,2,3,0,2714,2715,2695,42,1864,1863,1886,0,1,4,5,2694,2693,2716,42,1886,1884,1864,0,5,2,1,2716,2714,2694,42,1887,1888,1884,0,6,7,2,2717,2718,2714,42,1884,1886,1887,0,2,5,6,2714,2716,2717,42,1888,1889,1885,0,7,8,3,2718,2719,2715,42,1885,1884,1888,0,3,2,7,2715,2714,2718,42,1863,1869,1890,0,9,10,11,2701,2700,2720,42,1890,1886,1863,0,11,12,9,2720,2721,2701,42,1869,1868,1891,0,10,13,14,2700,2699,2722,42,1891,1890,1869,0,14,11,10,2722,2720,2700,42,1892,1893,1890,0,15,16,11,2723,2724,2720,42,1890,1891,1892,0,11,14,15,2720,2722,2723,42,1893,1887,1886,0,16,17,12,2724,2725,2721,42,1886,1890,1893,0,12,11,16,2721,2720,2724,42,1868,1873,1894,0,18,19,20,2558,2558,2558,42,1894,1891,1868,0,20,21,18,2558,2558,2558,42,1873,1872,1895,0,19,22,23,2558,2558,2558,42,1895,1894,1873,0,23,20,19,2558,2558,2558,42,1896,1897,1894,0,24,25,20,2558,2558,2558,42,1894,1895,1896,0,20,23,24,2558,2558,2558,42,1897,1892,1891,0,25,26,21,2558,2558,2558,42,1891,1894,1897,0,21,20,25,2558,2558,2558,42,1872,1877,1898,0,9,10,11,2707,2706,2726,42,1898,1895,1872,0,11,12,9,2726,2727,2707,42,1877,1876,1899,0,10,13,14,2706,2705,2728,42,1899,1898,1877,0,14,11,10,2728,2726,2706,42,1900,1901,1898,0,15,16,11,2729,2730,2726,42,1898,1899,1900,0,11,14,15,2726,2728,2729,42,1901,1896,1895,0,16,17,12,2730,2731,2727,42,1895,1898,1901,0,12,11,16,2727,2726,2730,42,1876,1881,1902,0,0,1,2,2713,2712,2732,42,1902,1899,1876,0,2,3,0,2732,2733,2713,42,1881,1880,1903,0,1,4,5,2712,2711,2734,42,1903,1902,1881,0,5,2,1,2734,2732,2712,42,1904,1905,1902,0,6,7,2,2735,2736,2732,42,1902,1903,1904,0,2,5,6,2732,2734,2735,42,1905,1900,1899,0,7,8,3,2736,2737,2733,42,1899,1902,1905,0,3,2,7,2733,2732,2736,42,1880,1883,1906,0,27,28,29,82,82,82,42,1906,1903,1880,0,29,30,27,82,82,82,42,1883,1865,1885,0,28,31,32,82,82,82,42,1885,1906,1883,0,32,29,28,82,82,82,42,1889,1907,1906,0,33,34,29,82,82,82,42,1906,1885,1889,0,29,32,33,82,82,82,42,1907,1904,1903,0,34,35,30,82,82,82,42,1903,1906,1907,0,30,29,34,82,82,82,42,1889,1888,1908,0,0,1,2,2719,2718,2738,42,1908,1909,1889,0,2,3,0,2738,2739,2719,42,1888,1887,1910,0,1,4,5,2718,2717,2740,42,1910,1908,1888,0,5,2,1,2740,2738,2718,42,1911,1912,1908,0,6,7,2,2741,2742,2738,42,1908,1910,1911,0,2,5,6,2738,2740,2741,42,1912,1913,1909,0,7,8,3,2742,2743,2739,42,1909,1908,1912,0,3,2,7,2739,2738,2742,42,1887,1893,1914,0,9,10,11,2725,2724,2744,42,1914,1910,1887,0,11,12,9,2744,2745,2725,42,1893,1892,1915,0,10,13,14,2724,2723,2746,42,1915,1914,1893,0,14,11,10,2746,2744,2724,42,1916,1917,1914,0,15,16,11,2747,2748,2744,42,1914,1915,1916,0,11,14,15,2744,2746,2747,42,1917,1911,1910,0,16,17,12,2748,2749,2745,42,1910,1914,1917,0,12,11,16,2745,2744,2748,42,1892,1897,1918,0,18,19,20,2558,2558,2558,42,1918,1915,1892,0,20,21,18,2558,2557,2558,42,1897,1896,1919,0,19,22,23,2558,2558,2558,42,1919,1918,1897,0,23,20,19,2558,2558,2558,42,1920,1921,1918,0,24,25,20,2558,2558,2558,42,1918,1919,1920,0,20,23,24,2558,2558,2558,42,1921,1916,1915,0,25,26,21,2558,2558,2557,42,1915,1918,1921,0,21,20,25,2557,2558,2558,42,1896,1901,1922,0,9,10,11,2731,2730,2750,42,1922,1919,1896,0,11,12,9,2750,2751,2731,42,1901,1900,1923,0,10,13,14,2730,2729,2752,42,1923,1922,1901,0,14,11,10,2752,2750,2730,42,1924,1925,1922,0,15,16,11,2753,2754,2750,42,1922,1923,1924,0,11,14,15,2750,2752,2753,42,1925,1920,1919,0,16,17,12,2754,2755,2751,42,1919,1922,1925,0,12,11,16,2751,2750,2754,42,1900,1905,1926,0,0,1,2,2737,2736,2756,42,1926,1923,1900,0,2,3,0,2756,2757,2737,42,1905,1904,1927,0,1,4,5,2736,2735,2758,42,1927,1926,1905,0,5,2,1,2758,2756,2736,42,1928,1929,1926,0,6,7,2,2759,2760,2756,42,1926,1927,1928,0,2,5,6,2756,2758,2759,42,1929,1924,1923,0,7,8,3,2760,2761,2757,42,1923,1926,1929,0,3,2,7,2757,2756,2760,42,1904,1907,1930,0,27,28,29,82,82,82,42,1930,1927,1904,0,29,30,27,82,82,82,42,1907,1889,1909,0,28,31,32,82,82,82,42,1909,1930,1907,0,32,29,28,82,82,82,42,1913,1931,1930,0,33,34,29,82,82,82,42,1930,1909,1913,0,29,32,33,82,82,82,42,1931,1928,1927,0,34,35,30,82,82,82,42,1927,1930,1931,0,30,29,34,82,82,82,42,1913,1912,1932,0,0,1,2,2743,2742,2762,42,1932,1933,1913,0,2,3,0,2762,2763,2743,42,1912,1911,1934,0,1,4,5,2742,2741,2764,42,1934,1932,1912,0,5,2,1,2764,2762,2742,42,1935,1936,1932,0,6,7,2,2765,2766,2762,42,1932,1934,1935,0,2,5,6,2762,2764,2765,42,1936,1937,1933,0,7,8,3,2766,2767,2763,42,1933,1932,1936,0,3,2,7,2763,2762,2766,42,1911,1917,1938,0,9,10,11,2749,2748,2768,42,1938,1934,1911,0,11,12,9,2768,2769,2749,42,1917,1916,1939,0,10,13,14,2748,2747,2770,42,1939,1938,1917,0,14,11,10,2770,2768,2748,42,1940,1941,1938,0,15,16,11,2771,2772,2768,42,1938,1939,1940,0,11,14,15,2768,2770,2771,42,1941,1935,1934,0,16,17,12,2772,2773,2769,42,1934,1938,1941,0,12,11,16,2769,2768,2772,42,1916,1921,1942,0,18,19,20,2558,2558,2558,42,1942,1939,1916,0,20,21,18,2558,2558,2558,42,1921,1920,1943,0,19,22,23,2558,2558,2558,42,1943,1942,1921,0,23,20,19,2558,2558,2558,42,1944,1945,1942,0,24,25,20,2558,2558,2558,42,1942,1943,1944,0,20,23,24,2558,2558,2558,42,1945,1940,1939,0,25,26,21,2558,2558,2558,42,1939,1942,1945,0,21,20,25,2558,2558,2558,42,1920,1925,1946,0,9,10,11,2755,2754,2774,42,1946,1943,1920,0,11,12,9,2774,2775,2755,42,1925,1924,1947,0,10,13,14,2754,2753,2776,42,1947,1946,1925,0,14,11,10,2776,2774,2754,42,1948,1949,1946,0,15,16,11,2777,2778,2774,42,1946,1947,1948,0,11,14,15,2774,2776,2777,42,1949,1944,1943,0,16,17,12,2778,2779,2775,42,1943,1946,1949,0,12,11,16,2775,2774,2778,42,1924,1929,1950,0,0,1,2,2761,2760,2780,42,1950,1947,1924,0,2,3,0,2780,2781,2761,42,1929,1928,1951,0,1,4,5,2760,2759,2782,42,1951,1950,1929,0,5,2,1,2782,2780,2760,42,1952,1953,1950,0,6,7,2,2783,2784,2780,42,1950,1951,1952,0,2,5,6,2780,2782,2783,42,1953,1948,1947,0,7,8,3,2784,2785,2781,42,1947,1950,1953,0,3,2,7,2781,2780,2784,42,1928,1931,1954,0,27,28,29,82,82,82,42,1954,1951,1928,0,29,30,27,82,82,82,42,1931,1913,1933,0,28,31,32,82,82,82,42,1933,1954,1931,0,32,29,28,82,82,82,42,1937,1955,1954,0,33,34,29,82,82,82,42,1954,1933,1937,0,29,32,33,82,82,82,42,1955,1952,1951,0,34,35,30,82,82,82,42,1951,1954,1955,0,30,29,34,82,82,82,42,1937,1936,1956,0,0,1,2,2767,2766,2786,42,1956,1957,1937,0,2,3,0,2786,2787,2767,42,1936,1935,1958,0,1,4,5,2766,2765,2788,42,1958,1956,1936,0,5,2,1,2788,2786,2766,42,1959,1960,1956,0,6,7,2,2789,2790,2786,42,1956,1958,1959,0,2,5,6,2786,2788,2789,42,1960,1961,1957,0,7,8,3,2790,2791,2787,42,1957,1956,1960,0,3,2,7,2787,2786,2790,42,1935,1941,1962,0,9,10,11,2773,2772,2792,42,1962,1958,1935,0,11,12,9,2792,2793,2773,42,1941,1940,1963,0,10,13,14,2772,2771,2794,42,1963,1962,1941,0,14,11,10,2794,2792,2772,42,1964,1965,1962,0,15,16,11,2795,2796,2792,42,1962,1963,1964,0,11,14,15,2792,2794,2795,42,1965,1959,1958,0,16,17,12,2796,2797,2793,42,1958,1962,1965,0,12,11,16,2793,2792,2796,42,1940,1945,1966,0,18,19,20,2558,2558,2558,42,1966,1963,1940,0,20,21,18,2558,2558,2558,42,1945,1944,1967,0,19,22,23,2558,2558,2558,42,1967,1966,1945,0,23,20,19,2558,2558,2558,42,1968,1969,1966,0,24,25,20,2558,2558,2558,42,1966,1967,1968,0,20,23,24,2558,2558,2558,42,1969,1964,1963,0,25,26,21,2558,2558,2558,42,1963,1966,1969,0,21,20,25,2558,2558,2558,42,1944,1949,1970,0,9,10,11,2779,2778,2798,42,1970,1967,1944,0,11,12,9,2798,2799,2779,42,1949,1948,1971,0,10,13,14,2778,2777,2800,42,1971,1970,1949,0,14,11,10,2800,2798,2778,42,1972,1973,1970,0,15,16,11,2801,2802,2798,42,1970,1971,1972,0,11,14,15,2798,2800,2801,42,1973,1968,1967,0,16,17,12,2802,2803,2799,42,1967,1970,1973,0,12,11,16,2799,2798,2802,42,1948,1953,1974,0,0,1,2,2785,2784,2804,42,1974,1971,1948,0,2,3,0,2804,2805,2785,42,1953,1952,1975,0,1,4,5,2784,2783,2806,42,1975,1974,1953,0,5,2,1,2806,2804,2784,42,1976,1977,1974,0,6,7,2,2807,2808,2804,42,1974,1975,1976,0,2,5,6,2804,2806,2807,42,1977,1972,1971,0,7,8,3,2808,2809,2805,42,1971,1974,1977,0,3,2,7,2805,2804,2808,42,1952,1955,1978,0,27,28,29,82,82,82,42,1978,1975,1952,0,29,30,27,82,82,82,42,1955,1937,1957,0,28,31,32,82,82,82,42,1957,1978,1955,0,32,29,28,82,82,82,42,1961,1979,1978,0,33,34,29,82,82,82,42,1978,1957,1961,0,29,32,33,82,82,82,42,1979,1976,1975,0,34,35,30,82,82,82,42,1975,1978,1979,0,30,29,34,82,82,82,42,1961,1960,1980,0,0,1,2,2791,2790,2810,42,1980,1981,1961,0,2,3,0,2810,2811,2791,42,1960,1959,1982,0,1,4,5,2790,2789,2812,42,1982,1980,1960,0,5,2,1,2812,2810,2790,42,1983,1984,1980,0,6,7,2,2813,2814,2810,42,1980,1982,1983,0,2,5,6,2810,2812,2813,42,1984,1985,1981,0,7,8,3,2814,2815,2811,42,1981,1980,1984,0,3,2,7,2811,2810,2814,42,1959,1965,1986,0,9,10,11,2797,2796,2816,42,1986,1982,1959,0,11,12,9,2816,2817,2797,42,1965,1964,1987,0,10,13,14,2796,2795,2818,42,1987,1986,1965,0,14,11,10,2818,2816,2796,42,1988,1989,1986,0,15,16,11,2819,2820,2816,42,1986,1987,1988,0,11,14,15,2816,2818,2819,42,1989,1983,1982,0,16,17,12,2820,2821,2817,42,1982,1986,1989,0,12,11,16,2817,2816,2820,42,1964,1969,1990,0,18,19,20,2558,2558,2558,42,1990,1987,1964,0,20,21,18,2558,2558,2558,42,1969,1968,1991,0,19,22,23,2558,2558,2558,42,1991,1990,1969,0,23,20,19,2558,2558,2558,42,1992,1993,1990,0,24,25,20,2558,2558,2558,42,1990,1991,1992,0,20,23,24,2558,2558,2558,42,1993,1988,1987,0,25,26,21,2558,2558,2558,42,1987,1990,1993,0,21,20,25,2558,2558,2558,42,1968,1973,1994,0,9,10,11,2803,2802,2822,42,1994,1991,1968,0,11,12,9,2822,2823,2803,42,1973,1972,1995,0,10,13,14,2802,2801,2824,42,1995,1994,1973,0,14,11,10,2824,2822,2802,42,1996,1997,1994,0,15,16,11,2825,2826,2822,42,1994,1995,1996,0,11,14,15,2822,2824,2825,42,1997,1992,1991,0,16,17,12,2826,2827,2823,42,1991,1994,1997,0,12,11,16,2823,2822,2826,42,1972,1977,1998,0,0,1,2,2809,2808,2828,42,1998,1995,1972,0,2,3,0,2828,2829,2809,42,1977,1976,1999,0,1,4,5,2808,2807,2830,42,1999,1998,1977,0,5,2,1,2830,2828,2808,42,2000,2001,1998,0,6,7,2,2831,2832,2828,42,1998,1999,2000,0,2,5,6,2828,2830,2831,42,2001,1996,1995,0,7,8,3,2832,2833,2829,42,1995,1998,2001,0,3,2,7,2829,2828,2832,42,1976,1979,2002,0,27,28,29,82,82,82,42,2002,1999,1976,0,29,30,27,82,82,82,42,1979,1961,1981,0,28,31,32,82,82,82,42,1981,2002,1979,0,32,29,28,82,82,82,42,1985,2003,2002,0,33,34,29,82,82,82,42,2002,1981,1985,0,29,32,33,82,82,82,42,2003,2000,1999,0,34,35,30,82,82,82,42,1999,2002,2003,0,30,29,34,82,82,82,42,1985,1984,2004,0,0,1,2,2815,2814,2834,42,2004,2005,1985,0,2,3,0,2834,2835,2815,42,1984,1983,2006,0,1,4,5,2814,2813,2836,42,2006,2004,1984,0,5,2,1,2836,2834,2814,42,2007,2008,2004,0,6,7,2,2837,2838,2834,42,2004,2006,2007,0,2,5,6,2834,2836,2837,42,2008,2009,2005,0,7,8,3,2838,2839,2835,42,2005,2004,2008,0,3,2,7,2835,2834,2838,42,1983,1989,2010,0,9,10,11,2821,2820,2840,42,2010,2006,1983,0,11,12,9,2840,2841,2821,42,1989,1988,2011,0,10,13,14,2820,2819,2842,42,2011,2010,1989,0,14,11,10,2842,2840,2820,42,2012,2013,2010,0,15,16,11,2843,2844,2840,42,2010,2011,2012,0,11,14,15,2840,2842,2843,42,2013,2007,2006,0,16,17,12,2844,2845,2841,42,2006,2010,2013,0,12,11,16,2841,2840,2844,42,1988,1993,2014,0,18,19,20,2558,2558,2558,42,2014,2011,1988,0,20,21,18,2558,2558,2558,42,1993,1992,2015,0,19,22,23,2558,2558,2558,42,2015,2014,1993,0,23,20,19,2558,2558,2558,42,2016,2017,2014,0,24,25,20,2558,2558,2558,42,2014,2015,2016,0,20,23,24,2558,2558,2558,42,2017,2012,2011,0,25,26,21,2558,2558,2558,42,2011,2014,2017,0,21,20,25,2558,2558,2558,42,1992,1997,2018,0,9,10,11,2827,2826,2846,42,2018,2015,1992,0,11,12,9,2846,2847,2827,42,1997,1996,2019,0,10,13,14,2826,2825,2848,42,2019,2018,1997,0,14,11,10,2848,2846,2826,42,2020,2021,2018,0,15,16,11,2849,2850,2846,42,2018,2019,2020,0,11,14,15,2846,2848,2849,42,2021,2016,2015,0,16,17,12,2850,2851,2847,42,2015,2018,2021,0,12,11,16,2847,2846,2850,42,1996,2001,2022,0,0,1,2,2833,2832,2852,42,2022,2019,1996,0,2,3,0,2852,2853,2833,42,2001,2000,2023,0,1,4,5,2832,2831,2854,42,2023,2022,2001,0,5,2,1,2854,2852,2832,42,2024,2025,2022,0,6,7,2,2855,2856,2852,42,2022,2023,2024,0,2,5,6,2852,2854,2855,42,2025,2020,2019,0,7,8,3,2856,2857,2853,42,2019,2022,2025,0,3,2,7,2853,2852,2856,42,2000,2003,2026,0,27,28,29,82,82,82,42,2026,2023,2000,0,29,30,27,82,82,82,42,2003,1985,2005,0,28,31,32,82,82,82,42,2005,2026,2003,0,32,29,28,82,82,82,42,2009,2027,2026,0,33,34,29,82,82,82,42,2026,2005,2009,0,29,32,33,82,82,82,42,2027,2024,2023,0,34,35,30,82,82,82,42,2023,2026,2027,0,30,29,34,82,82,82,42,2009,2008,2028,0,0,1,2,2839,2838,2858,42,2028,2029,2009,0,2,3,0,2858,2859,2839,42,2008,2007,2030,0,1,4,5,2838,2837,2860,42,2030,2028,2008,0,5,2,1,2860,2858,2838,42,2031,2032,2028,0,6,7,2,2861,2862,2858,42,2028,2030,2031,0,2,5,6,2858,2860,2861,42,2032,2033,2029,0,7,8,3,2862,2863,2859,42,2029,2028,2032,0,3,2,7,2859,2858,2862,42,2007,2013,2034,0,9,10,11,2845,2844,2864,42,2034,2030,2007,0,11,12,9,2864,2865,2845,42,2013,2012,2035,0,10,13,14,2844,2843,2866,42,2035,2034,2013,0,14,11,10,2866,2864,2844,42,2036,2037,2034,0,15,16,11,2867,2868,2864,42,2034,2035,2036,0,11,14,15,2864,2866,2867,42,2037,2031,2030,0,16,17,12,2868,2869,2865,42,2030,2034,2037,0,12,11,16,2865,2864,2868,42,2012,2017,2038,0,18,19,20,2558,2558,2558,42,2038,2035,2012,0,20,21,18,2558,2558,2558,42,2017,2016,2039,0,19,22,23,2558,2558,2558,42,2039,2038,2017,0,23,20,19,2558,2558,2558,42,2040,2041,2038,0,24,25,20,2558,2558,2558,42,2038,2039,2040,0,20,23,24,2558,2558,2558,42,2041,2036,2035,0,25,26,21,2558,2558,2558,42,2035,2038,2041,0,21,20,25,2558,2558,2558,42,2016,2021,2042,0,9,10,11,2851,2850,2870,42,2042,2039,2016,0,11,12,9,2870,2871,2851,42,2021,2020,2043,0,10,13,14,2850,2849,2872,42,2043,2042,2021,0,14,11,10,2872,2870,2850,42,2044,2045,2042,0,15,16,11,2873,2874,2870,42,2042,2043,2044,0,11,14,15,2870,2872,2873,42,2045,2040,2039,0,16,17,12,2874,2875,2871,42,2039,2042,2045,0,12,11,16,2871,2870,2874,42,2020,2025,2046,0,0,1,2,2857,2856,2876,42,2046,2043,2020,0,2,3,0,2876,2877,2857,42,2025,2024,2047,0,1,4,5,2856,2855,2878,42,2047,2046,2025,0,5,2,1,2878,2876,2856,42,2048,2049,2046,0,6,7,2,2879,2880,2876,42,2046,2047,2048,0,2,5,6,2876,2878,2879,42,2049,2044,2043,0,7,8,3,2880,2881,2877,42,2043,2046,2049,0,3,2,7,2877,2876,2880,42,2024,2027,2050,0,27,28,29,82,82,82,42,2050,2047,2024,0,29,30,27,82,82,82,42,2027,2009,2029,0,28,31,32,82,82,82,42,2029,2050,2027,0,32,29,28,82,82,82,42,2033,2051,2050,0,33,34,29,82,82,82,42,2050,2029,2033,0,29,32,33,82,82,82,42,2051,2048,2047,0,34,35,30,82,82,82,42,2047,2050,2051,0,30,29,34,82,82,82,42,2033,2032,2052,0,0,1,2,2863,2862,2882,42,2052,2053,2033,0,2,3,0,2882,2883,2863,42,2032,2031,2054,0,1,4,5,2862,2861,2884,42,2054,2052,2032,0,5,2,1,2884,2882,2862,42,2055,2056,2052,0,6,7,2,2885,2886,2882,42,2052,2054,2055,0,2,5,6,2882,2884,2885,42,2056,2057,2053,0,7,8,3,2886,2887,2883,42,2053,2052,2056,0,3,2,7,2883,2882,2886,42,2031,2037,2058,0,9,10,11,2869,2868,2888,42,2058,2054,2031,0,11,12,9,2888,2889,2869,42,2037,2036,2059,0,10,13,14,2868,2867,2890,42,2059,2058,2037,0,14,11,10,2890,2888,2868,42,2060,2061,2058,0,15,16,11,2891,2892,2888,42,2058,2059,2060,0,11,14,15,2888,2890,2891,42,2061,2055,2054,0,16,17,12,2892,2893,2889,42,2054,2058,2061,0,12,11,16,2889,2888,2892,42,2036,2041,2062,0,18,19,20,2558,2558,2558,42,2062,2059,2036,0,20,21,18,2558,2558,2558,42,2041,2040,2063,0,19,22,23,2558,2558,2558,42,2063,2062,2041,0,23,20,19,2558,2558,2558,42,2064,2065,2062,0,24,25,20,2558,2558,2558,42,2062,2063,2064,0,20,23,24,2558,2558,2558,42,2065,2060,2059,0,25,26,21,2558,2558,2558,42,2059,2062,2065,0,21,20,25,2558,2558,2558,42,2040,2045,2066,0,9,10,11,2875,2874,2894,42,2066,2063,2040,0,11,12,9,2894,2895,2875,42,2045,2044,2067,0,10,13,14,2874,2873,2896,42,2067,2066,2045,0,14,11,10,2896,2894,2874,42,2068,2069,2066,0,15,16,11,2897,2898,2894,42,2066,2067,2068,0,11,14,15,2894,2896,2897,42,2069,2064,2063,0,16,17,12,2898,2899,2895,42,2063,2066,2069,0,12,11,16,2895,2894,2898,42,2044,2049,2070,0,0,1,2,2881,2880,2900,42,2070,2067,2044,0,2,3,0,2900,2901,2881,42,2049,2048,2071,0,1,4,5,2880,2879,2902,42,2071,2070,2049,0,5,2,1,2902,2900,2880,42,2072,2073,2070,0,6,7,2,2903,2904,2900,42,2070,2071,2072,0,2,5,6,2900,2902,2903,42,2073,2068,2067,0,7,8,3,2904,2905,2901,42,2067,2070,2073,0,3,2,7,2901,2900,2904,42,2048,2051,2074,0,27,28,29,82,82,82,42,2074,2071,2048,0,29,30,27,82,82,82,42,2051,2033,2053,0,28,31,32,82,82,82,42,2053,2074,2051,0,32,29,28,82,82,82,42,2057,2075,2074,0,33,34,29,82,82,82,42,2074,2053,2057,0,29,32,33,82,82,82,42,2075,2072,2071,0,34,35,30,82,82,82,42,2071,2074,2075,0,30,29,34,82,82,82,42,2057,2056,2076,0,0,1,2,2887,2886,2906,42,2076,2077,2057,0,2,3,0,2906,2907,2887,42,2056,2055,2078,0,1,4,5,2886,2885,2908,42,2078,2076,2056,0,5,2,1,2908,2906,2886,42,2079,2080,2076,0,6,7,2,2909,2910,2906,42,2076,2078,2079,0,2,5,6,2906,2908,2909,42,2080,2081,2077,0,7,8,3,2910,2911,2907,42,2077,2076,2080,0,3,2,7,2907,2906,2910,42,2055,2061,2082,0,9,10,11,2893,2892,2912,42,2082,2078,2055,0,11,12,9,2912,2913,2893,42,2061,2060,2083,0,10,13,14,2892,2891,2914,42,2083,2082,2061,0,14,11,10,2914,2912,2892,42,2084,2085,2082,0,15,16,11,2915,2916,2912,42,2082,2083,2084,0,11,14,15,2912,2914,2915,42,2085,2079,2078,0,16,17,12,2916,2917,2913,42,2078,2082,2085,0,12,11,16,2913,2912,2916,42,2060,2065,2086,0,18,19,20,2558,2558,2918,42,2086,2083,2060,0,20,21,18,2918,2919,2558,42,2065,2064,2087,0,19,22,23,2558,2558,2558,42,2087,2086,2065,0,23,20,19,2558,2918,2558,42,2088,2089,2086,0,24,25,20,2920,2921,2918,42,2086,2087,2088,0,20,23,24,2918,2558,2920,42,2089,2084,2083,0,25,26,21,2921,2922,2919,42,2083,2086,2089,0,21,20,25,2919,2918,2921,42,2064,2069,2090,0,9,10,11,2899,2898,2923,42,2090,2087,2064,0,11,12,9,2923,2924,2899,42,2069,2068,2091,0,10,13,14,2898,2897,2925,42,2091,2090,2069,0,14,11,10,2925,2923,2898,42,2092,2093,2090,0,15,16,11,2926,2926,2923,42,2090,2091,2092,0,11,14,15,2923,2925,2926,42,2093,2088,2087,0,16,17,12,2926,2926,2924,42,2087,2090,2093,0,12,11,16,2924,2923,2926,42,2068,2073,2094,0,0,1,2,2905,2904,2927,42,2094,2091,2068,0,2,3,0,2927,2928,2905,42,2073,2072,2095,0,1,4,5,2904,2903,2929,42,2095,2094,2073,0,5,2,1,2929,2927,2904,42,2096,2097,2094,0,6,7,2,2930,2930,2927,42,2094,2095,2096,0,2,5,6,2927,2929,2930,42,2097,2092,2091,0,7,8,3,2930,2931,2928,42,2091,2094,2097,0,3,2,7,2928,2927,2930,42,2072,2075,2098,0,27,28,29,82,82,82,42,2098,2095,2072,0,29,30,27,82,82,82,42,2075,2057,2077,0,28,31,32,82,82,82,42,2077,2098,2075,0,32,29,28,82,82,82,42,2081,2099,2098,0,33,34,29,82,82,82,42,2098,2077,2081,0,29,32,33,82,82,82,42,2099,2096,2095,0,34,35,30,82,82,82,42,2095,2098,2099,0,30,29,34,82,82,82,42,2081,2080,2100,0,0,1,2,2911,2910,2932,42,2100,2101,2081,0,2,3,0,2932,2933,2911,42,2080,2079,2102,0,1,4,5,2910,2909,2934,42,2102,2100,2080,0,5,2,1,2934,2932,2910,42,2103,2104,2100,0,6,7,2,2935,2936,2932,42,2100,2102,2103,0,2,5,6,2932,2934,2935,42,2104,2105,2101,0,7,8,3,2936,2937,2933,42,2101,2100,2104,0,3,2,7,2933,2932,2936,42,2079,2085,2106,0,9,10,11,2917,2916,2938,42,2106,2102,2079,0,11,12,9,2938,2939,2917,42,2085,2084,2107,0,10,13,14,2916,2915,2940,42,2107,2106,2085,0,14,11,10,2940,2938,2916,42,2108,2109,2106,0,15,16,11,2941,2942,2938,42,2106,2107,2108,0,11,14,15,2938,2940,2941,42,2109,2103,2102,0,16,17,12,2942,2943,2939,42,2102,2106,2109,0,12,11,16,2939,2938,2942,42,2084,2089,2110,0,18,19,20,2922,2921,2944,42,2110,2107,2084,0,20,21,18,2944,2945,2922,42,2089,2088,2111,0,19,22,23,2921,2920,2946,42,2111,2110,2089,0,23,20,19,2946,2944,2921,42,2112,2113,2110,0,24,25,20,2947,2948,2944,42,2110,2111,2112,0,20,23,24,2944,2946,2947,42,2113,2108,2107,0,25,26,21,2948,2949,2945,42,2107,2110,2113,0,21,20,25,2945,2944,2948,42,2088,2093,2114,0,9,10,11,2926,2926,2950,42,2114,2111,2088,0,11,12,9,2950,2951,2926,42,2093,2092,2115,0,10,13,14,2926,2926,2952,42,2115,2114,2093,0,14,11,10,2952,2950,2926,42,2116,2117,2114,0,15,16,11,2953,2954,2950,42,2114,2115,2116,0,11,14,15,2950,2952,2953,42,2117,2112,2111,0,16,17,12,2954,2955,2951,42,2111,2114,2117,0,12,11,16,2951,2950,2954,42,2092,2097,2118,0,0,1,2,2931,2930,2956,42,2118,2115,2092,0,2,3,0,2956,2957,2931,42,2097,2096,2119,0,1,4,5,2930,2930,2958,42,2119,2118,2097,0,5,2,1,2958,2956,2930,42,2120,2121,2118,0,6,7,2,2959,2960,2956,42,2118,2119,2120,0,2,5,6,2956,2958,2959,42,2121,2116,2115,0,7,8,3,2960,2961,2957,42,2115,2118,2121,0,3,2,7,2957,2956,2960,42,2096,2099,2122,0,27,28,29,82,82,2962,42,2122,2119,2096,0,29,30,27,2962,2963,82,42,2099,2081,2101,0,28,31,32,82,82,2964,42,2101,2122,2099,0,32,29,28,2964,2962,82,42,2105,2123,2122,0,33,34,29,2965,2966,2962,42,2122,2101,2105,0,29,32,33,2962,2964,2965,42,2123,2120,2119,0,34,35,30,2966,2967,2963,42,2119,2122,2123,0,30,29,34,2963,2962,2966,42,2105,2104,2124,0,0,1,2,2937,2936,2968,42,2124,2125,2105,0,2,3,0,2968,2969,2937,42,2104,2103,2126,0,1,4,5,2936,2935,2970,42,2126,2124,2104,0,5,2,1,2970,2968,2936,42,2127,2128,2124,0,6,7,2,2971,2972,2968,42,2124,2126,2127,0,2,5,6,2968,2970,2971,42,2128,2129,2125,0,7,8,3,2972,2973,2969,42,2125,2124,2128,0,3,2,7,2969,2968,2972,42,2103,2109,2130,0,9,10,11,2943,2942,2974,42,2130,2126,2103,0,11,12,9,2974,2975,2943,42,2109,2108,2131,0,10,13,14,2942,2941,2976,42,2131,2130,2109,0,14,11,10,2976,2974,2942,42,2132,2133,2130,0,15,16,11,2977,2978,2974,42,2130,2131,2132,0,11,14,15,2974,2976,2977,42,2133,2127,2126,0,16,17,12,2978,2979,2975,42,2126,2130,2133,0,12,11,16,2975,2974,2978,42,2108,2113,2134,0,18,19,20,2949,2948,2980,42,2134,2131,2108,0,20,21,18,2980,2981,2949,42,2113,2112,2135,0,19,22,23,2948,2947,2982,42,2135,2134,2113,0,23,20,19,2982,2980,2948,42,2136,2137,2134,0,24,25,20,2983,2984,2980,42,2134,2135,2136,0,20,23,24,2980,2982,2983,42,2137,2132,2131,0,25,26,21,2984,2985,2981,42,2131,2134,2137,0,21,20,25,2981,2980,2984,42,2112,2117,2138,0,9,10,11,2955,2954,2986,42,2138,2135,2112,0,11,12,9,2986,2987,2955,42,2117,2116,2139,0,10,13,14,2954,2953,2988,42,2139,2138,2117,0,14,11,10,2988,2986,2954,42,2140,2141,2138,0,15,16,11,2989,2990,2986,42,2138,2139,2140,0,11,14,15,2986,2988,2989,42,2141,2136,2135,0,16,17,12,2990,2991,2987,42,2135,2138,2141,0,12,11,16,2987,2986,2990,42,2116,2121,2142,0,0,1,2,2961,2960,2992,42,2142,2139,2116,0,2,3,0,2992,2993,2961,42,2121,2120,2143,0,1,4,5,2960,2959,2994,42,2143,2142,2121,0,5,2,1,2994,2992,2960,42,2144,2145,2142,0,6,7,2,2995,2996,2992,42,2142,2143,2144,0,2,5,6,2992,2994,2995,42,2145,2140,2139,0,7,8,3,2996,2997,2993,42,2139,2142,2145,0,3,2,7,2993,2992,2996,42,2120,2123,2146,0,27,28,29,2967,2966,2998,42,2146,2143,2120,0,29,30,27,2998,2999,2967,42,2123,2105,2125,0,28,31,32,2966,2965,3000,42,2125,2146,2123,0,32,29,28,3000,2998,2966,42,2129,2147,2146,0,33,34,29,3001,3002,2998,42,2146,2125,2129,0,29,32,33,2998,3000,3001,42,2147,2144,2143,0,34,35,30,3002,3003,2999,42,2143,2146,2147,0,30,29,34,2999,2998,3002,42,2129,2128,2148,0,0,1,2,2973,2972,3004,42,2148,2149,2129,0,2,3,0,3004,3005,2973,42,2128,2127,2150,0,1,4,5,2972,2971,3006,42,2150,2148,2128,0,5,2,1,3006,3004,2972,42,2151,2152,2148,0,6,7,2,3007,3008,3004,42,2148,2150,2151,0,2,5,6,3004,3006,3007,42,2152,2153,2149,0,7,8,3,3008,3009,3005,42,2149,2148,2152,0,3,2,7,3005,3004,3008,42,2127,2133,2154,0,9,10,11,2979,2978,3010,42,2154,2150,2127,0,11,12,9,3010,3011,2979,42,2133,2132,2155,0,10,13,14,2978,2977,3012,42,2155,2154,2133,0,14,11,10,3012,3010,2978,42,2156,2157,2154,0,15,16,11,3013,3014,3010,42,2154,2155,2156,0,11,14,15,3010,3012,3013,42,2157,2151,2150,0,16,17,12,3014,3015,3011,42,2150,2154,2157,0,12,11,16,3011,3010,3014,42,2132,2137,2158,0,18,19,20,2985,2984,3016,42,2158,2155,2132,0,20,21,18,3016,3017,2985,42,2137,2136,2159,0,19,22,23,2984,2983,3018,42,2159,2158,2137,0,23,20,19,3018,3016,2984,42,2160,2161,2158,0,24,25,20,3019,3020,3016,42,2158,2159,2160,0,20,23,24,3016,3018,3019,42,2161,2156,2155,0,25,26,21,3020,3021,3017,42,2155,2158,2161,0,21,20,25,3017,3016,3020,42,2136,2141,2162,0,9,10,11,2991,2990,3022,42,2162,2159,2136,0,11,12,9,3022,3023,2991,42,2141,2140,2163,0,10,13,14,2990,2989,3024,42,2163,2162,2141,0,14,11,10,3024,3022,2990,42,2164,2165,2162,0,15,16,11,3025,3026,3022,42,2162,2163,2164,0,11,14,15,3022,3024,3025,42,2165,2160,2159,0,16,17,12,3026,3027,3023,42,2159,2162,2165,0,12,11,16,3023,3022,3026,42,2140,2145,2166,0,0,1,2,2997,2996,3028,42,2166,2163,2140,0,2,3,0,3028,3029,2997,42,2145,2144,2167,0,1,4,5,2996,2995,3030,42,2167,2166,2145,0,5,2,1,3030,3028,2996,42,2168,2169,2166,0,6,7,2,3031,3032,3028,42,2166,2167,2168,0,2,5,6,3028,3030,3031,42,2169,2164,2163,0,7,8,3,3032,3033,3029,42,2163,2166,2169,0,3,2,7,3029,3028,3032,42,2144,2147,2170,0,27,28,29,3003,3002,3034,42,2170,2167,2144,0,29,30,27,3034,3035,3003,42,2147,2129,2149,0,28,31,32,3002,3001,3036,42,2149,2170,2147,0,32,29,28,3036,3034,3002,42,2153,2171,2170,0,33,34,29,3037,3038,3034,42,2170,2149,2153,0,29,32,33,3034,3036,3037,42,2171,2168,2167,0,34,35,30,3038,3039,3035,42,2167,2170,2171,0,30,29,34,3035,3034,3038,42,2153,2152,2172,0,0,1,2,3009,3008,3040,42,2172,2173,2153,0,2,3,0,3040,3041,3009,42,2152,2151,2174,0,1,4,5,3008,3007,3042,42,2174,2172,2152,0,5,2,1,3042,3040,3008,42,2175,2176,2172,0,6,7,2,3043,3044,3040,42,2172,2174,2175,0,2,5,6,3040,3042,3043,42,2176,2177,2173,0,7,8,3,3044,3045,3041,42,2173,2172,2176,0,3,2,7,3041,3040,3044,42,2151,2157,2178,0,9,10,11,3015,3014,3046,42,2178,2174,2151,0,11,12,9,3046,3047,3015,42,2157,2156,2179,0,10,13,14,3014,3013,3048,42,2179,2178,2157,0,14,11,10,3048,3046,3014,42,2180,2181,2178,0,15,16,11,3049,3050,3046,42,2178,2179,2180,0,11,14,15,3046,3048,3049,42,2181,2175,2174,0,16,17,12,3050,3051,3047,42,2174,2178,2181,0,12,11,16,3047,3046,3050,42,2156,2161,2182,0,18,19,20,3021,3020,3052,42,2182,2179,2156,0,20,21,18,3052,3053,3021,42,2161,2160,2183,0,19,22,23,3020,3019,3054,42,2183,2182,2161,0,23,20,19,3054,3052,3020,42,2184,2185,2182,0,24,25,20,3055,3056,3052,42,2182,2183,2184,0,20,23,24,3052,3054,3055,42,2185,2180,2179,0,25,26,21,3056,3057,3053,42,2179,2182,2185,0,21,20,25,3053,3052,3056,42,2160,2165,2186,0,9,10,11,3027,3026,3058,42,2186,2183,2160,0,11,12,9,3058,3059,3027,42,2165,2164,2187,0,10,13,14,3026,3025,3060,42,2187,2186,2165,0,14,11,10,3060,3058,3026,42,2188,2189,2186,0,15,16,11,3061,3062,3058,42,2186,2187,2188,0,11,14,15,3058,3060,3061,42,2189,2184,2183,0,16,17,12,3062,3063,3059,42,2183,2186,2189,0,12,11,16,3059,3058,3062,42,2164,2169,2190,0,0,1,2,3033,3032,3064,42,2190,2187,2164,0,2,3,0,3064,3065,3033,42,2169,2168,2191,0,1,4,5,3032,3031,3066,42,2191,2190,2169,0,5,2,1,3066,3064,3032,42,2192,2193,2190,0,6,7,2,3067,3068,3064,42,2190,2191,2192,0,2,5,6,3064,3066,3067,42,2193,2188,2187,0,7,8,3,3068,3069,3065,42,2187,2190,2193,0,3,2,7,3065,3064,3068,42,2168,2171,2194,0,27,28,29,3039,3038,3070,42,2194,2191,2168,0,29,30,27,3070,3071,3039,42,2171,2153,2173,0,28,31,32,3038,3037,3072,42,2173,2194,2171,0,32,29,28,3072,3070,3038,42,2177,2195,2194,0,33,34,29,3073,3074,3070,42,2194,2173,2177,0,29,32,33,3070,3072,3073,42,2195,2192,2191,0,34,35,30,3074,3075,3071,42,2191,2194,2195,0,30,29,34,3071,3070,3074,42,2177,2176,2196,0,0,1,2,3045,3044,3076,42,2196,2197,2177,0,2,3,0,3076,3077,3045,42,2176,2175,2198,0,1,4,5,3044,3043,3078,42,2198,2196,2176,0,5,2,1,3078,3076,3044,42,2199,2200,2196,0,6,7,2,3079,3080,3076,42,2196,2198,2199,0,2,5,6,3076,3078,3079,42,2200,2201,2197,0,7,8,3,3080,3081,3077,42,2197,2196,2200,0,3,2,7,3077,3076,3080,42,2175,2181,2202,0,9,10,11,3051,3050,3082,42,2202,2198,2175,0,11,12,9,3082,3083,3051,42,2181,2180,2203,0,10,13,14,3050,3049,3084,42,2203,2202,2181,0,14,11,10,3084,3082,3050,42,2204,2205,2202,0,15,16,11,3085,3086,3082,42,2202,2203,2204,0,11,14,15,3082,3084,3085,42,2205,2199,2198,0,16,17,12,3086,3087,3083,42,2198,2202,2205,0,12,11,16,3083,3082,3086,42,2180,2185,2206,0,18,19,20,3057,3056,3088,42,2206,2203,2180,0,20,21,18,3088,3089,3057,42,2185,2184,2207,0,19,22,23,3056,3055,3090,42,2207,2206,2185,0,23,20,19,3090,3088,3056,42,2208,2209,2206,0,24,25,20,3091,3092,3088,42,2206,2207,2208,0,20,23,24,3088,3090,3091,42,2209,2204,2203,0,25,26,21,3092,3093,3089,42,2203,2206,2209,0,21,20,25,3089,3088,3092,42,2184,2189,2210,0,9,10,11,3063,3062,3094,42,2210,2207,2184,0,11,12,9,3094,3095,3063,42,2189,2188,2211,0,10,13,14,3062,3061,3096,42,2211,2210,2189,0,14,11,10,3096,3094,3062,42,2212,2213,2210,0,15,16,11,3097,3098,3094,42,2210,2211,2212,0,11,14,15,3094,3096,3097,42,2213,2208,2207,0,16,17,12,3098,3099,3095,42,2207,2210,2213,0,12,11,16,3095,3094,3098,42,2188,2193,2214,0,0,1,2,3069,3068,3100,42,2214,2211,2188,0,2,3,0,3100,3101,3069,42,2193,2192,2215,0,1,4,5,3068,3067,3102,42,2215,2214,2193,0,5,2,1,3102,3100,3068,42,2216,2217,2214,0,6,7,2,3103,3104,3100,42,2214,2215,2216,0,2,5,6,3100,3102,3103,42,2217,2212,2211,0,7,8,3,3104,3105,3101,42,2211,2214,2217,0,3,2,7,3101,3100,3104,42,2192,2195,2218,0,27,28,29,3075,3074,3106,42,2218,2215,2192,0,29,30,27,3106,3107,3075,42,2195,2177,2197,0,28,31,32,3074,3073,3108,42,2197,2218,2195,0,32,29,28,3108,3106,3074,42,2201,2219,2218,0,33,34,29,3109,3110,3106,42,2218,2197,2201,0,29,32,33,3106,3108,3109,42,2219,2216,2215,0,34,35,30,3110,3111,3107,42,2215,2218,2219,0,30,29,34,3107,3106,3110,42,2201,2200,2220,0,0,1,2,3081,3080,3112,42,2220,2221,2201,0,2,3,0,3112,3113,3081,42,2200,2199,2222,0,1,4,5,3080,3079,3114,42,2222,2220,2200,0,5,2,1,3114,3112,3080,42,2223,2224,2220,0,6,7,2,3115,3116,3112,42,2220,2222,2223,0,2,5,6,3112,3114,3115,42,2224,2225,2221,0,7,8,3,3116,3117,3113,42,2221,2220,2224,0,3,2,7,3113,3112,3116,42,2199,2205,2226,0,9,10,11,3087,3086,3118,42,2226,2222,2199,0,11,12,9,3118,3119,3087,42,2205,2204,2227,0,10,13,14,3086,3085,3120,42,2227,2226,2205,0,14,11,10,3120,3118,3086,42,2228,2229,2226,0,15,16,11,3121,3122,3118,42,2226,2227,2228,0,11,14,15,3118,3120,3121,42,2229,2223,2222,0,16,17,12,3122,3123,3119,42,2222,2226,2229,0,12,11,16,3119,3118,3122,42,2204,2209,2230,0,18,19,20,3093,3092,3124,42,2230,2227,2204,0,20,21,18,3124,3125,3093,42,2209,2208,2231,0,19,22,23,3092,3091,3126,42,2231,2230,2209,0,23,20,19,3126,3124,3092,42,2232,2233,2230,0,24,25,20,3127,3128,3124,42,2230,2231,2232,0,20,23,24,3124,3126,3127,42,2233,2228,2227,0,25,26,21,3128,3129,3125,42,2227,2230,2233,0,21,20,25,3125,3124,3128,42,2208,2213,2234,0,9,10,11,3099,3098,3130,42,2234,2231,2208,0,11,12,9,3130,3131,3099,42,2213,2212,2235,0,10,13,14,3098,3097,3132,42,2235,2234,2213,0,14,11,10,3132,3130,3098,42,2236,2237,2234,0,15,16,11,3133,3134,3130,42,2234,2235,2236,0,11,14,15,3130,3132,3133,42,2237,2232,2231,0,16,17,12,3134,3135,3131,42,2231,2234,2237,0,12,11,16,3131,3130,3134,42,2212,2217,2238,0,0,1,2,3105,3104,3136,42,2238,2235,2212,0,2,3,0,3136,3137,3105,42,2217,2216,2239,0,1,4,5,3104,3103,3138,42,2239,2238,2217,0,5,2,1,3138,3136,3104,42,2240,2241,2238,0,6,7,2,3139,3140,3136,42,2238,2239,2240,0,2,5,6,3136,3138,3139,42,2241,2236,2235,0,7,8,3,3140,3141,3137,42,2235,2238,2241,0,3,2,7,3137,3136,3140,42,2216,2219,2242,0,27,28,29,3111,3110,3142,42,2242,2239,2216,0,29,30,27,3142,3143,3111,42,2219,2201,2221,0,28,31,32,3110,3109,3144,42,2221,2242,2219,0,32,29,28,3144,3142,3110,42,2225,2243,2242,0,33,34,29,3145,3146,3142,42,2242,2221,2225,0,29,32,33,3142,3144,3145,42,2243,2240,2239,0,34,35,30,3146,3147,3143,42,2239,2242,2243,0,30,29,34,3143,3142,3146,42,2225,2224,2244,0,0,1,2,3117,3116,3148,42,2244,2245,2225,0,2,3,0,3148,3149,3117,42,2224,2223,2246,0,1,4,5,3116,3115,3150,42,2246,2244,2224,0,5,2,1,3150,3148,3116,42,2247,2248,2244,0,6,7,2,3151,3152,3148,42,2244,2246,2247,0,2,5,6,3148,3150,3151,42,2248,2249,2245,0,7,8,3,3152,3153,3149,42,2245,2244,2248,0,3,2,7,3149,3148,3152,42,2223,2229,2250,0,9,10,11,3123,3122,3154,42,2250,2246,2223,0,11,12,9,3154,3155,3123,42,2229,2228,2251,0,10,13,14,3122,3121,3156,42,2251,2250,2229,0,14,11,10,3156,3154,3122,42,2252,2253,2250,0,15,16,11,3157,3158,3154,42,2250,2251,2252,0,11,14,15,3154,3156,3157,42,2253,2247,2246,0,16,17,12,3158,3159,3155,42,2246,2250,2253,0,12,11,16,3155,3154,3158,42,2228,2233,2254,0,18,19,20,3129,3128,3160,42,2254,2251,2228,0,20,21,18,3160,3161,3129,42,2233,2232,2255,0,19,22,23,3128,3127,3162,42,2255,2254,2233,0,23,20,19,3162,3160,3128,42,2256,2257,2254,0,24,25,20,3163,3164,3160,42,2254,2255,2256,0,20,23,24,3160,3162,3163,42,2257,2252,2251,0,25,26,21,3164,3165,3161,42,2251,2254,2257,0,21,20,25,3161,3160,3164,42,2232,2237,2258,0,9,10,11,3135,3134,3166,42,2258,2255,2232,0,11,12,9,3166,3167,3135,42,2237,2236,2259,0,10,13,14,3134,3133,3168,42,2259,2258,2237,0,14,11,10,3168,3166,3134,42,2260,2261,2258,0,15,16,11,3169,3170,3166,42,2258,2259,2260,0,11,14,15,3166,3168,3169,42,2261,2256,2255,0,16,17,12,3170,3171,3167,42,2255,2258,2261,0,12,11,16,3167,3166,3170,42,2236,2241,2262,0,0,1,2,3141,3140,3172,42,2262,2259,2236,0,2,3,0,3172,3173,3141,42,2241,2240,2263,0,1,4,5,3140,3139,3174,42,2263,2262,2241,0,5,2,1,3174,3172,3140,42,2264,2265,2262,0,6,7,2,3175,3176,3172,42,2262,2263,2264,0,2,5,6,3172,3174,3175,42,2265,2260,2259,0,7,8,3,3176,3177,3173,42,2259,2262,2265,0,3,2,7,3173,3172,3176,42,2240,2243,2266,0,27,28,29,3147,3146,3178,42,2266,2263,2240,0,29,30,27,3178,3179,3147,42,2243,2225,2245,0,28,31,32,3146,3145,3180,42,2245,2266,2243,0,32,29,28,3180,3178,3146,42,2249,2267,2266,0,33,34,29,3181,3182,3178,42,2266,2245,2249,0,29,32,33,3178,3180,3181,42,2267,2264,2263,0,34,35,30,3182,3183,3179,42,2263,2266,2267,0,30,29,34,3179,3178,3182,42,2249,2248,2268,0,0,1,2,3153,3152,3184,42,2268,2269,2249,0,2,3,0,3184,3185,3153,42,2248,2247,2270,0,1,4,5,3152,3151,3186,42,2270,2268,2248,0,5,2,1,3186,3184,3152,42,2271,2272,2268,0,6,7,2,3187,3188,3184,42,2268,2270,2271,0,2,5,6,3184,3186,3187,42,2272,2273,2269,0,7,8,3,3188,3189,3185,42,2269,2268,2272,0,3,2,7,3185,3184,3188,42,2247,2253,2274,0,9,10,11,3159,3158,3190,42,2274,2270,2247,0,11,12,9,3190,3191,3159,42,2253,2252,2275,0,10,13,14,3158,3157,3192,42,2275,2274,2253,0,14,11,10,3192,3190,3158,42,2276,2277,2274,0,15,16,11,3193,3194,3190,42,2274,2275,2276,0,11,14,15,3190,3192,3193,42,2277,2271,2270,0,16,17,12,3194,3195,3191,42,2270,2274,2277,0,12,11,16,3191,3190,3194,42,2252,2257,2278,0,18,19,20,3165,3164,3196,42,2278,2275,2252,0,20,21,18,3196,3197,3165,42,2257,2256,2279,0,19,22,23,3164,3163,3198,42,2279,2278,2257,0,23,20,19,3198,3196,3164,42,2280,2281,2278,0,24,25,20,3199,3200,3196,42,2278,2279,2280,0,20,23,24,3196,3198,3199,42,2281,2276,2275,0,25,26,21,3200,3201,3197,42,2275,2278,2281,0,21,20,25,3197,3196,3200,42,2256,2261,2282,0,9,10,11,3171,3170,3202,42,2282,2279,2256,0,11,12,9,3202,3203,3171,42,2261,2260,2283,0,10,13,14,3170,3169,3204,42,2283,2282,2261,0,14,11,10,3204,3202,3170,42,2284,2285,2282,0,15,16,11,3205,3206,3202,42,2282,2283,2284,0,11,14,15,3202,3204,3205,42,2285,2280,2279,0,16,17,12,3206,3207,3203,42,2279,2282,2285,0,12,11,16,3203,3202,3206,42,2260,2265,2286,0,0,1,2,3177,3176,3208,42,2286,2283,2260,0,2,3,0,3208,3209,3177,42,2265,2264,2287,0,1,4,5,3176,3175,3210,42,2287,2286,2265,0,5,2,1,3210,3208,3176,42,2288,2289,2286,0,6,7,2,3211,3212,3208,42,2286,2287,2288,0,2,5,6,3208,3210,3211,42,2289,2284,2283,0,7,8,3,3212,3213,3209,42,2283,2286,2289,0,3,2,7,3209,3208,3212,42,2264,2267,2290,0,27,28,29,3183,3182,3214,42,2290,2287,2264,0,29,30,27,3214,3215,3183,42,2267,2249,2269,0,28,31,32,3182,3181,3216,42,2269,2290,2267,0,32,29,28,3216,3214,3182,42,2273,2291,2290,0,33,34,29,3217,3218,3214,42,2290,2269,2273,0,29,32,33,3214,3216,3217,42,2291,2288,2287,0,34,35,30,3218,3219,3215,42,2287,2290,2291,0,30,29,34,3215,3214,3218,42,2273,2272,2292,0,0,1,2,3189,3188,3220,42,2292,2293,2273,0,2,3,0,3220,3221,3189,42,2272,2271,2294,0,1,4,5,3188,3187,3222,42,2294,2292,2272,0,5,2,1,3222,3220,3188,42,2295,2296,2292,0,6,7,2,3223,3224,3220,42,2292,2294,2295,0,2,5,6,3220,3222,3223,42,2296,2297,2293,0,7,8,3,3224,3225,3221,42,2293,2292,2296,0,3,2,7,3221,3220,3224,42,2271,2277,2298,0,9,10,11,3195,3194,3226,42,2298,2294,2271,0,11,12,9,3226,3227,3195,42,2277,2276,2299,0,10,13,14,3194,3193,3228,42,2299,2298,2277,0,14,11,10,3228,3226,3194,42,2300,2301,2298,0,15,16,11,3229,3230,3226,42,2298,2299,2300,0,11,14,15,3226,3228,3229,42,2301,2295,2294,0,16,17,12,3230,3231,3227,42,2294,2298,2301,0,12,11,16,3227,3226,3230,42,2276,2281,2302,0,18,19,20,3201,3200,3232,42,2302,2299,2276,0,20,21,18,3232,3233,3201,42,2281,2280,2303,0,19,22,23,3200,3199,3234,42,2303,2302,2281,0,23,20,19,3234,3232,3200,42,2304,2305,2302,0,24,25,20,3235,3236,3232,42,2302,2303,2304,0,20,23,24,3232,3234,3235,42,2305,2300,2299,0,25,26,21,3236,3237,3233,42,2299,2302,2305,0,21,20,25,3233,3232,3236,42,2280,2285,2306,0,9,10,11,3207,3206,3238,42,2306,2303,2280,0,11,12,9,3238,3239,3207,42,2285,2284,2307,0,10,13,14,3206,3205,3240,42,2307,2306,2285,0,14,11,10,3240,3238,3206,42,2308,2309,2306,0,15,16,11,3241,3242,3238,42,2306,2307,2308,0,11,14,15,3238,3240,3241,42,2309,2304,2303,0,16,17,12,3242,3243,3239,42,2303,2306,2309,0,12,11,16,3239,3238,3242,42,2284,2289,2310,0,0,1,2,3213,3212,3244,42,2310,2307,2284,0,2,3,0,3244,3245,3213,42,2289,2288,2311,0,1,4,5,3212,3211,3246,42,2311,2310,2289,0,5,2,1,3246,3244,3212,42,2312,2313,2310,0,6,7,2,3247,3248,3244,42,2310,2311,2312,0,2,5,6,3244,3246,3247,42,2313,2308,2307,0,7,8,3,3248,3249,3245,42,2307,2310,2313,0,3,2,7,3245,3244,3248,42,2288,2291,2314,0,27,28,29,3219,3218,3250,42,2314,2311,2288,0,29,30,27,3250,3251,3219,42,2291,2273,2293,0,28,31,32,3218,3217,3252,42,2293,2314,2291,0,32,29,28,3252,3250,3218,42,2297,2315,2314,0,33,34,29,3253,3254,3250,42,2314,2293,2297,0,29,32,33,3250,3252,3253,42,2315,2312,2311,0,34,35,30,3254,3255,3251,42,2311,2314,2315,0,30,29,34,3251,3250,3254,42,2297,2296,2316,0,0,1,2,3225,3224,3256,42,2316,2317,2297,0,2,3,0,3256,3257,3225,42,2296,2295,2318,0,1,4,5,3224,3223,3258,42,2318,2316,2296,0,5,2,1,3258,3256,3224,42,2319,2320,2316,0,6,7,2,3259,3260,3256,42,2316,2318,2319,0,2,5,6,3256,3258,3259,42,2320,2321,2317,0,7,8,3,3260,3261,3257,42,2317,2316,2320,0,3,2,7,3257,3256,3260,42,2295,2301,2322,0,9,10,11,3231,3230,3262,42,2322,2318,2295,0,11,12,9,3262,3263,3231,42,2301,2300,2323,0,10,13,14,3230,3229,3264,42,2323,2322,2301,0,14,11,10,3264,3262,3230,42,2324,2325,2322,0,15,16,11,3265,3266,3262,42,2322,2323,2324,0,11,14,15,3262,3264,3265,42,2325,2319,2318,0,16,17,12,3266,3267,3263,42,2318,2322,2325,0,12,11,16,3263,3262,3266,42,2300,2305,2326,0,18,19,20,3237,3236,3268,42,2326,2323,2300,0,20,21,18,3268,3269,3237,42,2305,2304,2327,0,19,22,23,3236,3235,3270,42,2327,2326,2305,0,23,20,19,3270,3268,3236,42,2328,2329,2326,0,24,25,20,3271,3272,3268,42,2326,2327,2328,0,20,23,24,3268,3270,3271,42,2329,2324,2323,0,25,26,21,3272,3273,3269,42,2323,2326,2329,0,21,20,25,3269,3268,3272,42,2304,2309,2330,0,9,10,11,3243,3242,3274,42,2330,2327,2304,0,11,12,9,3274,3275,3243,42,2309,2308,2331,0,10,13,14,3242,3241,3276,42,2331,2330,2309,0,14,11,10,3276,3274,3242,42,2332,2333,2330,0,15,16,11,3277,3278,3274,42,2330,2331,2332,0,11,14,15,3274,3276,3277,42,2333,2328,2327,0,16,17,12,3278,3279,3275,42,2327,2330,2333,0,12,11,16,3275,3274,3278,42,2308,2313,2334,0,0,1,2,3249,3248,3280,42,2334,2331,2308,0,2,3,0,3280,3281,3249,42,2313,2312,2335,0,1,4,5,3248,3247,3282,42,2335,2334,2313,0,5,2,1,3282,3280,3248,42,2336,2337,2334,0,6,7,2,3283,3284,3280,42,2334,2335,2336,0,2,5,6,3280,3282,3283,42,2337,2332,2331,0,7,8,3,3284,3285,3281,42,2331,2334,2337,0,3,2,7,3281,3280,3284,42,2312,2315,2338,0,27,28,29,3255,3254,3286,42,2338,2335,2312,0,29,30,27,3286,3287,3255,42,2315,2297,2317,0,28,31,32,3254,3253,3288,42,2317,2338,2315,0,32,29,28,3288,3286,3254,42,2321,2339,2338,0,33,34,29,3289,3290,3286,42,2338,2317,2321,0,29,32,33,3286,3288,3289,42,2339,2336,2335,0,34,35,30,3290,3291,3287,42,2335,2338,2339,0,30,29,34,3287,3286,3290,42,2321,2320,2340,0,0,1,2,3261,3260,3292,42,2340,2341,2321,0,2,3,0,3292,3293,3261,42,2320,2319,2342,0,1,4,5,3260,3259,3294,42,2342,2340,2320,0,5,2,1,3294,3292,3260,42,2343,2344,2340,0,6,7,2,3295,3296,3292,42,2340,2342,2343,0,2,5,6,3292,3294,3295,42,2344,2345,2341,0,7,8,3,3296,3297,3293,42,2341,2340,2344,0,3,2,7,3293,3292,3296,42,2319,2325,2346,0,9,10,11,3267,3266,3298,42,2346,2342,2319,0,11,12,9,3298,3299,3267,42,2325,2324,2347,0,10,13,14,3266,3265,3300,42,2347,2346,2325,0,14,11,10,3300,3298,3266,42,2348,2349,2346,0,15,16,11,3301,3302,3298,42,2346,2347,2348,0,11,14,15,3298,3300,3301,42,2349,2343,2342,0,16,17,12,3302,3303,3299,42,2342,2346,2349,0,12,11,16,3299,3298,3302,42,2324,2329,2350,0,18,19,20,3273,3272,3304,42,2350,2347,2324,0,20,21,18,3304,3305,3273,42,2329,2328,2351,0,19,22,23,3272,3271,3306,42,2351,2350,2329,0,23,20,19,3306,3304,3272,42,2352,2353,2350,0,24,25,20,3307,3308,3304,42,2350,2351,2352,0,20,23,24,3304,3306,3307,42,2353,2348,2347,0,25,26,21,3308,3309,3305,42,2347,2350,2353,0,21,20,25,3305,3304,3308,42,2328,2333,2354,0,9,10,11,3279,3278,3310,42,2354,2351,2328,0,11,12,9,3310,3311,3279,42,2333,2332,2355,0,10,13,14,3278,3277,3312,42,2355,2354,2333,0,14,11,10,3312,3310,3278,42,2356,2357,2354,0,15,16,11,3313,3314,3310,42,2354,2355,2356,0,11,14,15,3310,3312,3313,42,2357,2352,2351,0,16,17,12,3314,3315,3311,42,2351,2354,2357,0,12,11,16,3311,3310,3314,42,2332,2337,2358,0,0,1,2,3285,3284,3316,42,2358,2355,2332,0,2,3,0,3316,3317,3285,42,2337,2336,2359,0,1,4,5,3284,3283,3318,42,2359,2358,2337,0,5,2,1,3318,3316,3284,42,2360,2361,2358,0,6,7,2,3319,3320,3316,42,2358,2359,2360,0,2,5,6,3316,3318,3319,42,2361,2356,2355,0,7,8,3,3320,3321,3317,42,2355,2358,2361,0,3,2,7,3317,3316,3320,42,2336,2339,2362,0,27,28,29,3291,3290,3322,42,2362,2359,2336,0,29,30,27,3322,3323,3291,42,2339,2321,2341,0,28,31,32,3290,3289,3324,42,2341,2362,2339,0,32,29,28,3324,3322,3290,42,2345,2363,2362,0,33,34,29,3325,3326,3322,42,2362,2341,2345,0,29,32,33,3322,3324,3325,42,2363,2360,2359,0,34,35,30,3326,3327,3323,42,2359,2362,2363,0,30,29,34,3323,3322,3326,42,2345,2344,2364,0,0,1,2,3297,3296,3328,42,2364,2365,2345,0,2,3,0,3328,3329,3297,42,2344,2343,2366,0,1,4,5,3296,3295,3330,42,2366,2364,2344,0,5,2,1,3330,3328,3296,42,2367,2368,2364,0,6,7,2,3331,3332,3328,42,2364,2366,2367,0,2,5,6,3328,3330,3331,42,2368,2369,2365,0,7,8,3,3332,3333,3329,42,2365,2364,2368,0,3,2,7,3329,3328,3332,42,2343,2349,2370,0,9,10,11,3303,3302,3334,42,2370,2366,2343,0,11,12,9,3334,3335,3303,42,2349,2348,2371,0,10,13,14,3302,3301,3336,42,2371,2370,2349,0,14,11,10,3336,3334,3302,42,2372,2373,2370,0,15,16,11,3337,3338,3334,42,2370,2371,2372,0,11,14,15,3334,3336,3337,42,2373,2367,2366,0,16,17,12,3338,3339,3335,42,2366,2370,2373,0,12,11,16,3335,3334,3338,42,2348,2353,2374,0,18,19,20,3309,3308,3340,42,2374,2371,2348,0,20,21,18,3340,3341,3309,42,2353,2352,2375,0,19,22,23,3308,3307,3342,42,2375,2374,2353,0,23,20,19,3342,3340,3308,42,2376,2377,2374,0,24,25,20,3343,3344,3340,42,2374,2375,2376,0,20,23,24,3340,3342,3343,42,2377,2372,2371,0,25,26,21,3344,3345,3341,42,2371,2374,2377,0,21,20,25,3341,3340,3344,42,2352,2357,2378,0,9,10,11,3315,3314,3346,42,2378,2375,2352,0,11,12,9,3346,3347,3315,42,2357,2356,2379,0,10,13,14,3314,3313,3348,42,2379,2378,2357,0,14,11,10,3348,3346,3314,42,2380,2381,2378,0,15,16,11,3349,3350,3346,42,2378,2379,2380,0,11,14,15,3346,3348,3349,42,2381,2376,2375,0,16,17,12,3350,3351,3347,42,2375,2378,2381,0,12,11,16,3347,3346,3350,42,2356,2361,2382,0,0,1,2,3321,3320,3352,42,2382,2379,2356,0,2,3,0,3352,3353,3321,42,2361,2360,2383,0,1,4,5,3320,3319,3354,42,2383,2382,2361,0,5,2,1,3354,3352,3320,42,2384,2385,2382,0,6,7,2,3355,3356,3352,42,2382,2383,2384,0,2,5,6,3352,3354,3355,42,2385,2380,2379,0,7,8,3,3356,3357,3353,42,2379,2382,2385,0,3,2,7,3353,3352,3356,42,2360,2363,2386,0,27,28,29,3327,3326,3358,42,2386,2383,2360,0,29,30,27,3358,3359,3327,42,2363,2345,2365,0,28,31,32,3326,3325,3360,42,2365,2386,2363,0,32,29,28,3360,3358,3326,42,2369,2387,2386,0,33,34,29,3361,3362,3358,42,2386,2365,2369,0,29,32,33,3358,3360,3361,42,2387,2384,2383,0,34,35,30,3362,3363,3359,42,2383,2386,2387,0,30,29,34,3359,3358,3362,42,2369,2368,2388,0,0,1,2,3333,3332,3364,42,2388,2389,2369,0,2,3,0,3364,3365,3333,42,2368,2367,2390,0,1,4,5,3332,3331,3366,42,2390,2388,2368,0,5,2,1,3366,3364,3332,42,2391,2392,2388,0,6,7,2,3367,3368,3364,42,2388,2390,2391,0,2,5,6,3364,3366,3367,42,2392,2393,2389,0,7,8,3,3368,3369,3365,42,2389,2388,2392,0,3,2,7,3365,3364,3368,42,2367,2373,2394,0,9,10,11,3339,3338,3370,42,2394,2390,2367,0,11,12,9,3370,3371,3339,42,2373,2372,2395,0,10,13,14,3338,3337,3372,42,2395,2394,2373,0,14,11,10,3372,3370,3338,42,2396,2397,2394,0,15,16,11,3373,3374,3370,42,2394,2395,2396,0,11,14,15,3370,3372,3373,42,2397,2391,2390,0,16,17,12,3374,3375,3371,42,2390,2394,2397,0,12,11,16,3371,3370,3374,42,2372,2377,2398,0,18,19,20,3345,3344,3376,42,2398,2395,2372,0,20,21,18,3376,3377,3345,42,2377,2376,2399,0,19,22,23,3344,3343,3378,42,2399,2398,2377,0,23,20,19,3378,3376,3344,42,2400,2401,2398,0,24,25,20,3379,3380,3376,42,2398,2399,2400,0,20,23,24,3376,3378,3379,42,2401,2396,2395,0,25,26,21,3380,3381,3377,42,2395,2398,2401,0,21,20,25,3377,3376,3380,42,2376,2381,2402,0,9,10,11,3351,3350,3382,42,2402,2399,2376,0,11,12,9,3382,3383,3351,42,2381,2380,2403,0,10,13,14,3350,3349,3384,42,2403,2402,2381,0,14,11,10,3384,3382,3350,42,2404,2405,2402,0,15,16,11,3385,3386,3382,42,2402,2403,2404,0,11,14,15,3382,3384,3385,42,2405,2400,2399,0,16,17,12,3386,3387,3383,42,2399,2402,2405,0,12,11,16,3383,3382,3386,42,2380,2385,2406,0,0,1,2,3357,3356,3388,42,2406,2403,2380,0,2,3,0,3388,3389,3357,42,2385,2384,2407,0,1,4,5,3356,3355,3390,42,2407,2406,2385,0,5,2,1,3390,3388,3356,42,2408,2409,2406,0,6,7,2,3391,3392,3388,42,2406,2407,2408,0,2,5,6,3388,3390,3391,42,2409,2404,2403,0,7,8,3,3392,3393,3389,42,2403,2406,2409,0,3,2,7,3389,3388,3392,42,2384,2387,2410,0,27,28,29,3363,3362,3394,42,2410,2407,2384,0,29,30,27,3394,3395,3363,42,2387,2369,2389,0,28,31,32,3362,3361,3396,42,2389,2410,2387,0,32,29,28,3396,3394,3362,42,2393,2411,2410,0,33,34,29,3397,3398,3394,42,2410,2389,2393,0,29,32,33,3394,3396,3397,42,2411,2408,2407,0,34,35,30,3398,3399,3395,42,2407,2410,2411,0,30,29,34,3395,3394,3398,42,2393,2392,2412,0,0,1,2,3369,3368,3400,42,2412,2413,2393,0,2,3,0,3400,3401,3369,42,2392,2391,2414,0,1,4,5,3368,3367,3402,42,2414,2412,2392,0,5,2,1,3402,3400,3368,42,2415,2416,2412,0,6,7,2,3403,3404,3400,42,2412,2414,2415,0,2,5,6,3400,3402,3403,42,2416,2417,2413,0,7,8,3,3404,3405,3401,42,2413,2412,2416,0,3,2,7,3401,3400,3404,42,2391,2397,2418,0,9,10,11,3375,3374,3406,42,2418,2414,2391,0,11,12,9,3406,3407,3375,42,2397,2396,2419,0,10,13,14,3374,3373,3408,42,2419,2418,2397,0,14,11,10,3408,3406,3374,42,2420,2421,2418,0,15,16,11,3409,3410,3406,42,2418,2419,2420,0,11,14,15,3406,3408,3409,42,2421,2415,2414,0,16,17,12,3410,3411,3407,42,2414,2418,2421,0,12,11,16,3407,3406,3410,42,2396,2401,2422,0,18,19,20,3381,3380,3412,42,2422,2419,2396,0,20,21,18,3412,3413,3381,42,2401,2400,2423,0,19,22,23,3380,3379,3414,42,2423,2422,2401,0,23,20,19,3414,3412,3380,42,2424,2425,2422,0,24,25,20,3415,3416,3412,42,2422,2423,2424,0,20,23,24,3412,3414,3415,42,2425,2420,2419,0,25,26,21,3416,3417,3413,42,2419,2422,2425,0,21,20,25,3413,3412,3416,42,2400,2405,2426,0,9,10,11,3387,3386,3418,42,2426,2423,2400,0,11,12,9,3418,3419,3387,42,2405,2404,2427,0,10,13,14,3386,3385,3420,42,2427,2426,2405,0,14,11,10,3420,3418,3386,42,2428,2429,2426,0,15,16,11,3421,3422,3418,42,2426,2427,2428,0,11,14,15,3418,3420,3421,42,2429,2424,2423,0,16,17,12,3422,3423,3419,42,2423,2426,2429,0,12,11,16,3419,3418,3422,42,2404,2409,2430,0,0,1,2,3393,3392,3424,42,2430,2427,2404,0,2,3,0,3424,3425,3393,42,2409,2408,2431,0,1,4,5,3392,3391,3426,42,2431,2430,2409,0,5,2,1,3426,3424,3392,42,2432,2433,2430,0,6,7,2,3427,3428,3424,42,2430,2431,2432,0,2,5,6,3424,3426,3427,42,2433,2428,2427,0,7,8,3,3428,3429,3425,42,2427,2430,2433,0,3,2,7,3425,3424,3428,42,2408,2411,2434,0,27,28,29,3399,3398,3430,42,2434,2431,2408,0,29,30,27,3430,3431,3399,42,2411,2393,2413,0,28,31,32,3398,3397,3432,42,2413,2434,2411,0,32,29,28,3432,3430,3398,42,2417,2435,2434,0,33,34,29,3433,3434,3430,42,2434,2413,2417,0,29,32,33,3430,3432,3433,42,2435,2432,2431,0,34,35,30,3434,3435,3431,42,2431,2434,2435,0,30,29,34,3431,3430,3434,42,2417,2416,2436,0,0,1,2,3405,3404,3436,42,2436,2437,2417,0,2,3,0,3436,3437,3405,42,2416,2415,2438,0,1,4,5,3404,3403,3438,42,2438,2436,2416,0,5,2,1,3438,3436,3404,42,2439,2440,2436,0,6,7,2,3439,3440,3436,42,2436,2438,2439,0,2,5,6,3436,3438,3439,42,2440,2441,2437,0,7,8,3,3440,3441,3437,42,2437,2436,2440,0,3,2,7,3437,3436,3440,42,2415,2421,2442,0,9,10,11,3411,3410,3442,42,2442,2438,2415,0,11,12,9,3442,3443,3411,42,2421,2420,2443,0,10,13,14,3410,3409,3444,42,2443,2442,2421,0,14,11,10,3444,3442,3410,42,2444,2445,2442,0,15,16,11,3445,3446,3442,42,2442,2443,2444,0,11,14,15,3442,3444,3445,42,2445,2439,2438,0,16,17,12,3446,3447,3443,42,2438,2442,2445,0,12,11,16,3443,3442,3446,42,2420,2425,2446,0,18,19,20,3417,3416,3448,42,2446,2443,2420,0,20,21,18,3448,3449,3417,42,2425,2424,2447,0,19,22,23,3416,3415,3450,42,2447,2446,2425,0,23,20,19,3450,3448,3416,42,2448,2449,2446,0,24,25,20,3451,3452,3448,42,2446,2447,2448,0,20,23,24,3448,3450,3451,42,2449,2444,2443,0,25,26,21,3452,3453,3449,42,2443,2446,2449,0,21,20,25,3449,3448,3452,42,2424,2429,2450,0,9,10,11,3423,3422,3454,42,2450,2447,2424,0,11,12,9,3454,3455,3423,42,2429,2428,2451,0,10,13,14,3422,3421,3456,42,2451,2450,2429,0,14,11,10,3456,3454,3422,42,2452,2453,2450,0,15,16,11,3457,3458,3454,42,2450,2451,2452,0,11,14,15,3454,3456,3457,42,2453,2448,2447,0,16,17,12,3458,3459,3455,42,2447,2450,2453,0,12,11,16,3455,3454,3458,42,2428,2433,2454,0,0,1,2,3429,3428,3460,42,2454,2451,2428,0,2,3,0,3460,3461,3429,42,2433,2432,2455,0,1,4,5,3428,3427,3462,42,2455,2454,2433,0,5,2,1,3462,3460,3428,42,2456,2457,2454,0,6,7,2,3463,3464,3460,42,2454,2455,2456,0,2,5,6,3460,3462,3463,42,2457,2452,2451,0,7,8,3,3464,3465,3461,42,2451,2454,2457,0,3,2,7,3461,3460,3464,42,2432,2435,2458,0,27,28,29,3435,3434,3466,42,2458,2455,2432,0,29,30,27,3466,3467,3435,42,2435,2417,2437,0,28,31,32,3434,3433,3468,42,2437,2458,2435,0,32,29,28,3468,3466,3434,42,2441,2459,2458,0,33,34,29,3469,3470,3466,42,2458,2437,2441,0,29,32,33,3466,3468,3469,42,2459,2456,2455,0,34,35,30,3470,3471,3467,42,2455,2458,2459,0,30,29,34,3467,3466,3470,42,2441,2440,2460,0,0,1,2,3441,3440,3472,42,2460,2461,2441,0,2,3,0,3472,3473,3441,42,2440,2439,2462,0,1,4,5,3440,3439,3474,42,2462,2460,2440,0,5,2,1,3474,3472,3440,42,2463,2464,2460,0,6,7,2,3475,3476,3472,42,2460,2462,2463,0,2,5,6,3472,3474,3475,42,2464,2465,2461,0,7,8,3,3476,3477,3473,42,2461,2460,2464,0,3,2,7,3473,3472,3476,42,2439,2445,2466,0,9,10,11,3447,3446,3478,42,2466,2462,2439,0,11,12,9,3478,3479,3447,42,2445,2444,2467,0,10,13,14,3446,3445,3480,42,2467,2466,2445,0,14,11,10,3480,3478,3446,42,2468,2469,2466,0,15,16,11,3481,3482,3478,42,2466,2467,2468,0,11,14,15,3478,3480,3481,42,2469,2463,2462,0,16,17,12,3482,3483,3479,42,2462,2466,2469,0,12,11,16,3479,3478,3482,42,2444,2449,2470,0,18,19,20,3453,3452,3484,42,2470,2467,2444,0,20,21,18,3484,3485,3453,42,2449,2448,2471,0,19,22,23,3452,3451,3486,42,2471,2470,2449,0,23,20,19,3486,3484,3452,42,2472,2473,2470,0,24,25,20,3487,3488,3484,42,2470,2471,2472,0,20,23,24,3484,3486,3487,42,2473,2468,2467,0,25,26,21,3488,3489,3485,42,2467,2470,2473,0,21,20,25,3485,3484,3488,42,2448,2453,2474,0,9,10,11,3459,3458,3490,42,2474,2471,2448,0,11,12,9,3490,3491,3459,42,2453,2452,2475,0,10,13,14,3458,3457,3492,42,2475,2474,2453,0,14,11,10,3492,3490,3458,42,2476,2477,2474,0,15,16,11,3493,3494,3490,42,2474,2475,2476,0,11,14,15,3490,3492,3493,42,2477,2472,2471,0,16,17,12,3494,3495,3491,42,2471,2474,2477,0,12,11,16,3491,3490,3494,42,2452,2457,2478,0,0,1,2,3465,3464,3496,42,2478,2475,2452,0,2,3,0,3496,3497,3465,42,2457,2456,2479,0,1,4,5,3464,3463,3498,42,2479,2478,2457,0,5,2,1,3498,3496,3464,42,2480,2481,2478,0,6,7,2,3499,3500,3496,42,2478,2479,2480,0,2,5,6,3496,3498,3499,42,2481,2476,2475,0,7,8,3,3500,3501,3497,42,2475,2478,2481,0,3,2,7,3497,3496,3500,42,2456,2459,2482,0,27,28,29,3471,3470,3502,42,2482,2479,2456,0,29,30,27,3502,3503,3471,42,2459,2441,2461,0,28,31,32,3470,3469,3504,42,2461,2482,2459,0,32,29,28,3504,3502,3470,42,2465,2483,2482,0,33,34,29,3505,3506,3502,42,2482,2461,2465,0,29,32,33,3502,3504,3505,42,2483,2480,2479,0,34,35,30,3506,3507,3503,42,2479,2482,2483,0,30,29,34,3503,3502,3506,42,2465,2464,2484,0,0,1,2,3477,3476,3508,42,2484,2485,2465,0,2,3,0,3508,3509,3477,42,2464,2463,2486,0,1,4,5,3476,3475,3510,42,2486,2484,2464,0,5,2,1,3510,3508,3476,42,2487,2488,2484,0,6,7,2,3511,3512,3508,42,2484,2486,2487,0,2,5,6,3508,3510,3511,42,2488,2489,2485,0,7,8,3,3512,3513,3509,42,2485,2484,2488,0,3,2,7,3509,3508,3512,42,2463,2469,2490,0,9,10,11,3483,3482,3514,42,2490,2486,2463,0,11,12,9,3514,3515,3483,42,2469,2468,2491,0,10,13,14,3482,3481,3516,42,2491,2490,2469,0,14,11,10,3516,3514,3482,42,2492,2493,2490,0,15,16,11,3517,3518,3514,42,2490,2491,2492,0,11,14,15,3514,3516,3517,42,2493,2487,2486,0,16,17,12,3518,3519,3515,42,2486,2490,2493,0,12,11,16,3515,3514,3518,42,2468,2473,2494,0,18,19,20,3489,3488,3520,42,2494,2491,2468,0,20,21,18,3520,3521,3489,42,2473,2472,2495,0,19,22,23,3488,3487,3522,42,2495,2494,2473,0,23,20,19,3522,3520,3488,42,2496,2497,2494,0,24,25,20,1640,1611,3520,42,2494,2495,2496,0,20,23,24,3520,3522,1640,42,2497,2492,2491,0,25,26,21,1611,2557,3521,42,2491,2494,2497,0,21,20,25,3521,3520,1611,42,2472,2477,2498,0,9,10,11,3495,3494,3523,42,2498,2495,2472,0,11,12,9,3523,3524,3495,42,2477,2476,2499,0,10,13,14,3494,3493,3525,42,2499,2498,2477,0,14,11,10,3525,3523,3494,42,2500,2501,2498,0,15,16,11,3526,3527,3523,42,2498,2499,2500,0,11,14,15,3523,3525,3526,42,2501,2496,2495,0,16,17,12,3527,3528,3524,42,2495,2498,2501,0,12,11,16,3524,3523,3527,42,2476,2481,2502,0,0,1,2,3501,3500,3529,42,2502,2499,2476,0,2,3,0,3529,3530,3501,42,2481,2480,2503,0,1,4,5,3500,3499,3531,42,2503,2502,2481,0,5,2,1,3531,3529,3500,42,2504,2505,2502,0,6,7,2,3532,3533,3529,42,2502,2503,2504,0,2,5,6,3529,3531,3532,42,2505,2500,2499,0,7,8,3,3533,3534,3530,42,2499,2502,2505,0,3,2,7,3530,3529,3533,42,2480,2483,2506,0,27,28,29,3507,3506,3535,42,2506,2503,2480,0,29,30,27,3535,3536,3507,42,2483,2465,2485,0,28,31,32,3506,3505,3537,42,2485,2506,2483,0,32,29,28,3537,3535,3506,42,2489,2507,2506,0,33,34,29,82,3538,3535,42,2506,2485,2489,0,29,32,33,3535,3537,82,42,2507,2504,2503,0,34,35,30,3538,3539,3536,42,2503,2506,2507,0,30,29,34,3536,3535,3538,42,2489,2488,2508,0,0,1,2,3513,3512,3540,42,2508,2509,2489,0,2,3,0,3540,3541,3513,42,2488,2487,2510,0,1,4,5,3512,3511,3542,42,2510,2508,2488,0,5,2,1,3542,3540,3512,42,2511,2512,2508,0,6,7,2,3543,3544,3540,42,2508,2510,2511,0,2,5,6,3540,3542,3543,42,2512,2513,2509,0,7,8,3,3544,3545,3541,42,2509,2508,2512,0,3,2,7,3541,3540,3544,42,2487,2493,2514,0,9,10,11,3519,3518,3546,42,2514,2510,2487,0,11,12,9,3546,3547,3519,42,2493,2492,2515,0,10,13,14,3518,3517,3548,42,2515,2514,2493,0,14,11,10,3548,3546,3518,42,2516,2517,2514,0,15,16,11,3549,3550,3546,42,2514,2515,2516,0,11,14,15,3546,3548,3549,42,2517,2511,2510,0,16,17,12,3550,3551,3547,42,2510,2514,2517,0,12,11,16,3547,3546,3550,42,2492,2497,2518,0,18,19,20,2557,1611,1611,42,2518,2515,2492,0,20,21,18,1611,1640,2557,42,2497,2496,2519,0,19,22,23,1611,1640,3552,42,2519,2518,2497,0,23,20,19,3552,1611,1611,42,2520,2521,2518,0,24,25,20,1611,1640,1611,42,2518,2519,2520,0,20,23,24,1611,3552,1611,42,2521,2516,2515,0,25,26,21,1640,1640,1640,42,2515,2518,2521,0,21,20,25,1640,1611,1640,42,2496,2501,2522,0,9,10,11,3528,3527,3553,42,2522,2519,2496,0,11,12,9,3553,3554,3528,42,2501,2500,2523,0,10,13,14,3527,3526,3555,42,2523,2522,2501,0,14,11,10,3555,3553,3527,42,2524,2525,2522,0,15,16,11,3556,3557,3553,42,2522,2523,2524,0,11,14,15,3553,3555,3556,42,2525,2520,2519,0,16,17,12,3557,3558,3554,42,2519,2522,2525,0,12,11,16,3554,3553,3557,42,2500,2505,2526,0,0,1,2,3534,3533,3559,42,2526,2523,2500,0,2,3,0,3559,3560,3534,42,2505,2504,2527,0,1,4,5,3533,3532,3561,42,2527,2526,2505,0,5,2,1,3561,3559,3533,42,2528,2529,2526,0,6,7,2,3562,3563,3559,42,2526,2527,2528,0,2,5,6,3559,3561,3562,42,2529,2524,2523,0,7,8,3,3563,3564,3560,42,2523,2526,2529,0,3,2,7,3560,3559,3563,42,2504,2507,2530,0,27,28,29,3539,3538,3538,42,2530,2527,2504,0,29,30,27,3538,3539,3539,42,2507,2489,2509,0,28,31,32,3538,82,82,42,2509,2530,2507,0,32,29,28,82,3538,3538,42,2513,2531,2530,0,33,34,29,82,3538,3538,42,2530,2509,2513,0,29,32,33,3538,82,82,42,2531,2528,2527,0,34,35,30,3538,3539,3539,42,2527,2530,2531,0,30,29,34,3539,3538,3538,42,2513,2512,2532,0,0,1,2,3545,3544,3565,42,2532,2533,2513,0,2,3,0,3565,3566,3545,42,2512,2511,2534,0,1,4,5,3544,3543,3567,42,2534,2532,2512,0,5,2,1,3567,3565,3544,42,2535,2536,2532,0,6,7,2,3568,3569,3565,42,2532,2534,2535,0,2,5,6,3565,3567,3568,42,2536,2537,2533,0,7,8,3,3569,3570,3566,42,2533,2532,2536,0,3,2,7,3566,3565,3569,42,2511,2517,2538,0,9,10,11,3551,3550,3571,42,2538,2534,2511,0,11,12,9,3571,3572,3551,42,2517,2516,2539,0,10,13,14,3550,3549,3573,42,2539,2538,2517,0,14,11,10,3573,3571,3550,42,2540,2541,2538,0,15,16,11,3574,3575,3571,42,2538,2539,2540,0,11,14,15,3571,3573,3574,42,2541,2535,2534,0,16,17,12,3575,3576,3572,42,2534,2538,2541,0,12,11,16,3572,3571,3575,42,2516,2521,2542,0,18,19,20,1640,1640,1640,42,2542,2539,2516,0,20,21,18,1640,1640,1640,42,2521,2520,2543,0,19,22,23,1640,1611,1640,42,2543,2542,2521,0,23,20,19,1640,1640,1640,42,2544,2545,2542,0,24,25,20,1640,1640,1640,42,2542,2543,2544,0,20,23,24,1640,1640,1640,42,2545,2540,2539,0,25,26,21,1640,1640,1640,42,2539,2542,2545,0,21,20,25,1640,1640,1640,42,2520,2525,2546,0,9,10,11,3558,3557,3577,42,2546,2543,2520,0,11,12,9,3577,3578,3558,42,2525,2524,2547,0,10,13,14,3557,3556,3579,42,2547,2546,2525,0,14,11,10,3579,3577,3557,42,2548,2549,2546,0,15,16,11,3580,3581,3577,42,2546,2547,2548,0,11,14,15,3577,3579,3580,42,2549,2544,2543,0,16,17,12,3581,3582,3578,42,2543,2546,2549,0,12,11,16,3578,3577,3581,42,2524,2529,2550,0,0,1,2,3564,3563,3583,42,2550,2547,2524,0,2,3,0,3583,3584,3564,42,2529,2528,2551,0,1,4,5,3563,3562,3585,42,2551,2550,2529,0,5,2,1,3585,3583,3563,42,2552,2553,2550,0,6,7,2,3586,3587,3583,42,2550,2551,2552,0,2,5,6,3583,3585,3586,42,2553,2548,2547,0,7,8,3,3587,3588,3584,42,2547,2550,2553,0,3,2,7,3584,3583,3587,42,2528,2531,2554,0,27,28,29,3539,3538,3538,42,2554,2551,2528,0,29,30,27,3538,3539,3539,42,2531,2513,2533,0,28,31,32,3538,82,82,42,2533,2554,2531,0,32,29,28,82,3538,3538,42,2537,2555,2554,0,33,34,29,3589,82,3538,42,2554,2533,2537,0,29,32,33,3538,82,3589,42,2555,2552,2551,0,34,35,30,82,3539,3539,42,2551,2554,2555,0,30,29,34,3539,3538,82,42,2537,2536,2556,0,0,1,2,3570,3569,3590,42,2556,2557,2537,0,2,3,0,3590,3591,3570,42,2536,2535,2558,0,1,4,5,3569,3568,3592,42,2558,2556,2536,0,5,2,1,3592,3590,3569,42,2559,2560,2556,0,6,7,2,3593,3594,3590,42,2556,2558,2559,0,2,5,6,3590,3592,3593,42,2560,2561,2557,0,7,8,3,3594,3595,3591,42,2557,2556,2560,0,3,2,7,3591,3590,3594,42,2535,2541,2562,0,9,10,11,3576,3575,3596,42,2562,2558,2535,0,11,12,9,3596,3597,3576,42,2541,2540,2563,0,10,13,14,3575,3574,3598,42,2563,2562,2541,0,14,11,10,3598,3596,3575,42,2564,2565,2562,0,15,16,11,3599,3600,3596,42,2562,2563,2564,0,11,14,15,3596,3598,3599,42,2565,2559,2558,0,16,17,12,3600,3601,3597,42,2558,2562,2565,0,12,11,16,3597,3596,3600,42,2540,2545,2566,0,18,19,20,1640,1640,1640,42,2566,2563,2540,0,20,21,18,1640,1640,1640,42,2545,2544,2567,0,19,22,23,1640,1640,1640,42,2567,2566,2545,0,23,20,19,1640,1640,1640,42,2568,2569,2566,0,24,25,20,1640,1640,1640,42,2566,2567,2568,0,20,23,24,1640,1640,1640,42,2569,2564,2563,0,25,26,21,1640,1640,1640,42,2563,2566,2569,0,21,20,25,1640,1640,1640,42,2544,2549,2570,0,9,10,11,3582,3581,3602,42,2570,2567,2544,0,11,12,9,3602,3603,3582,42,2549,2548,2571,0,10,13,14,3581,3580,3604,42,2571,2570,2549,0,14,11,10,3604,3602,3581,42,2572,2573,2570,0,15,16,11,3605,3606,3602,42,2570,2571,2572,0,11,14,15,3602,3604,3605,42,2573,2568,2567,0,16,17,12,3606,3607,3603,42,2567,2570,2573,0,12,11,16,3603,3602,3606,42,2548,2553,2574,0,0,1,2,3588,3587,3608,42,2574,2571,2548,0,2,3,0,3608,3609,3588,42,2553,2552,2575,0,1,4,5,3587,3586,3610,42,2575,2574,2553,0,5,2,1,3610,3608,3587,42,2576,2577,2574,0,6,7,2,3611,3612,3608,42,2574,2575,2576,0,2,5,6,3608,3610,3611,42,2577,2572,2571,0,7,8,3,3612,3613,3609,42,2571,2574,2577,0,3,2,7,3609,3608,3612,42,2552,2555,2578,0,27,28,29,3539,82,82,42,2578,2575,2552,0,29,30,27,82,82,3539,42,2555,2537,2557,0,28,31,32,82,3589,82,42,2557,2578,2555,0,32,29,28,82,82,82,42,2561,2579,2578,0,33,34,29,82,82,82,42,2578,2557,2561,0,29,32,33,82,82,82,42,2579,2576,2575,0,34,35,30,82,82,82,42,2575,2578,2579,0,30,29,34,82,82,82,42,2561,2560,2580,0,0,1,2,3595,3594,3614,42,2580,2581,2561,0,2,3,0,3614,3615,3595,42,2560,2559,2582,0,1,4,5,3594,3593,3616,42,2582,2580,2560,0,5,2,1,3616,3614,3594,42,2583,2584,2580,0,6,7,2,3617,3618,3614,42,2580,2582,2583,0,2,5,6,3614,3616,3617,42,2584,2585,2581,0,7,8,3,3618,3619,3615,42,2581,2580,2584,0,3,2,7,3615,3614,3618,42,2559,2565,2586,0,9,10,11,3601,3600,3620,42,2586,2582,2559,0,11,12,9,3620,3621,3601,42,2565,2564,2587,0,10,13,14,3600,3599,3622,42,2587,2586,2565,0,14,11,10,3622,3620,3600,42,2588,2589,2586,0,15,16,11,3623,3624,3620,42,2586,2587,2588,0,11,14,15,3620,3622,3623,42,2589,2583,2582,0,16,17,12,3624,3625,3621,42,2582,2586,2589,0,12,11,16,3621,3620,3624,42,2564,2569,2590,0,18,19,20,1640,1640,1640,42,2590,2587,2564,0,20,21,18,1640,1640,1640,42,2569,2568,2591,0,19,22,23,1640,1640,1640,42,2591,2590,2569,0,23,20,19,1640,1640,1640,42,2592,2593,2590,0,24,25,20,1640,1640,1640,42,2590,2591,2592,0,20,23,24,1640,1640,1640,42,2593,2588,2587,0,25,26,21,1640,1640,1640,42,2587,2590,2593,0,21,20,25,1640,1640,1640,42,2568,2573,2594,0,9,10,11,3607,3606,3626,42,2594,2591,2568,0,11,12,9,3626,3627,3607,42,2573,2572,2595,0,10,13,14,3606,3605,3628,42,2595,2594,2573,0,14,11,10,3628,3626,3606,42,2596,2597,2594,0,15,16,11,3629,3630,3626,42,2594,2595,2596,0,11,14,15,3626,3628,3629,42,2597,2592,2591,0,16,17,12,3630,3631,3627,42,2591,2594,2597,0,12,11,16,3627,3626,3630,42,2572,2577,2598,0,0,1,2,3613,3612,3632,42,2598,2595,2572,0,2,3,0,3632,3633,3613,42,2577,2576,2599,0,1,4,5,3612,3611,3634,42,2599,2598,2577,0,5,2,1,3634,3632,3612,42,2600,2601,2598,0,6,7,2,3635,3636,3632,42,2598,2599,2600,0,2,5,6,3632,3634,3635,42,2601,2596,2595,0,7,8,3,3636,3637,3633,42,2595,2598,2601,0,3,2,7,3633,3632,3636,42,2576,2579,2602,0,27,28,29,82,82,82,42,2602,2599,2576,0,29,30,27,82,82,82,42,2579,2561,2581,0,28,31,32,82,82,82,42,2581,2602,2579,0,32,29,28,82,82,82,42,2585,2603,2602,0,33,34,29,82,82,82,42,2602,2581,2585,0,29,32,33,82,82,82,42,2603,2600,2599,0,34,35,30,82,82,82,42,2599,2602,2603,0,30,29,34,82,82,82,42,2585,2584,2604,0,0,1,2,3619,3618,3638,42,2604,2605,2585,0,2,3,0,3638,3639,3619,42,2584,2583,2606,0,1,4,5,3618,3617,3640,42,2606,2604,2584,0,5,2,1,3640,3638,3618,42,2607,2608,2604,0,6,7,2,3641,3642,3638,42,2604,2606,2607,0,2,5,6,3638,3640,3641,42,2608,2609,2605,0,7,8,3,3642,3643,3639,42,2605,2604,2608,0,3,2,7,3639,3638,3642,42,2583,2589,2610,0,9,10,11,3625,3624,3644,42,2610,2606,2583,0,11,12,9,3644,3645,3625,42,2589,2588,2611,0,10,13,14,3624,3623,3646,42,2611,2610,2589,0,14,11,10,3646,3644,3624,42,2612,2613,2610,0,15,16,11,3647,3648,3644,42,2610,2611,2612,0,11,14,15,3644,3646,3647,42,2613,2607,2606,0,16,17,12,3648,3649,3645,42,2606,2610,2613,0,12,11,16,3645,3644,3648,42,2588,2593,2614,0,18,19,20,1640,1640,1640,42,2614,2611,2588,0,20,21,18,1640,1640,1640,42,2593,2592,2615,0,19,22,23,1640,1640,2557,42,2615,2614,2593,0,23,20,19,2557,1640,1640,42,2616,2617,2614,0,24,25,20,3650,1611,1640,42,2614,2615,2616,0,20,23,24,1640,2557,3650,42,2617,2612,2611,0,25,26,21,1611,1640,1640,42,2611,2614,2617,0,21,20,25,1640,1640,1611,42,2592,2597,2618,0,9,10,11,3631,3630,3651,42,2618,2615,2592,0,11,12,9,3651,3652,3631,42,2597,2596,2619,0,10,13,14,3630,3629,3653,42,2619,2618,2597,0,14,11,10,3653,3651,3630,42,2620,2621,2618,0,15,16,11,3654,3655,3651,42,2618,2619,2620,0,11,14,15,3651,3653,3654,42,2621,2616,2615,0,16,17,12,3655,3656,3652,42,2615,2618,2621,0,12,11,16,3652,3651,3655,42,2596,2601,2622,0,0,1,2,3637,3636,3657,42,2622,2619,2596,0,2,3,0,3657,3658,3637,42,2601,2600,2623,0,1,4,5,3636,3635,3659,42,2623,2622,2601,0,5,2,1,3659,3657,3636,42,2624,2625,2622,0,6,7,2,3660,3661,3657,42,2622,2623,2624,0,2,5,6,3657,3659,3660,42,2625,2620,2619,0,7,8,3,3661,3662,3658,42,2619,2622,2625,0,3,2,7,3658,3657,3661,42,2600,2603,2626,0,27,28,29,82,82,3538,42,2626,2623,2600,0,29,30,27,3538,3538,82,42,2603,2585,2605,0,28,31,32,82,82,82,42,2605,2626,2603,0,32,29,28,82,3538,82,42,2609,2627,2626,0,33,34,29,3663,1627,3538,42,2626,2605,2609,0,29,32,33,3538,82,3663,42,2627,2624,2623,0,34,35,30,1627,3538,3538,42,2623,2626,2627,0,30,29,34,3538,3538,1627,42,2609,2608,2628,0,0,1,2,3643,3642,3664,42,2628,2629,2609,0,2,3,0,3664,3665,3643,42,2608,2607,2630,0,1,4,5,3642,3641,3666,42,2630,2628,2608,0,5,2,1,3666,3664,3642,42,2631,2632,2628,0,6,7,2,3667,3668,3664,42,2628,2630,2631,0,2,5,6,3664,3666,3667,42,2632,2633,2629,0,7,8,3,3668,3669,3665,42,2629,2628,2632,0,3,2,7,3665,3664,3668,42,2607,2613,2634,0,9,10,11,3649,3648,3670,42,2634,2630,2607,0,11,12,9,3670,3671,3649,42,2613,2612,2635,0,10,13,14,3648,3647,3672,42,2635,2634,2613,0,14,11,10,3672,3670,3648,42,2636,2637,2634,0,15,16,11,3673,3674,3670,42,2634,2635,2636,0,11,14,15,3670,3672,3673,42,2637,2631,2630,0,16,17,12,3674,3675,3671,42,2630,2634,2637,0,12,11,16,3671,3670,3674,42,2612,2617,2638,0,18,19,20,1640,1611,1611,42,2638,2635,2612,0,20,21,18,1611,2557,1640,42,2617,2616,2639,0,19,22,23,1611,3650,1611,42,2639,2638,2617,0,23,20,19,1611,1611,1611,42,2640,2641,2638,0,24,25,20,1640,2557,1611,42,2638,2639,2640,0,20,23,24,1611,1611,1640,42,2641,2636,2635,0,25,26,21,2557,2557,2557,42,2635,2638,2641,0,21,20,25,2557,1611,2557,42,2616,2621,2642,0,9,10,11,3656,3655,3676,42,2642,2639,2616,0,11,12,9,3676,3677,3656,42,2621,2620,2643,0,10,13,14,3655,3654,3678,42,2643,2642,2621,0,14,11,10,3678,3676,3655,42,2644,2645,2642,0,15,16,11,3679,3680,3676,42,2642,2643,2644,0,11,14,15,3676,3678,3679,42,2645,2640,2639,0,16,17,12,3680,3681,3677,42,2639,2642,2645,0,12,11,16,3677,3676,3680,42,2620,2625,2646,0,0,1,2,3662,3661,3682,42,2646,2643,2620,0,2,3,0,3682,3683,3662,42,2625,2624,2647,0,1,4,5,3661,3660,3684,42,2647,2646,2625,0,5,2,1,3684,3682,3661,42,2648,2649,2646,0,6,7,2,3685,3686,3682,42,2646,2647,2648,0,2,5,6,3682,3684,3685,42,2649,2644,2643,0,7,8,3,3686,3687,3683,42,2643,2646,2649,0,3,2,7,3683,3682,3686,42,2624,2627,2650,0,27,28,29,3538,1627,1627,42,2650,2647,2624,0,29,30,27,1627,82,3538,42,2627,2609,2629,0,28,31,32,1627,3663,3663,42,2629,2650,2627,0,32,29,28,3663,1627,1627,42,2633,2651,2650,0,33,34,29,3538,82,1627,42,2650,2629,2633,0,29,32,33,1627,3663,3538,42,2651,2648,2647,0,34,35,30,82,82,82,42,2647,2650,2651,0,30,29,34,82,1627,82,42,2633,2632,2652,0,0,1,2,3669,3668,3688,42,2652,2653,2633,0,2,3,0,3688,3689,3669,42,2632,2631,2654,0,1,4,5,3668,3667,3690,42,2654,2652,2632,0,5,2,1,3690,3688,3668,42,2655,2656,2652,0,6,7,2,3691,3692,3688,42,2652,2654,2655,0,2,5,6,3688,3690,3691,42,2656,2657,2653,0,7,8,3,3692,3693,3689,42,2653,2652,2656,0,3,2,7,3689,3688,3692,42,2631,2637,2658,0,9,10,11,3675,3674,3694,42,2658,2654,2631,0,11,12,9,3694,3695,3675,42,2637,2636,2659,0,10,13,14,3674,3673,3696,42,2659,2658,2637,0,14,11,10,3696,3694,3674,42,2660,2661,2658,0,15,16,11,3697,3698,3694,42,2658,2659,2660,0,11,14,15,3694,3696,3697,42,2661,2655,2654,0,16,17,12,3698,3699,3695,42,2654,2658,2661,0,12,11,16,3695,3694,3698,42,2636,2641,2662,0,18,19,20,2557,2557,1640,42,2662,2659,2636,0,20,21,18,1640,1640,2557,42,2641,2640,2663,0,19,22,23,2557,1640,1640,42,2663,2662,2641,0,23,20,19,1640,1640,2557,42,2664,2665,2662,0,24,25,20,1640,1640,1640,42,2662,2663,2664,0,20,23,24,1640,1640,1640,42,2665,2660,2659,0,25,26,21,1640,1640,1640,42,2659,2662,2665,0,21,20,25,1640,1640,1640,42,2640,2645,2666,0,9,10,11,3681,3680,3700,42,2666,2663,2640,0,11,12,9,3700,3701,3681,42,2645,2644,2667,0,10,13,14,3680,3679,3702,42,2667,2666,2645,0,14,11,10,3702,3700,3680,42,2668,2669,2666,0,15,16,11,3703,3704,3700,42,2666,2667,2668,0,11,14,15,3700,3702,3703,42,2669,2664,2663,0,16,17,12,3704,3705,3701,42,2663,2666,2669,0,12,11,16,3701,3700,3704,42,2644,2649,2670,0,0,1,2,3687,3686,3706,42,2670,2667,2644,0,2,3,0,3706,3707,3687,42,2649,2648,2671,0,1,4,5,3686,3685,3708,42,2671,2670,2649,0,5,2,1,3708,3706,3686,42,2672,2673,2670,0,6,7,2,3709,3710,3706,42,2670,2671,2672,0,2,5,6,3706,3708,3709,42,2673,2668,2667,0,7,8,3,3710,3711,3707,42,2667,2670,2673,0,3,2,7,3707,3706,3710,42,2648,2651,2674,0,27,28,29,82,82,82,42,2674,2671,2648,0,29,30,27,82,82,82,42,2651,2633,2653,0,28,31,32,82,3538,82,42,2653,2674,2651,0,32,29,28,82,82,82,42,2657,2675,2674,0,33,34,29,82,82,82,42,2674,2653,2657,0,29,32,33,82,82,82,42,2675,2672,2671,0,34,35,30,82,82,82,42,2671,2674,2675,0,30,29,34,82,82,82,42,2657,2656,2676,0,0,1,2,3693,3692,3712,42,2676,2677,2657,0,2,3,0,3712,3713,3693,42,2656,2655,2678,0,1,4,5,3692,3691,3714,42,2678,2676,2656,0,5,2,1,3714,3712,3692,42,2679,2680,2676,0,6,7,2,3715,3716,3712,42,2676,2678,2679,0,2,5,6,3712,3714,3715,42,2680,2681,2677,0,7,8,3,3716,3717,3713,42,2677,2676,2680,0,3,2,7,3713,3712,3716,42,2655,2661,2682,0,9,10,11,3699,3698,3718,42,2682,2678,2655,0,11,12,9,3718,3719,3699,42,2661,2660,2683,0,10,13,14,3698,3697,3720,42,2683,2682,2661,0,14,11,10,3720,3718,3698,42,2684,2685,2682,0,15,16,11,3721,3722,3718,42,2682,2683,2684,0,11,14,15,3718,3720,3721,42,2685,2679,2678,0,16,17,12,3722,3723,3719,42,2678,2682,2685,0,12,11,16,3719,3718,3722,42,2660,2665,2686,0,18,19,20,1640,1640,1640,42,2686,2683,2660,0,20,21,18,1640,1640,1640,42,2665,2664,2687,0,19,22,23,1640,1640,1640,42,2687,2686,2665,0,23,20,19,1640,1640,1640,42,2688,2689,2686,0,24,25,20,1640,1640,1640,42,2686,2687,2688,0,20,23,24,1640,1640,1640,42,2689,2684,2683,0,25,26,21,1640,1640,1640,42,2683,2686,2689,0,21,20,25,1640,1640,1640,42,2664,2669,2690,0,9,10,11,3705,3704,3724,42,2690,2687,2664,0,11,12,9,3724,3725,3705,42,2669,2668,2691,0,10,13,14,3704,3703,3726,42,2691,2690,2669,0,14,11,10,3726,3724,3704,42,2692,2693,2690,0,15,16,11,3727,3728,3724,42,2690,2691,2692,0,11,14,15,3724,3726,3727,42,2693,2688,2687,0,16,17,12,3728,3729,3725,42,2687,2690,2693,0,12,11,16,3725,3724,3728,42,2668,2673,2694,0,0,1,2,3711,3710,3730,42,2694,2691,2668,0,2,3,0,3730,3731,3711,42,2673,2672,2695,0,1,4,5,3710,3709,3732,42,2695,2694,2673,0,5,2,1,3732,3730,3710,42,2696,2697,2694,0,6,7,2,3733,3734,3730,42,2694,2695,2696,0,2,5,6,3730,3732,3733,42,2697,2692,2691,0,7,8,3,3734,3735,3731,42,2691,2694,2697,0,3,2,7,3731,3730,3734,42,2672,2675,2698,0,27,28,29,82,82,82,42,2698,2695,2672,0,29,30,27,82,82,82,42,2675,2657,2677,0,28,31,32,82,82,82,42,2677,2698,2675,0,32,29,28,82,82,82,42,2681,2699,2698,0,33,34,29,82,82,82,42,2698,2677,2681,0,29,32,33,82,82,82,42,2699,2696,2695,0,34,35,30,82,82,82,42,2695,2698,2699,0,30,29,34,82,82,82,42,2681,2680,2700,0,0,1,2,3717,3716,3736,42,2700,2701,2681,0,2,3,0,3736,3737,3717,42,2680,2679,2702,0,1,4,5,3716,3715,3738,42,2702,2700,2680,0,5,2,1,3738,3736,3716,42,2703,2704,2700,0,6,7,2,3739,3740,3736,42,2700,2702,2703,0,2,5,6,3736,3738,3739,42,2704,2705,2701,0,7,8,3,3740,3741,3737,42,2701,2700,2704,0,3,2,7,3737,3736,3740,42,2679,2685,2706,0,9,10,11,3723,3722,3742,42,2706,2702,2679,0,11,12,9,3742,3743,3723,42,2685,2684,2707,0,10,13,14,3722,3721,3744,42,2707,2706,2685,0,14,11,10,3744,3742,3722,42,2708,2709,2706,0,15,16,11,3745,3746,3742,42,2706,2707,2708,0,11,14,15,3742,3744,3745,42,2709,2703,2702,0,16,17,12,3746,3747,3743,42,2702,2706,2709,0,12,11,16,3743,3742,3746,42,2684,2689,2710,0,18,19,20,1640,1640,1640,42,2710,2707,2684,0,20,21,18,1640,1640,1640,42,2689,2688,2711,0,19,22,23,1640,1640,1640,42,2711,2710,2689,0,23,20,19,1640,1640,1640,42,2712,2713,2710,0,24,25,20,1640,1640,1640,42,2710,2711,2712,0,20,23,24,1640,1640,1640,42,2713,2708,2707,0,25,26,21,1640,1640,1640,42,2707,2710,2713,0,21,20,25,1640,1640,1640,42,2688,2693,2714,0,9,10,11,3729,3728,3748,42,2714,2711,2688,0,11,12,9,3748,3749,3729,42,2693,2692,2715,0,10,13,14,3728,3727,3750,42,2715,2714,2693,0,14,11,10,3750,3748,3728,42,2716,2717,2714,0,15,16,11,3751,3752,3748,42,2714,2715,2716,0,11,14,15,3748,3750,3751,42,2717,2712,2711,0,16,17,12,3752,3753,3749,42,2711,2714,2717,0,12,11,16,3749,3748,3752,42,2692,2697,2718,0,0,1,2,3735,3734,3754,42,2718,2715,2692,0,2,3,0,3754,3755,3735,42,2697,2696,2719,0,1,4,5,3734,3733,3756,42,2719,2718,2697,0,5,2,1,3756,3754,3734,42,2720,2721,2718,0,6,7,2,3757,3758,3754,42,2718,2719,2720,0,2,5,6,3754,3756,3757,42,2721,2716,2715,0,7,8,3,3758,3759,3755,42,2715,2718,2721,0,3,2,7,3755,3754,3758,42,2696,2699,2722,0,27,28,29,82,82,82,42,2722,2719,2696,0,29,30,27,82,82,82,42,2699,2681,2701,0,28,31,32,82,82,82,42,2701,2722,2699,0,32,29,28,82,82,82,42,2705,2723,2722,0,33,34,29,3589,1653,82,42,2722,2701,2705,0,29,32,33,82,82,3589,42,2723,2720,2719,0,34,35,30,1653,82,82,42,2719,2722,2723,0,30,29,34,82,82,1653,42,2705,2704,2724,0,0,1,2,3741,3740,3760,42,2724,2725,2705,0,2,3,0,3760,3761,3741,42,2704,2703,2726,0,1,4,5,3740,3739,3762,42,2726,2724,2704,0,5,2,1,3762,3760,3740,42,2727,2728,2724,0,6,7,2,3763,3764,3760,42,2724,2726,2727,0,2,5,6,3760,3762,3763,42,2728,2729,2725,0,7,8,3,3764,3765,3761,42,2725,2724,2728,0,3,2,7,3761,3760,3764,42,2703,2709,2730,0,9,10,11,3747,3746,3766,42,2730,2726,2703,0,11,12,9,3766,3767,3747,42,2709,2708,2731,0,10,13,14,3746,3745,3768,42,2731,2730,2709,0,14,11,10,3768,3766,3746,42,2732,2733,2730,0,15,16,11,3769,3770,3766,42,2730,2731,2732,0,11,14,15,3766,3768,3769,42,2733,2727,2726,0,16,17,12,3770,3771,3767,42,2726,2730,2733,0,12,11,16,3767,3766,3770,42,2708,2713,2734,0,18,19,20,1640,1640,1640,42,2734,2731,2708,0,20,21,18,1640,1640,1640,42,2713,2712,2735,0,19,22,23,1640,1640,1640,42,2735,2734,2713,0,23,20,19,1640,1640,1640,42,2736,2737,2734,0,24,25,20,1640,1640,1640,42,2734,2735,2736,0,20,23,24,1640,1640,1640,42,2737,2732,2731,0,25,26,21,1640,1640,1640,42,2731,2734,2737,0,21,20,25,1640,1640,1640,42,2712,2717,2738,0,9,10,11,3753,3752,3772,42,2738,2735,2712,0,11,12,9,3772,3773,3753,42,2717,2716,2739,0,10,13,14,3752,3751,3774,42,2739,2738,2717,0,14,11,10,3774,3772,3752,42,2740,2741,2738,0,15,16,11,3775,3776,3772,42,2738,2739,2740,0,11,14,15,3772,3774,3775,42,2741,2736,2735,0,16,17,12,3776,3777,3773,42,2735,2738,2741,0,12,11,16,3773,3772,3776,42,2716,2721,2742,0,0,1,2,3759,3758,3778,42,2742,2739,2716,0,2,3,0,3778,3779,3759,42,2721,2720,2743,0,1,4,5,3758,3757,3780,42,2743,2742,2721,0,5,2,1,3780,3778,3758,42,2744,2745,2742,0,6,7,2,3781,3782,3778,42,2742,2743,2744,0,2,5,6,3778,3780,3781,42,2745,2740,2739,0,7,8,3,3782,3783,3779,42,2739,2742,2745,0,3,2,7,3779,3778,3782,42,2720,2723,2746,0,27,28,29,82,1653,1653,42,2746,2743,2720,0,29,30,27,1653,3589,82,42,2723,2705,2725,0,28,31,32,1653,3589,82,42,2725,2746,2723,0,32,29,28,82,1653,1653,42,2729,2747,2746,0,33,34,29,82,82,1653,42,2746,2725,2729,0,29,32,33,1653,82,82,42,2747,2744,2743,0,34,35,30,82,82,3589,42,2743,2746,2747,0,30,29,34,3589,1653,82,42,2729,2728,2748,0,0,1,2,3765,3764,3784,42,2748,2749,2729,0,2,3,0,3784,3785,3765,42,2728,2727,2750,0,1,4,5,3764,3763,3786,42,2750,2748,2728,0,5,2,1,3786,3784,3764,42,2751,2752,2748,0,6,7,2,3787,3788,3784,42,2748,2750,2751,0,2,5,6,3784,3786,3787,42,2752,2753,2749,0,7,8,3,3788,3789,3785,42,2749,2748,2752,0,3,2,7,3785,3784,3788,42,2727,2733,2754,0,9,10,11,3771,3770,3790,42,2754,2750,2727,0,11,12,9,3790,3791,3771,42,2733,2732,2755,0,10,13,14,3770,3769,3792,42,2755,2754,2733,0,14,11,10,3792,3790,3770,42,2756,2757,2754,0,15,16,11,3793,3794,3790,42,2754,2755,2756,0,11,14,15,3790,3792,3793,42,2757,2751,2750,0,16,17,12,3794,3795,3791,42,2750,2754,2757,0,12,11,16,3791,3790,3794,42,2732,2737,2758,0,18,19,20,1640,1640,1640,42,2758,2755,2732,0,20,21,18,1640,1640,1640,42,2737,2736,2759,0,19,22,23,1640,1640,1640,42,2759,2758,2737,0,23,20,19,1640,1640,1640,42,2760,2761,2758,0,24,25,20,1640,1640,1640,42,2758,2759,2760,0,20,23,24,1640,1640,1640,42,2761,2756,2755,0,25,26,21,1640,2558,1640,42,2755,2758,2761,0,21,20,25,1640,1640,1640,42,2736,2741,2762,0,9,10,11,3777,3776,3796,42,2762,2759,2736,0,11,12,9,3796,3797,3777,42,2741,2740,2763,0,10,13,14,3776,3775,3798,42,2763,2762,2741,0,14,11,10,3798,3796,3776,42,2764,2765,2762,0,15,16,11,3799,3800,3796,42,2762,2763,2764,0,11,14,15,3796,3798,3799,42,2765,2760,2759,0,16,17,12,3800,3801,3797,42,2759,2762,2765,0,12,11,16,3797,3796,3800,42,2740,2745,2766,0,0,1,2,3783,3782,3802,42,2766,2763,2740,0,2,3,0,3802,3803,3783,42,2745,2744,2767,0,1,4,5,3782,3781,3804,42,2767,2766,2745,0,5,2,1,3804,3802,3782,42,2768,2769,2766,0,6,7,2,3805,3806,3802,42,2766,2767,2768,0,2,5,6,3802,3804,3805,42,2769,2764,2763,0,7,8,3,3806,3807,3803,42,2763,2766,2769,0,3,2,7,3803,3802,3806,42,2744,2747,2770,0,27,28,29,82,82,82,42,2770,2767,2744,0,29,30,27,82,82,82,42,2747,2729,2749,0,28,31,32,82,82,82,42,2749,2770,2747,0,32,29,28,82,82,82,42,2753,2771,2770,0,33,34,29,82,82,82,42,2770,2749,2753,0,29,32,33,82,82,82,42,2771,2768,2767,0,34,35,30,82,82,82,42,2767,2770,2771,0,30,29,34,82,82,82,42,2753,2752,2772,0,0,1,2,3789,3788,3808,42,2772,2773,2753,0,2,3,0,3808,3809,3789,42,2752,2751,2774,0,1,4,5,3788,3787,3810,42,2774,2772,2752,0,5,2,1,3810,3808,3788,42,2775,2776,2772,0,6,7,2,3811,3812,3808,42,2772,2774,2775,0,2,5,6,3808,3810,3811,42,2776,2777,2773,0,7,8,3,3812,3813,3809,42,2773,2772,2776,0,3,2,7,3809,3808,3812,42,2751,2757,2778,0,9,10,11,3795,3794,3814,42,2778,2774,2751,0,11,12,9,3814,3815,3795,42,2757,2756,2779,0,10,13,14,3794,3793,3816,42,2779,2778,2757,0,14,11,10,3816,3814,3794,42,2780,2781,2778,0,15,16,11,3817,3818,3814,42,2778,2779,2780,0,11,14,15,3814,3816,3817,42,2781,2775,2774,0,16,17,12,3818,3819,3815,42,2774,2778,2781,0,12,11,16,3815,3814,3818,42,2756,2761,2782,0,18,19,20,2558,1640,3820,42,2782,2779,2756,0,20,21,18,3820,3821,2558,42,2761,2760,2783,0,19,22,23,1640,1640,3822,42,2783,2782,2761,0,23,20,19,3822,3820,1640,42,2784,2785,2782,0,24,25,20,3823,3824,3820,42,2782,2783,2784,0,20,23,24,3820,3822,3823,42,2785,2780,2779,0,25,26,21,3824,3825,3821,42,2779,2782,2785,0,21,20,25,3821,3820,3824,42,2760,2765,2786,0,9,10,11,3801,3800,3826,42,2786,2783,2760,0,11,12,9,3826,3827,3801,42,2765,2764,2787,0,10,13,14,3800,3799,3828,42,2787,2786,2765,0,14,11,10,3828,3826,3800,42,2788,2789,2786,0,15,16,11,3829,3830,3826,42,2786,2787,2788,0,11,14,15,3826,3828,3829,42,2789,2784,2783,0,16,17,12,3830,3831,3827,42,2783,2786,2789,0,12,11,16,3827,3826,3830,42,2764,2769,2790,0,0,1,2,3807,3806,3832,42,2790,2787,2764,0,2,3,0,3832,3833,3807,42,2769,2768,2791,0,1,4,5,3806,3805,3834,42,2791,2790,2769,0,5,2,1,3834,3832,3806,42,2792,2793,2790,0,6,7,2,3835,3836,3832,42,2790,2791,2792,0,2,5,6,3832,3834,3835,42,2793,2788,2787,0,7,8,3,3836,3837,3833,42,2787,2790,2793,0,3,2,7,3833,3832,3836,42,2768,2771,2794,0,27,28,29,82,82,3838,42,2794,2791,2768,0,29,30,27,3838,3839,82,42,2771,2753,2773,0,28,31,32,82,82,3840,42,2773,2794,2771,0,32,29,28,3840,3838,82,42,2777,2795,2794,0,33,34,29,3841,3842,3838,42,2794,2773,2777,0,29,32,33,3838,3840,3841,42,2795,2792,2791,0,34,35,30,3842,3843,3839,42,2791,2794,2795,0,30,29,34,3839,3838,3842,42,2777,2776,2796,0,0,1,2,3813,3812,3844,42,2796,2797,2777,0,2,3,0,3844,3845,3813,42,2776,2775,2798,0,1,4,5,3812,3811,3846,42,2798,2796,2776,0,5,2,1,3846,3844,3812,42,2799,2800,2796,0,6,7,2,3847,3848,3844,42,2796,2798,2799,0,2,5,6,3844,3846,3847,42,2800,2801,2797,0,7,8,3,3848,3849,3845,42,2797,2796,2800,0,3,2,7,3845,3844,3848,42,2775,2781,2802,0,9,10,11,3819,3818,3850,42,2802,2798,2775,0,11,12,9,3850,3851,3819,42,2781,2780,2803,0,10,13,14,3818,3817,3852,42,2803,2802,2781,0,14,11,10,3852,3850,3818,42,2804,2805,2802,0,15,16,11,3853,3854,3850,42,2802,2803,2804,0,11,14,15,3850,3852,3853,42,2805,2799,2798,0,16,17,12,3854,3855,3851,42,2798,2802,2805,0,12,11,16,3851,3850,3854,42,2780,2785,2806,0,18,19,20,3825,3824,3856,42,2806,2803,2780,0,20,21,18,3856,3857,3825,42,2785,2784,2807,0,19,22,23,3824,3823,3858,42,2807,2806,2785,0,23,20,19,3858,3856,3824,42,2808,2809,2806,0,24,25,20,3859,3860,3856,42,2806,2807,2808,0,20,23,24,3856,3858,3859,42,2809,2804,2803,0,25,26,21,3860,3861,3857,42,2803,2806,2809,0,21,20,25,3857,3856,3860,42,2784,2789,2810,0,9,10,11,3831,3830,3862,42,2810,2807,2784,0,11,12,9,3862,3863,3831,42,2789,2788,2811,0,10,13,14,3830,3829,3864,42,2811,2810,2789,0,14,11,10,3864,3862,3830,42,2812,2813,2810,0,15,16,11,3865,3866,3862,42,2810,2811,2812,0,11,14,15,3862,3864,3865,42,2813,2808,2807,0,16,17,12,3866,3867,3863,42,2807,2810,2813,0,12,11,16,3863,3862,3866,42,2788,2793,2814,0,0,1,2,3837,3836,3868,42,2814,2811,2788,0,2,3,0,3868,3869,3837,42,2793,2792,2815,0,1,4,5,3836,3835,3870,42,2815,2814,2793,0,5,2,1,3870,3868,3836,42,2816,2817,2814,0,6,7,2,3871,3872,3868,42,2814,2815,2816,0,2,5,6,3868,3870,3871,42,2817,2812,2811,0,7,8,3,3872,3873,3869,42,2811,2814,2817,0,3,2,7,3869,3868,3872,42,2792,2795,2818,0,27,28,29,3843,3842,3874,42,2818,2815,2792,0,29,30,27,3874,3875,3843,42,2795,2777,2797,0,28,31,32,3842,3841,3876,42,2797,2818,2795,0,32,29,28,3876,3874,3842,42,2801,2819,2818,0,33,34,29,3877,3878,3874,42,2818,2797,2801,0,29,32,33,3874,3876,3877,42,2819,2816,2815,0,34,35,30,3878,3879,3875,42,2815,2818,2819,0,30,29,34,3875,3874,3878,42,2801,2800,2820,0,0,1,2,3849,3848,3880,42,2820,2821,2801,0,2,3,0,3880,3881,3849,42,2800,2799,2822,0,1,4,5,3848,3847,3882,42,2822,2820,2800,0,5,2,1,3882,3880,3848,42,2823,2824,2820,0,6,7,2,3883,3884,3880,42,2820,2822,2823,0,2,5,6,3880,3882,3883,42,2824,2825,2821,0,7,8,3,3884,3885,3881,42,2821,2820,2824,0,3,2,7,3881,3880,3884,42,2799,2805,2826,0,9,10,11,3855,3854,3886,42,2826,2822,2799,0,11,12,9,3886,3887,3855,42,2805,2804,2827,0,10,13,14,3854,3853,3888,42,2827,2826,2805,0,14,11,10,3888,3886,3854,42,2828,2829,2826,0,15,16,11,3889,3890,3886,42,2826,2827,2828,0,11,14,15,3886,3888,3889,42,2829,2823,2822,0,16,17,12,3890,3891,3887,42,2822,2826,2829,0,12,11,16,3887,3886,3890,42,2804,2809,2830,0,18,19,20,3861,3860,3892,42,2830,2827,2804,0,20,21,18,3892,3893,3861,42,2809,2808,2831,0,19,22,23,3860,3859,3894,42,2831,2830,2809,0,23,20,19,3894,3892,3860,42,2832,2833,2830,0,24,25,20,3895,3896,3892,42,2830,2831,2832,0,20,23,24,3892,3894,3895,42,2833,2828,2827,0,25,26,21,3896,3897,3893,42,2827,2830,2833,0,21,20,25,3893,3892,3896,42,2808,2813,2834,0,9,10,11,3867,3866,3898,42,2834,2831,2808,0,11,12,9,3898,3899,3867,42,2813,2812,2835,0,10,13,14,3866,3865,3900,42,2835,2834,2813,0,14,11,10,3900,3898,3866,42,2836,2837,2834,0,15,16,11,3901,3902,3898,42,2834,2835,2836,0,11,14,15,3898,3900,3901,42,2837,2832,2831,0,16,17,12,3902,3903,3899,42,2831,2834,2837,0,12,11,16,3899,3898,3902,42,2812,2817,2838,0,0,1,2,3873,3872,3904,42,2838,2835,2812,0,2,3,0,3904,3905,3873,42,2817,2816,2839,0,1,4,5,3872,3871,3906,42,2839,2838,2817,0,5,2,1,3906,3904,3872,42,2840,2841,2838,0,6,7,2,3907,3908,3904,42,2838,2839,2840,0,2,5,6,3904,3906,3907,42,2841,2836,2835,0,7,8,3,3908,3909,3905,42,2835,2838,2841,0,3,2,7,3905,3904,3908,42,2816,2819,2842,0,27,28,29,3879,3878,3910,42,2842,2839,2816,0,29,30,27,3910,3911,3879,42,2819,2801,2821,0,28,31,32,3878,3877,3912,42,2821,2842,2819,0,32,29,28,3912,3910,3878,42,2825,2843,2842,0,33,34,29,3913,3914,3910,42,2842,2821,2825,0,29,32,33,3910,3912,3913,42,2843,2840,2839,0,34,35,30,3914,3915,3911,42,2839,2842,2843,0,30,29,34,3911,3910,3914,42,2825,2824,2844,0,0,1,2,3885,3884,3916,42,2844,2845,2825,0,2,3,0,3916,3917,3885,42,2824,2823,2846,0,1,4,5,3884,3883,3918,42,2846,2844,2824,0,5,2,1,3918,3916,3884,42,2847,2848,2844,0,6,7,2,3919,3920,3916,42,2844,2846,2847,0,2,5,6,3916,3918,3919,42,2848,2849,2845,0,7,8,3,3920,3921,3917,42,2845,2844,2848,0,3,2,7,3917,3916,3920,42,2823,2829,2850,0,9,10,11,3891,3890,3922,42,2850,2846,2823,0,11,12,9,3922,3923,3891,42,2829,2828,2851,0,10,13,14,3890,3889,3924,42,2851,2850,2829,0,14,11,10,3924,3922,3890,42,2852,2853,2850,0,15,16,11,3925,3926,3922,42,2850,2851,2852,0,11,14,15,3922,3924,3925,42,2853,2847,2846,0,16,17,12,3926,3927,3923,42,2846,2850,2853,0,12,11,16,3923,3922,3926,42,2828,2833,2854,0,18,19,20,3897,3896,3928,42,2854,2851,2828,0,20,21,18,3928,3929,3897,42,2833,2832,2855,0,19,22,23,3896,3895,3930,42,2855,2854,2833,0,23,20,19,3930,3928,3896,42,2856,2857,2854,0,24,25,20,3931,3932,3928,42,2854,2855,2856,0,20,23,24,3928,3930,3931,42,2857,2852,2851,0,25,26,21,3932,3933,3929,42,2851,2854,2857,0,21,20,25,3929,3928,3932,42,2832,2837,2858,0,9,10,11,3903,3902,3934,42,2858,2855,2832,0,11,12,9,3934,3935,3903,42,2837,2836,2859,0,10,13,14,3902,3901,3936,42,2859,2858,2837,0,14,11,10,3936,3934,3902,42,2860,2861,2858,0,15,16,11,3937,3938,3934,42,2858,2859,2860,0,11,14,15,3934,3936,3937,42,2861,2856,2855,0,16,17,12,3938,3939,3935,42,2855,2858,2861,0,12,11,16,3935,3934,3938,42,2836,2841,2862,0,0,1,2,3909,3908,3940,42,2862,2859,2836,0,2,3,0,3940,3941,3909,42,2841,2840,2863,0,1,4,5,3908,3907,3942,42,2863,2862,2841,0,5,2,1,3942,3940,3908,42,2864,2865,2862,0,6,7,2,3943,3944,3940,42,2862,2863,2864,0,2,5,6,3940,3942,3943,42,2865,2860,2859,0,7,8,3,3944,3945,3941,42,2859,2862,2865,0,3,2,7,3941,3940,3944,42,2840,2843,2866,0,27,28,29,3915,3914,3946,42,2866,2863,2840,0,29,30,27,3946,3947,3915,42,2843,2825,2845,0,28,31,32,3914,3913,3948,42,2845,2866,2843,0,32,29,28,3948,3946,3914,42,2849,2867,2866,0,33,34,29,3949,3950,3946,42,2866,2845,2849,0,29,32,33,3946,3948,3949,42,2867,2864,2863,0,34,35,30,3950,3951,3947,42,2863,2866,2867,0,30,29,34,3947,3946,3950,42,2849,2848,2868,0,0,1,2,3921,3920,3952,42,2868,2869,2849,0,2,3,0,3952,3953,3921,42,2848,2847,2870,0,1,4,5,3920,3919,3954,42,2870,2868,2848,0,5,2,1,3954,3952,3920,42,2871,2872,2868,0,6,7,2,3955,3956,3952,42,2868,2870,2871,0,2,5,6,3952,3954,3955,42,2872,2873,2869,0,7,8,3,3956,3957,3953,42,2869,2868,2872,0,3,2,7,3953,3952,3956,42,2847,2853,2874,0,9,10,11,3927,3926,3958,42,2874,2870,2847,0,11,12,9,3958,3959,3927,42,2853,2852,2875,0,10,13,14,3926,3925,3960,42,2875,2874,2853,0,14,11,10,3960,3958,3926,42,2876,2877,2874,0,15,16,11,3961,3962,3958,42,2874,2875,2876,0,11,14,15,3958,3960,3961,42,2877,2871,2870,0,16,17,12,3962,3963,3959,42,2870,2874,2877,0,12,11,16,3959,3958,3962,42,2852,2857,2878,0,18,19,20,3933,3932,3964,42,2878,2875,2852,0,20,21,18,3964,3965,3933,42,2857,2856,2879,0,19,22,23,3932,3931,3966,42,2879,2878,2857,0,23,20,19,3966,3964,3932,42,2880,2881,2878,0,24,25,20,3967,3968,3964,42,2878,2879,2880,0,20,23,24,3964,3966,3967,42,2881,2876,2875,0,25,26,21,3968,3969,3965,42,2875,2878,2881,0,21,20,25,3965,3964,3968,42,2856,2861,2882,0,9,10,11,3939,3938,3970,42,2882,2879,2856,0,11,12,9,3970,3971,3939,42,2861,2860,2883,0,10,13,14,3938,3937,3972,42,2883,2882,2861,0,14,11,10,3972,3970,3938,42,2884,2885,2882,0,15,16,11,3973,3974,3970,42,2882,2883,2884,0,11,14,15,3970,3972,3973,42,2885,2880,2879,0,16,17,12,3974,3975,3971,42,2879,2882,2885,0,12,11,16,3971,3970,3974,42,2860,2865,2886,0,0,1,2,3945,3944,3976,42,2886,2883,2860,0,2,3,0,3976,3977,3945,42,2865,2864,2887,0,1,4,5,3944,3943,3978,42,2887,2886,2865,0,5,2,1,3978,3976,3944,42,2888,2889,2886,0,6,7,2,3979,3980,3976,42,2886,2887,2888,0,2,5,6,3976,3978,3979,42,2889,2884,2883,0,7,8,3,3980,3981,3977,42,2883,2886,2889,0,3,2,7,3977,3976,3980,42,2864,2867,2890,0,27,28,29,3951,3950,3982,42,2890,2887,2864,0,29,30,27,3982,3983,3951,42,2867,2849,2869,0,28,31,32,3950,3949,3984,42,2869,2890,2867,0,32,29,28,3984,3982,3950,42,2873,2891,2890,0,33,34,29,3985,3986,3982,42,2890,2869,2873,0,29,32,33,3982,3984,3985,42,2891,2888,2887,0,34,35,30,3986,3987,3983,42,2887,2890,2891,0,30,29,34,3983,3982,3986,42,2873,2872,2892,0,0,1,2,3957,3956,3988,42,2892,2893,2873,0,2,3,0,3988,3989,3957,42,2872,2871,2894,0,1,4,5,3956,3955,3990,42,2894,2892,2872,0,5,2,1,3990,3988,3956,42,2895,2896,2892,0,6,7,2,3991,3992,3988,42,2892,2894,2895,0,2,5,6,3988,3990,3991,42,2896,2897,2893,0,7,8,3,3992,3993,3989,42,2893,2892,2896,0,3,2,7,3989,3988,3992,42,2871,2877,2898,0,9,10,11,3963,3962,3994,42,2898,2894,2871,0,11,12,9,3994,3995,3963,42,2877,2876,2899,0,10,13,14,3962,3961,3996,42,2899,2898,2877,0,14,11,10,3996,3994,3962,42,2900,2901,2898,0,15,16,11,3997,3998,3994,42,2898,2899,2900,0,11,14,15,3994,3996,3997,42,2901,2895,2894,0,16,17,12,3998,3999,3995,42,2894,2898,2901,0,12,11,16,3995,3994,3998,42,2876,2881,2902,0,18,19,20,3969,3968,4000,42,2902,2899,2876,0,20,21,18,4000,4001,3969,42,2881,2880,2903,0,19,22,23,3968,3967,4002,42,2903,2902,2881,0,23,20,19,4002,4000,3968,42,2904,2905,2902,0,24,25,20,4003,4004,4000,42,2902,2903,2904,0,20,23,24,4000,4002,4003,42,2905,2900,2899,0,25,26,21,4004,4005,4001,42,2899,2902,2905,0,21,20,25,4001,4000,4004,42,2880,2885,2906,0,9,10,11,3975,3974,4006,42,2906,2903,2880,0,11,12,9,4006,4007,3975,42,2885,2884,2907,0,10,13,14,3974,3973,4008,42,2907,2906,2885,0,14,11,10,4008,4006,3974,42,2908,2909,2906,0,15,16,11,4009,4010,4006,42,2906,2907,2908,0,11,14,15,4006,4008,4009,42,2909,2904,2903,0,16,17,12,4010,4011,4007,42,2903,2906,2909,0,12,11,16,4007,4006,4010,42,2884,2889,2910,0,0,1,2,3981,3980,4012,42,2910,2907,2884,0,2,3,0,4012,4013,3981,42,2889,2888,2911,0,1,4,5,3980,3979,4014,42,2911,2910,2889,0,5,2,1,4014,4012,3980,42,2912,2913,2910,0,6,7,2,4015,4016,4012,42,2910,2911,2912,0,2,5,6,4012,4014,4015,42,2913,2908,2907,0,7,8,3,4016,4017,4013,42,2907,2910,2913,0,3,2,7,4013,4012,4016,42,2888,2891,2914,0,27,28,29,3987,3986,4018,42,2914,2911,2888,0,29,30,27,4018,4019,3987,42,2891,2873,2893,0,28,31,32,3986,3985,4020,42,2893,2914,2891,0,32,29,28,4020,4018,3986,42,2897,2915,2914,0,33,34,29,4021,4022,4018,42,2914,2893,2897,0,29,32,33,4018,4020,4021,42,2915,2912,2911,0,34,35,30,4022,4023,4019,42,2911,2914,2915,0,30,29,34,4019,4018,4022,42,2897,2896,2916,0,0,1,2,3993,3992,4024,42,2916,2917,2897,0,2,3,0,4024,4025,3993,42,2896,2895,2918,0,1,4,5,3992,3991,4026,42,2918,2916,2896,0,5,2,1,4026,4024,3992,42,2919,2920,2916,0,6,7,2,4027,4028,4024,42,2916,2918,2919,0,2,5,6,4024,4026,4027,42,2920,2921,2917,0,7,8,3,4028,4029,4025,42,2917,2916,2920,0,3,2,7,4025,4024,4028,42,2895,2901,2922,0,9,10,11,3999,3998,4030,42,2922,2918,2895,0,11,12,9,4030,4031,3999,42,2901,2900,2923,0,10,13,14,3998,3997,4032,42,2923,2922,2901,0,14,11,10,4032,4030,3998,42,2924,2925,2922,0,15,16,11,4033,4034,4030,42,2922,2923,2924,0,11,14,15,4030,4032,4033,42,2925,2919,2918,0,16,17,12,4034,4035,4031,42,2918,2922,2925,0,12,11,16,4031,4030,4034,42,2900,2905,2926,0,18,19,20,4005,4004,4036,42,2926,2923,2900,0,20,21,18,4036,4037,4005,42,2905,2904,2927,0,19,22,23,4004,4003,4038,42,2927,2926,2905,0,23,20,19,4038,4036,4004,42,2928,2929,2926,0,24,25,20,4039,4040,4036,42,2926,2927,2928,0,20,23,24,4036,4038,4039,42,2929,2924,2923,0,25,26,21,4040,4041,4037,42,2923,2926,2929,0,21,20,25,4037,4036,4040,42,2904,2909,2930,0,9,10,11,4011,4010,4042,42,2930,2927,2904,0,11,12,9,4042,4043,4011,42,2909,2908,2931,0,10,13,14,4010,4009,4044,42,2931,2930,2909,0,14,11,10,4044,4042,4010,42,2932,2933,2930,0,15,16,11,4045,4046,4042,42,2930,2931,2932,0,11,14,15,4042,4044,4045,42,2933,2928,2927,0,16,17,12,4046,4047,4043,42,2927,2930,2933,0,12,11,16,4043,4042,4046,42,2908,2913,2934,0,0,1,2,4017,4016,4048,42,2934,2931,2908,0,2,3,0,4048,4049,4017,42,2913,2912,2935,0,1,4,5,4016,4015,4050,42,2935,2934,2913,0,5,2,1,4050,4048,4016,42,2936,2937,2934,0,6,7,2,4051,4052,4048,42,2934,2935,2936,0,2,5,6,4048,4050,4051,42,2937,2932,2931,0,7,8,3,4052,4053,4049,42,2931,2934,2937,0,3,2,7,4049,4048,4052,42,2912,2915,2938,0,27,28,29,4023,4022,4054,42,2938,2935,2912,0,29,30,27,4054,4055,4023,42,2915,2897,2917,0,28,31,32,4022,4021,4056,42,2917,2938,2915,0,32,29,28,4056,4054,4022,42,2921,2939,2938,0,33,34,29,4057,4058,4054,42,2938,2917,2921,0,29,32,33,4054,4056,4057,42,2939,2936,2935,0,34,35,30,4058,4059,4055,42,2935,2938,2939,0,30,29,34,4055,4054,4058,42,2921,2920,2940,0,0,1,2,4029,4028,4060,42,2940,2941,2921,0,2,3,0,4060,4061,4029,42,2920,2919,2942,0,1,4,5,4028,4027,4062,42,2942,2940,2920,0,5,2,1,4062,4060,4028,42,2943,2944,2940,0,6,7,2,4063,4064,4060,42,2940,2942,2943,0,2,5,6,4060,4062,4063,42,2944,2945,2941,0,7,8,3,4064,4065,4061,42,2941,2940,2944,0,3,2,7,4061,4060,4064,42,2919,2925,2946,0,9,10,11,4035,4034,4066,42,2946,2942,2919,0,11,12,9,4066,4067,4035,42,2925,2924,2947,0,10,13,14,4034,4033,4068,42,2947,2946,2925,0,14,11,10,4068,4066,4034,42,2948,2949,2946,0,15,16,11,4069,4070,4066,42,2946,2947,2948,0,11,14,15,4066,4068,4069,42,2949,2943,2942,0,16,17,12,4070,4071,4067,42,2942,2946,2949,0,12,11,16,4067,4066,4070,42,2924,2929,2950,0,18,19,20,4041,4040,4072,42,2950,2947,2924,0,20,21,18,4072,4073,4041,42,2929,2928,2951,0,19,22,23,4040,4039,4074,42,2951,2950,2929,0,23,20,19,4074,4072,4040,42,2952,2953,2950,0,24,25,20,4075,4076,4072,42,2950,2951,2952,0,20,23,24,4072,4074,4075,42,2953,2948,2947,0,25,26,21,4076,4077,4073,42,2947,2950,2953,0,21,20,25,4073,4072,4076,42,2928,2933,2954,0,9,10,11,4047,4046,4078,42,2954,2951,2928,0,11,12,9,4078,4079,4047,42,2933,2932,2955,0,10,13,14,4046,4045,4080,42,2955,2954,2933,0,14,11,10,4080,4078,4046,42,2956,2957,2954,0,15,16,11,4081,4082,4078,42,2954,2955,2956,0,11,14,15,4078,4080,4081,42,2957,2952,2951,0,16,17,12,4082,4083,4079,42,2951,2954,2957,0,12,11,16,4079,4078,4082,42,2932,2937,2958,0,0,1,2,4053,4052,4084,42,2958,2955,2932,0,2,3,0,4084,4085,4053,42,2937,2936,2959,0,1,4,5,4052,4051,4086,42,2959,2958,2937,0,5,2,1,4086,4084,4052,42,2960,2961,2958,0,6,7,2,4087,4088,4084,42,2958,2959,2960,0,2,5,6,4084,4086,4087,42,2961,2956,2955,0,7,8,3,4088,4089,4085,42,2955,2958,2961,0,3,2,7,4085,4084,4088,42,2936,2939,2962,0,27,28,29,4059,4058,4090,42,2962,2959,2936,0,29,30,27,4090,4091,4059,42,2939,2921,2941,0,28,31,32,4058,4057,4092,42,2941,2962,2939,0,32,29,28,4092,4090,4058,42,2945,2963,2962,0,33,34,29,4093,4094,4090,42,2962,2941,2945,0,29,32,33,4090,4092,4093,42,2963,2960,2959,0,34,35,30,4094,4095,4091,42,2959,2962,2963,0,30,29,34,4091,4090,4094,42,2945,2944,2964,0,0,1,2,4065,4064,4096,42,2964,2965,2945,0,2,3,0,4096,4097,4065,42,2944,2943,2966,0,1,4,5,4064,4063,4098,42,2966,2964,2944,0,5,2,1,4098,4096,4064,42,2967,2968,2964,0,6,7,2,4099,4100,4096,42,2964,2966,2967,0,2,5,6,4096,4098,4099,42,2968,2969,2965,0,7,8,3,4100,4101,4097,42,2965,2964,2968,0,3,2,7,4097,4096,4100,42,2943,2949,2970,0,9,10,11,4071,4070,4102,42,2970,2966,2943,0,11,12,9,4102,4103,4071,42,2949,2948,2971,0,10,13,14,4070,4069,4104,42,2971,2970,2949,0,14,11,10,4104,4102,4070,42,2972,2973,2970,0,15,16,11,4105,4106,4102,42,2970,2971,2972,0,11,14,15,4102,4104,4105,42,2973,2967,2966,0,16,17,12,4106,4107,4103,42,2966,2970,2973,0,12,11,16,4103,4102,4106,42,2948,2953,2974,0,18,19,20,4077,4076,4108,42,2974,2971,2948,0,20,21,18,4108,4109,4077,42,2953,2952,2975,0,19,22,23,4076,4075,4110,42,2975,2974,2953,0,23,20,19,4110,4108,4076,42,2976,2977,2974,0,24,25,20,4111,4112,4108,42,2974,2975,2976,0,20,23,24,4108,4110,4111,42,2977,2972,2971,0,25,26,21,4112,4113,4109,42,2971,2974,2977,0,21,20,25,4109,4108,4112,42,2952,2957,2978,0,9,10,11,4083,4082,4114,42,2978,2975,2952,0,11,12,9,4114,4115,4083,42,2957,2956,2979,0,10,13,14,4082,4081,4116,42,2979,2978,2957,0,14,11,10,4116,4114,4082,42,2980,2981,2978,0,15,16,11,4117,4118,4114,42,2978,2979,2980,0,11,14,15,4114,4116,4117,42,2981,2976,2975,0,16,17,12,4118,4119,4115,42,2975,2978,2981,0,12,11,16,4115,4114,4118,42,2956,2961,2982,0,0,1,2,4089,4088,4120,42,2982,2979,2956,0,2,3,0,4120,4121,4089,42,2961,2960,2983,0,1,4,5,4088,4087,4122,42,2983,2982,2961,0,5,2,1,4122,4120,4088,42,2984,2985,2982,0,6,7,2,4123,4124,4120,42,2982,2983,2984,0,2,5,6,4120,4122,4123,42,2985,2980,2979,0,7,8,3,4124,4125,4121,42,2979,2982,2985,0,3,2,7,4121,4120,4124,42,2960,2963,2986,0,27,28,29,4095,4094,4126,42,2986,2983,2960,0,29,30,27,4126,4127,4095,42,2963,2945,2965,0,28,31,32,4094,4093,4128,42,2965,2986,2963,0,32,29,28,4128,4126,4094,42,2969,2987,2986,0,33,34,29,4129,4130,4126,42,2986,2965,2969,0,29,32,33,4126,4128,4129,42,2987,2984,2983,0,34,35,30,4130,4131,4127,42,2983,2986,2987,0,30,29,34,4127,4126,4130,42,2969,2968,2988,0,0,1,2,4101,4100,4132,42,2988,2989,2969,0,2,3,0,4132,4133,4101,42,2968,2967,2990,0,1,4,5,4100,4099,4134,42,2990,2988,2968,0,5,2,1,4134,4132,4100,42,2991,2992,2988,0,6,7,2,4135,4136,4132,42,2988,2990,2991,0,2,5,6,4132,4134,4135,42,2992,2993,2989,0,7,8,3,4136,4137,4133,42,2989,2988,2992,0,3,2,7,4133,4132,4136,42,2967,2973,2994,0,9,10,11,4107,4106,4138,42,2994,2990,2967,0,11,12,9,4138,4139,4107,42,2973,2972,2995,0,10,13,14,4106,4105,4140,42,2995,2994,2973,0,14,11,10,4140,4138,4106,42,2996,2997,2994,0,15,16,11,4141,4142,4138,42,2994,2995,2996,0,11,14,15,4138,4140,4141,42,2997,2991,2990,0,16,17,12,4142,4143,4139,42,2990,2994,2997,0,12,11,16,4139,4138,4142,42,2972,2977,2998,0,18,19,20,4113,4112,4144,42,2998,2995,2972,0,20,21,18,4144,4145,4113,42,2977,2976,2999,0,19,22,23,4112,4111,4146,42,2999,2998,2977,0,23,20,19,4146,4144,4112,42,3000,3001,2998,0,24,25,20,4147,4148,4144,42,2998,2999,3000,0,20,23,24,4144,4146,4147,42,3001,2996,2995,0,25,26,21,4148,4149,4145,42,2995,2998,3001,0,21,20,25,4145,4144,4148,42,2976,2981,3002,0,9,10,11,4119,4118,4150,42,3002,2999,2976,0,11,12,9,4150,4151,4119,42,2981,2980,3003,0,10,13,14,4118,4117,4152,42,3003,3002,2981,0,14,11,10,4152,4150,4118,42,3004,3005,3002,0,15,16,11,4153,4154,4150,42,3002,3003,3004,0,11,14,15,4150,4152,4153,42,3005,3000,2999,0,16,17,12,4154,4155,4151,42,2999,3002,3005,0,12,11,16,4151,4150,4154,42,2980,2985,3006,0,0,1,2,4125,4124,4156,42,3006,3003,2980,0,2,3,0,4156,4157,4125,42,2985,2984,3007,0,1,4,5,4124,4123,4158,42,3007,3006,2985,0,5,2,1,4158,4156,4124,42,3008,3009,3006,0,6,7,2,4159,4160,4156,42,3006,3007,3008,0,2,5,6,4156,4158,4159,42,3009,3004,3003,0,7,8,3,4160,4161,4157,42,3003,3006,3009,0,3,2,7,4157,4156,4160,42,2984,2987,3010,0,27,28,29,4131,4130,4162,42,3010,3007,2984,0,29,30,27,4162,4163,4131,42,2987,2969,2989,0,28,31,32,4130,4129,4164,42,2989,3010,2987,0,32,29,28,4164,4162,4130,42,2993,3011,3010,0,33,34,29,4165,4166,4162,42,3010,2989,2993,0,29,32,33,4162,4164,4165,42,3011,3008,3007,0,34,35,30,4166,4167,4163,42,3007,3010,3011,0,30,29,34,4163,4162,4166,42,2993,2992,3012,0,0,1,2,4137,4136,4168,42,3012,3013,2993,0,2,3,0,4168,4169,4137,42,2992,2991,3014,0,1,4,5,4136,4135,4170,42,3014,3012,2992,0,5,2,1,4170,4168,4136,42,3015,3016,3012,0,6,7,2,4171,4172,4168,42,3012,3014,3015,0,2,5,6,4168,4170,4171,42,3016,3017,3013,0,7,8,3,4172,4173,4169,42,3013,3012,3016,0,3,2,7,4169,4168,4172,42,2991,2997,3018,0,9,10,11,4143,4142,4174,42,3018,3014,2991,0,11,12,9,4174,4175,4143,42,2997,2996,3019,0,10,13,14,4142,4141,4176,42,3019,3018,2997,0,14,11,10,4176,4174,4142,42,3020,3021,3018,0,15,16,11,4177,4178,4174,42,3018,3019,3020,0,11,14,15,4174,4176,4177,42,3021,3015,3014,0,16,17,12,4178,4179,4175,42,3014,3018,3021,0,12,11,16,4175,4174,4178,42,2996,3001,3022,0,18,19,20,4149,4148,4180,42,3022,3019,2996,0,20,21,18,4180,4181,4149,42,3001,3000,3023,0,19,22,23,4148,4147,4182,42,3023,3022,3001,0,23,20,19,4182,4180,4148,42,3024,3025,3022,0,24,25,20,4183,4184,4180,42,3022,3023,3024,0,20,23,24,4180,4182,4183,42,3025,3020,3019,0,25,26,21,4184,4185,4181,42,3019,3022,3025,0,21,20,25,4181,4180,4184,42,3000,3005,3026,0,9,10,11,4155,4154,4186,42,3026,3023,3000,0,11,12,9,4186,4187,4155,42,3005,3004,3027,0,10,13,14,4154,4153,4188,42,3027,3026,3005,0,14,11,10,4188,4186,4154,42,3028,3029,3026,0,15,16,11,4189,4190,4186,42,3026,3027,3028,0,11,14,15,4186,4188,4189,42,3029,3024,3023,0,16,17,12,4190,4191,4187,42,3023,3026,3029,0,12,11,16,4187,4186,4190,42,3004,3009,3030,0,0,1,2,4161,4160,4192,42,3030,3027,3004,0,2,3,0,4192,4193,4161,42,3009,3008,3031,0,1,4,5,4160,4159,4194,42,3031,3030,3009,0,5,2,1,4194,4192,4160,42,3032,3033,3030,0,6,7,2,4195,4196,4192,42,3030,3031,3032,0,2,5,6,4192,4194,4195,42,3033,3028,3027,0,7,8,3,4196,4197,4193,42,3027,3030,3033,0,3,2,7,4193,4192,4196,42,3008,3011,3034,0,27,28,29,4167,4166,4198,42,3034,3031,3008,0,29,30,27,4198,4199,4167,42,3011,2993,3013,0,28,31,32,4166,4165,4200,42,3013,3034,3011,0,32,29,28,4200,4198,4166,42,3017,3035,3034,0,33,34,29,4201,4202,4198,42,3034,3013,3017,0,29,32,33,4198,4200,4201,42,3035,3032,3031,0,34,35,30,4202,4203,4199,42,3031,3034,3035,0,30,29,34,4199,4198,4202,42,3017,3016,3036,0,0,1,2,4173,4172,4204,42,3036,3037,3017,0,2,3,0,4204,4205,4173,42,3016,3015,3038,0,1,4,5,4172,4171,4206,42,3038,3036,3016,0,5,2,1,4206,4204,4172,42,3039,3040,3036,0,6,7,2,4207,4208,4204,42,3036,3038,3039,0,2,5,6,4204,4206,4207,42,3040,3041,3037,0,7,8,3,4208,4209,4205,42,3037,3036,3040,0,3,2,7,4205,4204,4208,42,3015,3021,3042,0,9,10,11,4179,4178,4210,42,3042,3038,3015,0,11,12,9,4210,4211,4179,42,3021,3020,3043,0,10,13,14,4178,4177,4212,42,3043,3042,3021,0,14,11,10,4212,4210,4178,42,3044,3045,3042,0,15,16,11,4213,4214,4210,42,3042,3043,3044,0,11,14,15,4210,4212,4213,42,3045,3039,3038,0,16,17,12,4214,4215,4211,42,3038,3042,3045,0,12,11,16,4211,4210,4214,42,3020,3025,3046,0,18,19,20,4185,4184,4216,42,3046,3043,3020,0,20,21,18,4216,4217,4185,42,3025,3024,3047,0,19,22,23,4184,4183,4218,42,3047,3046,3025,0,23,20,19,4218,4216,4184,42,3048,3049,3046,0,24,25,20,4219,4220,4216,42,3046,3047,3048,0,20,23,24,4216,4218,4219,42,3049,3044,3043,0,25,26,21,4220,4221,4217,42,3043,3046,3049,0,21,20,25,4217,4216,4220,42,3024,3029,3050,0,9,10,11,4191,4190,4222,42,3050,3047,3024,0,11,12,9,4222,4223,4191,42,3029,3028,3051,0,10,13,14,4190,4189,4224,42,3051,3050,3029,0,14,11,10,4224,4222,4190,42,3052,3053,3050,0,15,16,11,4225,4226,4222,42,3050,3051,3052,0,11,14,15,4222,4224,4225,42,3053,3048,3047,0,16,17,12,4226,4227,4223,42,3047,3050,3053,0,12,11,16,4223,4222,4226,42,3028,3033,3054,0,0,1,2,4197,4196,4228,42,3054,3051,3028,0,2,3,0,4228,4229,4197,42,3033,3032,3055,0,1,4,5,4196,4195,4230,42,3055,3054,3033,0,5,2,1,4230,4228,4196,42,3056,3057,3054,0,6,7,2,4231,4232,4228,42,3054,3055,3056,0,2,5,6,4228,4230,4231,42,3057,3052,3051,0,7,8,3,4232,4233,4229,42,3051,3054,3057,0,3,2,7,4229,4228,4232,42,3032,3035,3058,0,27,28,29,4203,4202,4234,42,3058,3055,3032,0,29,30,27,4234,4235,4203,42,3035,3017,3037,0,28,31,32,4202,4201,4236,42,3037,3058,3035,0,32,29,28,4236,4234,4202,42,3041,3059,3058,0,33,34,29,4237,4238,4234,42,3058,3037,3041,0,29,32,33,4234,4236,4237,42,3059,3056,3055,0,34,35,30,4238,4239,4235,42,3055,3058,3059,0,30,29,34,4235,4234,4238,42,3041,3040,3060,0,0,1,2,4209,4208,4240,42,3060,3061,3041,0,2,3,0,4240,4241,4209,42,3040,3039,3062,0,1,4,5,4208,4207,4242,42,3062,3060,3040,0,5,2,1,4242,4240,4208,42,3063,3064,3060,0,6,7,2,4243,4244,4240,42,3060,3062,3063,0,2,5,6,4240,4242,4243,42,3064,3065,3061,0,7,8,3,4244,4245,4241,42,3061,3060,3064,0,3,2,7,4241,4240,4244,42,3039,3045,3066,0,9,10,11,4215,4214,4246,42,3066,3062,3039,0,11,12,9,4246,4247,4215,42,3045,3044,3067,0,10,13,14,4214,4213,4248,42,3067,3066,3045,0,14,11,10,4248,4246,4214,42,3068,3069,3066,0,15,16,11,4249,4250,4246,42,3066,3067,3068,0,11,14,15,4246,4248,4249,42,3069,3063,3062,0,16,17,12,4250,4251,4247,42,3062,3066,3069,0,12,11,16,4247,4246,4250,42,3044,3049,3070,0,18,19,20,4221,4220,4252,42,3070,3067,3044,0,20,21,18,4252,4253,4221,42,3049,3048,3071,0,19,22,23,4220,4219,4254,42,3071,3070,3049,0,23,20,19,4254,4252,4220,42,3072,3073,3070,0,24,25,20,4255,4256,4252,42,3070,3071,3072,0,20,23,24,4252,4254,4255,42,3073,3068,3067,0,25,26,21,4256,4257,4253,42,3067,3070,3073,0,21,20,25,4253,4252,4256,42,3048,3053,3074,0,9,10,11,4227,4226,4258,42,3074,3071,3048,0,11,12,9,4258,4259,4227,42,3053,3052,3075,0,10,13,14,4226,4225,4260,42,3075,3074,3053,0,14,11,10,4260,4258,4226,42,3076,3077,3074,0,15,16,11,4261,4262,4258,42,3074,3075,3076,0,11,14,15,4258,4260,4261,42,3077,3072,3071,0,16,17,12,4262,4263,4259,42,3071,3074,3077,0,12,11,16,4259,4258,4262,42,3052,3057,3078,0,0,1,2,4233,4232,4264,42,3078,3075,3052,0,2,3,0,4264,4265,4233,42,3057,3056,3079,0,1,4,5,4232,4231,4266,42,3079,3078,3057,0,5,2,1,4266,4264,4232,42,3080,3081,3078,0,6,7,2,4267,4268,4264,42,3078,3079,3080,0,2,5,6,4264,4266,4267,42,3081,3076,3075,0,7,8,3,4268,4269,4265,42,3075,3078,3081,0,3,2,7,4265,4264,4268,42,3056,3059,3082,0,27,28,29,4239,4238,4270,42,3082,3079,3056,0,29,30,27,4270,4271,4239,42,3059,3041,3061,0,28,31,32,4238,4237,4272,42,3061,3082,3059,0,32,29,28,4272,4270,4238,42,3065,3083,3082,0,33,34,29,4273,4274,4270,42,3082,3061,3065,0,29,32,33,4270,4272,4273,42,3083,3080,3079,0,34,35,30,4274,4275,4271,42,3079,3082,3083,0,30,29,34,4271,4270,4274,42,3065,3064,3084,0,0,1,2,4245,4244,4276,42,3084,3085,3065,0,2,3,0,4276,4277,4245,42,3064,3063,3086,0,1,4,5,4244,4243,4278,42,3086,3084,3064,0,5,2,1,4278,4276,4244,42,3087,3088,3084,0,6,7,2,4279,4280,4276,42,3084,3086,3087,0,2,5,6,4276,4278,4279,42,3088,3089,3085,0,7,8,3,4280,4281,4277,42,3085,3084,3088,0,3,2,7,4277,4276,4280,42,3063,3069,3090,0,9,10,11,4251,4250,4282,42,3090,3086,3063,0,11,12,9,4282,4283,4251,42,3069,3068,3091,0,10,13,14,4250,4249,4284,42,3091,3090,3069,0,14,11,10,4284,4282,4250,42,3092,3093,3090,0,15,16,11,4285,4286,4282,42,3090,3091,3092,0,11,14,15,4282,4284,4285,42,3093,3087,3086,0,16,17,12,4286,4287,4283,42,3086,3090,3093,0,12,11,16,4283,4282,4286,42,3068,3073,3094,0,18,19,20,4257,4256,4288,42,3094,3091,3068,0,20,21,18,4288,4289,4257,42,3073,3072,3095,0,19,22,23,4256,4255,4290,42,3095,3094,3073,0,23,20,19,4290,4288,4256,42,3096,3097,3094,0,24,25,20,4291,4292,4288,42,3094,3095,3096,0,20,23,24,4288,4290,4291,42,3097,3092,3091,0,25,26,21,4292,4293,4289,42,3091,3094,3097,0,21,20,25,4289,4288,4292,42,3072,3077,3098,0,9,10,11,4263,4262,4294,42,3098,3095,3072,0,11,12,9,4294,4295,4263,42,3077,3076,3099,0,10,13,14,4262,4261,4296,42,3099,3098,3077,0,14,11,10,4296,4294,4262,42,3100,3101,3098,0,15,16,11,4297,4298,4294,42,3098,3099,3100,0,11,14,15,4294,4296,4297,42,3101,3096,3095,0,16,17,12,4298,4299,4295,42,3095,3098,3101,0,12,11,16,4295,4294,4298,42,3076,3081,3102,0,0,1,2,4269,4268,4300,42,3102,3099,3076,0,2,3,0,4300,4301,4269,42,3081,3080,3103,0,1,4,5,4268,4267,4302,42,3103,3102,3081,0,5,2,1,4302,4300,4268,42,3104,3105,3102,0,6,7,2,4303,4304,4300,42,3102,3103,3104,0,2,5,6,4300,4302,4303,42,3105,3100,3099,0,7,8,3,4304,4305,4301,42,3099,3102,3105,0,3,2,7,4301,4300,4304,42,3080,3083,3106,0,27,28,29,4275,4274,4306,42,3106,3103,3080,0,29,30,27,4306,4307,4275,42,3083,3065,3085,0,28,31,32,4274,4273,4308,42,3085,3106,3083,0,32,29,28,4308,4306,4274,42,3089,3107,3106,0,33,34,29,4309,4310,4306,42,3106,3085,3089,0,29,32,33,4306,4308,4309,42,3107,3104,3103,0,34,35,30,4310,4311,4307,42,3103,3106,3107,0,30,29,34,4307,4306,4310,42,3089,3088,3108,0,0,1,2,4281,4280,4312,42,3108,3109,3089,0,2,3,0,4312,4313,4281,42,3088,3087,3110,0,1,4,5,4280,4279,4314,42,3110,3108,3088,0,5,2,1,4314,4312,4280,42,3111,3112,3108,0,6,7,2,4315,4316,4312,42,3108,3110,3111,0,2,5,6,4312,4314,4315,42,3112,3113,3109,0,7,8,3,4316,4317,4313,42,3109,3108,3112,0,3,2,7,4313,4312,4316,42,3087,3093,3114,0,9,10,11,4287,4286,4318,42,3114,3110,3087,0,11,12,9,4318,4319,4287,42,3093,3092,3115,0,10,13,14,4286,4285,4320,42,3115,3114,3093,0,14,11,10,4320,4318,4286,42,3116,3117,3114,0,15,16,11,4321,4322,4318,42,3114,3115,3116,0,11,14,15,4318,4320,4321,42,3117,3111,3110,0,16,17,12,4322,4323,4319,42,3110,3114,3117,0,12,11,16,4319,4318,4322,42,3092,3097,3118,0,18,19,20,4293,4292,4324,42,3118,3115,3092,0,20,21,18,4324,4325,4293,42,3097,3096,3119,0,19,22,23,4292,4291,4326,42,3119,3118,3097,0,23,20,19,4326,4324,4292,42,3120,3121,3118,0,24,25,20,4327,4328,4324,42,3118,3119,3120,0,20,23,24,4324,4326,4327,42,3121,3116,3115,0,25,26,21,4328,4329,4325,42,3115,3118,3121,0,21,20,25,4325,4324,4328,42,3096,3101,3122,0,9,10,11,4299,4298,4330,42,3122,3119,3096,0,11,12,9,4330,4331,4299,42,3101,3100,3123,0,10,13,14,4298,4297,4332,42,3123,3122,3101,0,14,11,10,4332,4330,4298,42,3124,3125,3122,0,15,16,11,4333,4334,4330,42,3122,3123,3124,0,11,14,15,4330,4332,4333,42,3125,3120,3119,0,16,17,12,4334,4335,4331,42,3119,3122,3125,0,12,11,16,4331,4330,4334,42,3100,3105,3126,0,0,1,2,4305,4304,4336,42,3126,3123,3100,0,2,3,0,4336,4337,4305,42,3105,3104,3127,0,1,4,5,4304,4303,4338,42,3127,3126,3105,0,5,2,1,4338,4336,4304,42,3128,3129,3126,0,6,7,2,4339,4340,4336,42,3126,3127,3128,0,2,5,6,4336,4338,4339,42,3129,3124,3123,0,7,8,3,4340,4341,4337,42,3123,3126,3129,0,3,2,7,4337,4336,4340,42,3104,3107,3130,0,27,28,29,4311,4310,4342,42,3130,3127,3104,0,29,30,27,4342,4343,4311,42,3107,3089,3109,0,28,31,32,4310,4309,4344,42,3109,3130,3107,0,32,29,28,4344,4342,4310,42,3113,3131,3130,0,33,34,29,4345,4346,4342,42,3130,3109,3113,0,29,32,33,4342,4344,4345,42,3131,3128,3127,0,34,35,30,4346,4347,4343,42,3127,3130,3131,0,30,29,34,4343,4342,4346,42,3113,3112,3132,0,0,1,2,4317,4316,4348,42,3132,3133,3113,0,2,3,0,4348,4349,4317,42,3112,3111,3134,0,1,4,5,4316,4315,4350,42,3134,3132,3112,0,5,2,1,4350,4348,4316,42,3135,3136,3132,0,6,7,2,4351,4352,4348,42,3132,3134,3135,0,2,5,6,4348,4350,4351,42,3136,3137,3133,0,7,8,3,4352,4353,4349,42,3133,3132,3136,0,3,2,7,4349,4348,4352,42,3111,3117,3138,0,9,10,11,4323,4322,4354,42,3138,3134,3111,0,11,12,9,4354,4355,4323,42,3117,3116,3139,0,10,13,14,4322,4321,4356,42,3139,3138,3117,0,14,11,10,4356,4354,4322,42,3140,3141,3138,0,15,16,11,4357,4358,4354,42,3138,3139,3140,0,11,14,15,4354,4356,4357,42,3141,3135,3134,0,16,17,12,4358,4359,4355,42,3134,3138,3141,0,12,11,16,4355,4354,4358,42,3116,3121,3142,0,18,19,20,4329,4328,4360,42,3142,3139,3116,0,20,21,18,4360,4361,4329,42,3121,3120,3143,0,19,22,23,4328,4327,4362,42,3143,3142,3121,0,23,20,19,4362,4360,4328,42,3144,3145,3142,0,24,25,20,4363,4364,4360,42,3142,3143,3144,0,20,23,24,4360,4362,4363,42,3145,3140,3139,0,25,26,21,4364,4365,4361,42,3139,3142,3145,0,21,20,25,4361,4360,4364,42,3120,3125,3146,0,9,10,11,4335,4334,4366,42,3146,3143,3120,0,11,12,9,4366,4367,4335,42,3125,3124,3147,0,10,13,14,4334,4333,4368,42,3147,3146,3125,0,14,11,10,4368,4366,4334,42,3148,3149,3146,0,15,16,11,4369,4370,4366,42,3146,3147,3148,0,11,14,15,4366,4368,4369,42,3149,3144,3143,0,16,17,12,4370,4371,4367,42,3143,3146,3149,0,12,11,16,4367,4366,4370,42,3124,3129,3150,0,0,1,2,4341,4340,4372,42,3150,3147,3124,0,2,3,0,4372,4373,4341,42,3129,3128,3151,0,1,4,5,4340,4339,4374,42,3151,3150,3129,0,5,2,1,4374,4372,4340,42,3152,3153,3150,0,6,7,2,4375,4376,4372,42,3150,3151,3152,0,2,5,6,4372,4374,4375,42,3153,3148,3147,0,7,8,3,4376,4377,4373,42,3147,3150,3153,0,3,2,7,4373,4372,4376,42,3128,3131,3154,0,27,28,29,4347,4346,4378,42,3154,3151,3128,0,29,30,27,4378,4379,4347,42,3131,3113,3133,0,28,31,32,4346,4345,4380,42,3133,3154,3131,0,32,29,28,4380,4378,4346,42,3137,3155,3154,0,33,34,29,4381,4382,4378,42,3154,3133,3137,0,29,32,33,4378,4380,4381,42,3155,3152,3151,0,34,35,30,4382,4383,4379,42,3151,3154,3155,0,30,29,34,4379,4378,4382,42,3137,3136,3156,0,0,1,2,4353,4352,4384,42,3156,3157,3137,0,2,3,0,4384,4385,4353,42,3136,3135,3158,0,1,4,5,4352,4351,4386,42,3158,3156,3136,0,5,2,1,4386,4384,4352,42,3159,3160,3156,0,6,7,2,4387,4388,4384,42,3156,3158,3159,0,2,5,6,4384,4386,4387,42,3160,3161,3157,0,7,8,3,4388,4389,4385,42,3157,3156,3160,0,3,2,7,4385,4384,4388,42,3135,3141,3162,0,9,10,11,4359,4358,4390,42,3162,3158,3135,0,11,12,9,4390,4391,4359,42,3141,3140,3163,0,10,13,14,4358,4357,4392,42,3163,3162,3141,0,14,11,10,4392,4390,4358,42,3164,3165,3162,0,15,16,11,4393,4394,4390,42,3162,3163,3164,0,11,14,15,4390,4392,4393,42,3165,3159,3158,0,16,17,12,4394,4395,4391,42,3158,3162,3165,0,12,11,16,4391,4390,4394,42,3140,3145,3166,0,18,19,20,4365,4364,4396,42,3166,3163,3140,0,20,21,18,4396,4397,4365,42,3145,3144,3167,0,19,22,23,4364,4363,4398,42,3167,3166,3145,0,23,20,19,4398,4396,4364,42,3168,3169,3166,0,24,25,20,4399,4400,4396,42,3166,3167,3168,0,20,23,24,4396,4398,4399,42,3169,3164,3163,0,25,26,21,4400,4401,4397,42,3163,3166,3169,0,21,20,25,4397,4396,4400,42,3144,3149,3170,0,9,10,11,4371,4370,4402,42,3170,3167,3144,0,11,12,9,4402,4403,4371,42,3149,3148,3171,0,10,13,14,4370,4369,4404,42,3171,3170,3149,0,14,11,10,4404,4402,4370,42,3172,3173,3170,0,15,16,11,4405,4406,4402,42,3170,3171,3172,0,11,14,15,4402,4404,4405,42,3173,3168,3167,0,16,17,12,4406,4407,4403,42,3167,3170,3173,0,12,11,16,4403,4402,4406,42,3148,3153,3174,0,0,1,2,4377,4376,4408,42,3174,3171,3148,0,2,3,0,4408,4409,4377,42,3153,3152,3175,0,1,4,5,4376,4375,4410,42,3175,3174,3153,0,5,2,1,4410,4408,4376,42,3176,3177,3174,0,6,7,2,4411,4412,4408,42,3174,3175,3176,0,2,5,6,4408,4410,4411,42,3177,3172,3171,0,7,8,3,4412,4413,4409,42,3171,3174,3177,0,3,2,7,4409,4408,4412,42,3152,3155,3178,0,27,28,29,4383,4382,4414,42,3178,3175,3152,0,29,30,27,4414,4415,4383,42,3155,3137,3157,0,28,31,32,4382,4381,4416,42,3157,3178,3155,0,32,29,28,4416,4414,4382,42,3161,3179,3178,0,33,34,29,4417,4418,4414,42,3178,3157,3161,0,29,32,33,4414,4416,4417,42,3179,3176,3175,0,34,35,30,4418,4419,4415,42,3175,3178,3179,0,30,29,34,4415,4414,4418,42,3161,3160,3180,0,0,1,2,4389,4388,4420,42,3180,3181,3161,0,2,3,0,4420,4421,4389,42,3160,3159,3182,0,1,4,5,4388,4387,4422,42,3182,3180,3160,0,5,2,1,4422,4420,4388,42,3183,3184,3180,0,6,7,2,4423,4424,4420,42,3180,3182,3183,0,2,5,6,4420,4422,4423,42,3184,3185,3181,0,7,8,3,4424,4425,4421,42,3181,3180,3184,0,3,2,7,4421,4420,4424,42,3159,3165,3186,0,9,10,11,4395,4394,4426,42,3186,3182,3159,0,11,12,9,4426,4427,4395,42,3165,3164,3187,0,10,13,14,4394,4393,4428,42,3187,3186,3165,0,14,11,10,4428,4426,4394,42,3188,3189,3186,0,15,16,11,4429,4430,4426,42,3186,3187,3188,0,11,14,15,4426,4428,4429,42,3189,3183,3182,0,16,17,12,4430,4431,4427,42,3182,3186,3189,0,12,11,16,4427,4426,4430,42,3164,3169,3190,0,18,19,20,4401,4400,4432,42,3190,3187,3164,0,20,21,18,4432,4433,4401,42,3169,3168,3191,0,19,22,23,4400,4399,4434,42,3191,3190,3169,0,23,20,19,4434,4432,4400,42,3192,3193,3190,0,24,25,20,4435,4436,4432,42,3190,3191,3192,0,20,23,24,4432,4434,4435,42,3193,3188,3187,0,25,26,21,4436,4437,4433,42,3187,3190,3193,0,21,20,25,4433,4432,4436,42,3168,3173,3194,0,9,10,11,4407,4406,4438,42,3194,3191,3168,0,11,12,9,4438,4439,4407,42,3173,3172,3195,0,10,13,14,4406,4405,4440,42,3195,3194,3173,0,14,11,10,4440,4438,4406,42,3196,3197,3194,0,15,16,11,4441,4442,4438,42,3194,3195,3196,0,11,14,15,4438,4440,4441,42,3197,3192,3191,0,16,17,12,4442,4443,4439,42,3191,3194,3197,0,12,11,16,4439,4438,4442,42,3172,3177,3198,0,0,1,2,4413,4412,4444,42,3198,3195,3172,0,2,3,0,4444,4445,4413,42,3177,3176,3199,0,1,4,5,4412,4411,4446,42,3199,3198,3177,0,5,2,1,4446,4444,4412,42,3200,3201,3198,0,6,7,2,4447,4448,4444,42,3198,3199,3200,0,2,5,6,4444,4446,4447,42,3201,3196,3195,0,7,8,3,4448,4449,4445,42,3195,3198,3201,0,3,2,7,4445,4444,4448,42,3176,3179,3202,0,27,28,29,4419,4418,4450,42,3202,3199,3176,0,29,30,27,4450,4451,4419,42,3179,3161,3181,0,28,31,32,4418,4417,4452,42,3181,3202,3179,0,32,29,28,4452,4450,4418,42,3185,3203,3202,0,33,34,29,4453,4454,4450,42,3202,3181,3185,0,29,32,33,4450,4452,4453,42,3203,3200,3199,0,34,35,30,4454,4455,4451,42,3199,3202,3203,0,30,29,34,4451,4450,4454,42,3185,3184,3204,0,0,1,2,4425,4424,4456,42,3204,3205,3185,0,2,3,0,4456,4457,4425,42,3184,3183,3206,0,1,4,5,4424,4423,4458,42,3206,3204,3184,0,5,2,1,4458,4456,4424,42,3207,3208,3204,0,6,7,2,4459,4460,4456,42,3204,3206,3207,0,2,5,6,4456,4458,4459,42,3208,3209,3205,0,7,8,3,4460,4461,4457,42,3205,3204,3208,0,3,2,7,4457,4456,4460,42,3183,3189,3210,0,9,10,11,4431,4430,4462,42,3210,3206,3183,0,11,12,9,4462,4463,4431,42,3189,3188,3211,0,10,13,14,4430,4429,4464,42,3211,3210,3189,0,14,11,10,4464,4462,4430,42,3212,3213,3210,0,15,16,11,4465,4466,4462,42,3210,3211,3212,0,11,14,15,4462,4464,4465,42,3213,3207,3206,0,16,17,12,4466,4467,4463,42,3206,3210,3213,0,12,11,16,4463,4462,4466,42,3188,3193,3214,0,18,19,20,4437,4436,4468,42,3214,3211,3188,0,20,21,18,4468,4469,4437,42,3193,3192,3215,0,19,22,23,4436,4435,4470,42,3215,3214,3193,0,23,20,19,4470,4468,4436,42,3216,3217,3214,0,24,25,20,4471,4472,4468,42,3214,3215,3216,0,20,23,24,4468,4470,4471,42,3217,3212,3211,0,25,26,21,4472,4473,4469,42,3211,3214,3217,0,21,20,25,4469,4468,4472,42,3192,3197,3218,0,9,10,11,4443,4442,4474,42,3218,3215,3192,0,11,12,9,4474,4475,4443,42,3197,3196,3219,0,10,13,14,4442,4441,4476,42,3219,3218,3197,0,14,11,10,4476,4474,4442,42,3220,3221,3218,0,15,16,11,4477,4478,4474,42,3218,3219,3220,0,11,14,15,4474,4476,4477,42,3221,3216,3215,0,16,17,12,4478,4479,4475,42,3215,3218,3221,0,12,11,16,4475,4474,4478,42,3196,3201,3222,0,0,1,2,4449,4448,4480,42,3222,3219,3196,0,2,3,0,4480,4481,4449,42,3201,3200,3223,0,1,4,5,4448,4447,4482,42,3223,3222,3201,0,5,2,1,4482,4480,4448,42,3224,3225,3222,0,6,7,2,4483,4484,4480,42,3222,3223,3224,0,2,5,6,4480,4482,4483,42,3225,3220,3219,0,7,8,3,4484,4485,4481,42,3219,3222,3225,0,3,2,7,4481,4480,4484,42,3200,3203,3226,0,27,28,29,4455,4454,4486,42,3226,3223,3200,0,29,30,27,4486,4487,4455,42,3203,3185,3205,0,28,31,32,4454,4453,4488,42,3205,3226,3203,0,32,29,28,4488,4486,4454,42,3209,3227,3226,0,33,34,29,4489,4490,4486,42,3226,3205,3209,0,29,32,33,4486,4488,4489,42,3227,3224,3223,0,34,35,30,4490,4491,4487,42,3223,3226,3227,0,30,29,34,4487,4486,4490,42,3209,3208,3228,0,0,1,2,4461,4460,4492,42,3228,3229,3209,0,2,3,0,4492,4493,4461,42,3208,3207,3230,0,1,4,5,4460,4459,4494,42,3230,3228,3208,0,5,2,1,4494,4492,4460,42,3231,3232,3228,0,6,7,2,4495,4496,4492,42,3228,3230,3231,0,2,5,6,4492,4494,4495,42,3232,3233,3229,0,7,8,3,4496,4497,4493,42,3229,3228,3232,0,3,2,7,4493,4492,4496,42,3207,3213,3234,0,9,10,11,4467,4466,4498,42,3234,3230,3207,0,11,12,9,4498,4499,4467,42,3213,3212,3235,0,10,13,14,4466,4465,4500,42,3235,3234,3213,0,14,11,10,4500,4498,4466,42,3236,3237,3234,0,15,16,11,4501,4502,4498,42,3234,3235,3236,0,11,14,15,4498,4500,4501,42,3237,3231,3230,0,16,17,12,4502,4503,4499,42,3230,3234,3237,0,12,11,16,4499,4498,4502,42,3212,3217,3238,0,18,19,20,4473,4472,4504,42,3238,3235,3212,0,20,21,18,4504,4505,4473,42,3217,3216,3239,0,19,22,23,4472,4471,4506,42,3239,3238,3217,0,23,20,19,4506,4504,4472,42,3240,3241,3238,0,24,25,20,4507,4508,4504,42,3238,3239,3240,0,20,23,24,4504,4506,4507,42,3241,3236,3235,0,25,26,21,4508,4509,4505,42,3235,3238,3241,0,21,20,25,4505,4504,4508,42,3216,3221,3242,0,9,10,11,4479,4478,4510,42,3242,3239,3216,0,11,12,9,4510,4511,4479,42,3221,3220,3243,0,10,13,14,4478,4477,4512,42,3243,3242,3221,0,14,11,10,4512,4510,4478,42,3244,3245,3242,0,15,16,11,4513,4513,4510,42,3242,3243,3244,0,11,14,15,4510,4512,4513,42,3245,3240,3239,0,16,17,12,4513,4513,4511,42,3239,3242,3245,0,12,11,16,4511,4510,4513,42,3220,3225,3246,0,0,1,2,4485,4484,4514,42,3246,3243,3220,0,2,3,0,4514,4515,4485,42,3225,3224,3247,0,1,4,5,4484,4483,4516,42,3247,3246,3225,0,5,2,1,4516,4514,4484,42,3248,3249,3246,0,6,7,2,4517,4518,4514,42,3246,3247,3248,0,2,5,6,4514,4516,4517,42,3249,3244,3243,0,7,8,3,4518,4519,4515,42,3243,3246,3249,0,3,2,7,4515,4514,4518,42,3224,3227,3250,0,27,28,29,4491,4490,4520,42,3250,3247,3224,0,29,30,27,4520,4521,4491,42,3227,3209,3229,0,28,31,32,4490,4489,4522,42,3229,3250,3227,0,32,29,28,4522,4520,4490,42,3233,3251,3250,0,33,34,29,4523,4524,4520,42,3250,3229,3233,0,29,32,33,4520,4522,4523,42,3251,3248,3247,0,34,35,30,4524,4525,4521,42,3247,3250,3251,0,30,29,34,4521,4520,4524,42,3233,3232,3252,0,0,1,2,4497,4496,4526,42,3252,3253,3233,0,2,3,0,4526,4527,4497,42,3232,3231,3254,0,1,4,5,4496,4495,4528,42,3254,3252,3232,0,5,2,1,4528,4526,4496,42,3255,3256,3252,0,6,7,2,4529,4530,4526,42,3252,3254,3255,0,2,5,6,4526,4528,4529,42,3256,3257,3253,0,7,8,3,4530,4531,4527,42,3253,3252,3256,0,3,2,7,4527,4526,4530,42,3231,3237,3258,0,9,10,11,4503,4502,4532,42,3258,3254,3231,0,11,12,9,4532,4533,4503,42,3237,3236,3259,0,10,13,14,4502,4501,4534,42,3259,3258,3237,0,14,11,10,4534,4532,4502,42,3260,3261,3258,0,15,16,11,4535,4536,4532,42,3258,3259,3260,0,11,14,15,4532,4534,4535,42,3261,3255,3254,0,16,17,12,4536,4537,4533,42,3254,3258,3261,0,12,11,16,4533,4532,4536,42,3236,3241,3262,0,18,19,20,4509,4508,4538,42,3262,3259,3236,0,20,21,18,4538,4539,4509,42,3241,3240,3263,0,19,22,23,4508,4507,4540,42,3263,3262,3241,0,23,20,19,4540,4538,4508,42,3264,3265,3262,0,24,25,20,4541,4542,4538,42,3262,3263,3264,0,20,23,24,4538,4540,4541,42,3265,3260,3259,0,25,26,21,4542,4543,4539,42,3259,3262,3265,0,21,20,25,4539,4538,4542,42,3240,3245,3266,0,9,10,11,4513,4513,4544,42,3266,3263,3240,0,11,12,9,4544,4545,4513,42,3245,3244,3267,0,10,13,14,4513,4513,4546,42,3267,3266,3245,0,14,11,10,4546,4544,4513,42,3268,3269,3266,0,15,16,11,4547,4548,4544,42,3266,3267,3268,0,11,14,15,4544,4546,4547,42,3269,3264,3263,0,16,17,12,4548,4549,4545,42,3263,3266,3269,0,12,11,16,4545,4544,4548,42,3244,3249,3270,0,0,1,2,4519,4518,4550,42,3270,3267,3244,0,2,3,0,4550,4551,4519,42,3249,3248,3271,0,1,4,5,4518,4517,4552,42,3271,3270,3249,0,5,2,1,4552,4550,4518,42,3272,3273,3270,0,6,7,2,4553,4554,4550,42,3270,3271,3272,0,2,5,6,4550,4552,4553,42,3273,3268,3267,0,7,8,3,4554,4555,4551,42,3267,3270,3273,0,3,2,7,4551,4550,4554,42,3248,3251,3274,0,27,28,29,4525,4524,4556,42,3274,3271,3248,0,29,30,27,4556,4557,4525,42,3251,3233,3253,0,28,31,32,4524,4523,4558,42,3253,3274,3251,0,32,29,28,4558,4556,4524,42,3257,3275,3274,0,33,34,29,4559,4560,4556,42,3274,3253,3257,0,29,32,33,4556,4558,4559,42,3275,3272,3271,0,34,35,30,4560,4561,4557,42,3271,3274,3275,0,30,29,34,4557,4556,4560,42,3257,3256,3276,0,0,1,2,4531,4530,4562,42,3276,3277,3257,0,2,3,0,4562,4563,4531,42,3256,3255,3278,0,1,4,5,4530,4529,4564,42,3278,3276,3256,0,5,2,1,4564,4562,4530,42,3279,3280,3276,0,6,7,2,4565,4566,4562,42,3276,3278,3279,0,2,5,6,4562,4564,4565,42,3280,3281,3277,0,7,8,3,4566,4567,4563,42,3277,3276,3280,0,3,2,7,4563,4562,4566,42,3255,3261,3282,0,9,10,11,4537,4536,4568,42,3282,3278,3255,0,11,12,9,4568,4569,4537,42,3261,3260,3283,0,10,13,14,4536,4535,4570,42,3283,3282,3261,0,14,11,10,4570,4568,4536,42,3284,3285,3282,0,15,16,11,4571,4572,4568,42,3282,3283,3284,0,11,14,15,4568,4570,4571,42,3285,3279,3278,0,16,17,12,4572,4573,4569,42,3278,3282,3285,0,12,11,16,4569,4568,4572,42,3260,3265,3286,0,18,19,20,4543,4542,4574,42,3286,3283,3260,0,20,21,18,4574,4575,4543,42,3265,3264,3287,0,19,22,23,4542,4541,4576,42,3287,3286,3265,0,23,20,19,4576,4574,4542,42,3288,3289,3286,0,24,25,20,4577,4578,4574,42,3286,3287,3288,0,20,23,24,4574,4576,4577,42,3289,3284,3283,0,25,26,21,4578,4579,4575,42,3283,3286,3289,0,21,20,25,4575,4574,4578,42,3264,3269,3290,0,9,10,11,4549,4548,4580,42,3290,3287,3264,0,11,12,9,4580,4581,4549,42,3269,3268,3291,0,10,13,14,4548,4547,4582,42,3291,3290,3269,0,14,11,10,4582,4580,4548,42,3292,3293,3290,0,15,16,11,4583,4584,4580,42,3290,3291,3292,0,11,14,15,4580,4582,4583,42,3293,3288,3287,0,16,17,12,4584,4585,4581,42,3287,3290,3293,0,12,11,16,4581,4580,4584,42,3268,3273,3294,0,0,1,2,4555,4554,4586,42,3294,3291,3268,0,2,3,0,4586,4587,4555,42,3273,3272,3295,0,1,4,5,4554,4553,4588,42,3295,3294,3273,0,5,2,1,4588,4586,4554,42,3296,3297,3294,0,6,7,2,4589,4590,4586,42,3294,3295,3296,0,2,5,6,4586,4588,4589,42,3297,3292,3291,0,7,8,3,4590,4591,4587,42,3291,3294,3297,0,3,2,7,4587,4586,4590,42,3272,3275,3298,0,27,28,29,4561,4560,4592,42,3298,3295,3272,0,29,30,27,4592,4593,4561,42,3275,3257,3277,0,28,31,32,4560,4559,4594,42,3277,3298,3275,0,32,29,28,4594,4592,4560,42,3281,3299,3298,0,33,34,29,4595,4596,4592,42,3298,3277,3281,0,29,32,33,4592,4594,4595,42,3299,3296,3295,0,34,35,30,4596,4597,4593,42,3295,3298,3299,0,30,29,34,4593,4592,4596,42,3281,3280,3300,0,0,1,2,4567,4566,4598,42,3300,3301,3281,0,2,3,0,4598,4599,4567,42,3280,3279,3302,0,1,4,5,4566,4565,4600,42,3302,3300,3280,0,5,2,1,4600,4598,4566,42,3303,3304,3300,0,6,7,2,4601,4602,4598,42,3300,3302,3303,0,2,5,6,4598,4600,4601,42,3304,3305,3301,0,7,8,3,4602,4603,4599,42,3301,3300,3304,0,3,2,7,4599,4598,4602,42,3279,3285,3306,0,9,10,11,4573,4572,4604,42,3306,3302,3279,0,11,12,9,4604,4605,4573,42,3285,3284,3307,0,10,13,14,4572,4571,4606,42,3307,3306,3285,0,14,11,10,4606,4604,4572,42,3308,3309,3306,0,15,16,11,4607,4608,4604,42,3306,3307,3308,0,11,14,15,4604,4606,4607,42,3309,3303,3302,0,16,17,12,4608,4609,4605,42,3302,3306,3309,0,12,11,16,4605,4604,4608,42,3284,3289,3310,0,18,19,20,4579,4578,4610,42,3310,3307,3284,0,20,21,18,4610,4611,4579,42,3289,3288,3311,0,19,22,23,4578,4577,4612,42,3311,3310,3289,0,23,20,19,4612,4610,4578,42,3312,3313,3310,0,24,25,20,4613,4614,4610,42,3310,3311,3312,0,20,23,24,4610,4612,4613,42,3313,3308,3307,0,25,26,21,4614,4615,4611,42,3307,3310,3313,0,21,20,25,4611,4610,4614,42,3288,3293,3314,0,9,10,11,4585,4584,4616,42,3314,3311,3288,0,11,12,9,4616,4617,4585,42,3293,3292,3315,0,10,13,14,4584,4583,4618,42,3315,3314,3293,0,14,11,10,4618,4616,4584,42,3316,3317,3314,0,15,16,11,4619,4620,4616,42,3314,3315,3316,0,11,14,15,4616,4618,4619,42,3317,3312,3311,0,16,17,12,4620,4621,4617,42,3311,3314,3317,0,12,11,16,4617,4616,4620,42,3292,3297,3318,0,0,1,2,4591,4590,4622,42,3318,3315,3292,0,2,3,0,4622,4623,4591,42,3297,3296,3319,0,1,4,5,4590,4589,4624,42,3319,3318,3297,0,5,2,1,4624,4622,4590,42,3320,3321,3318,0,6,7,2,4625,4626,4622,42,3318,3319,3320,0,2,5,6,4622,4624,4625,42,3321,3316,3315,0,7,8,3,4626,4627,4623,42,3315,3318,3321,0,3,2,7,4623,4622,4626,42,3296,3299,3322,0,27,28,29,4597,4596,4628,42,3322,3319,3296,0,29,30,27,4628,4629,4597,42,3299,3281,3301,0,28,31,32,4596,4595,4630,42,3301,3322,3299,0,32,29,28,4630,4628,4596,42,3305,3323,3322,0,33,34,29,4631,4632,4628,42,3322,3301,3305,0,29,32,33,4628,4630,4631,42,3323,3320,3319,0,34,35,30,4632,4633,4629,42,3319,3322,3323,0,30,29,34,4629,4628,4632,42,3305,3304,3324,0,0,1,2,4603,4602,4634,42,3324,3325,3305,0,2,3,0,4634,4635,4603,42,3304,3303,3326,0,1,4,5,4602,4601,4636,42,3326,3324,3304,0,5,2,1,4636,4634,4602,42,3327,3328,3324,0,6,7,2,4637,4638,4634,42,3324,3326,3327,0,2,5,6,4634,4636,4637,42,3328,3329,3325,0,7,8,3,4638,4639,4635,42,3325,3324,3328,0,3,2,7,4635,4634,4638,42,3303,3309,3330,0,9,10,11,4609,4608,4640,42,3330,3326,3303,0,11,12,9,4640,4641,4609,42,3309,3308,3331,0,10,13,14,4608,4607,4642,42,3331,3330,3309,0,14,11,10,4642,4640,4608,42,3332,3333,3330,0,15,16,11,4643,4644,4640,42,3330,3331,3332,0,11,14,15,4640,4642,4643,42,3333,3327,3326,0,16,17,12,4644,4645,4641,42,3326,3330,3333,0,12,11,16,4641,4640,4644,42,3308,3313,3334,0,18,19,20,4615,4614,4646,42,3334,3331,3308,0,20,21,18,4646,4647,4615,42,3313,3312,3335,0,19,22,23,4614,4613,4648,42,3335,3334,3313,0,23,20,19,4648,4646,4614,42,3336,3337,3334,0,24,25,20,4649,4650,4646,42,3334,3335,3336,0,20,23,24,4646,4648,4649,42,3337,3332,3331,0,25,26,21,4650,4651,4647,42,3331,3334,3337,0,21,20,25,4647,4646,4650,42,3312,3317,3338,0,9,10,11,4621,4620,4652,42,3338,3335,3312,0,11,12,9,4652,4653,4621,42,3317,3316,3339,0,10,13,14,4620,4619,4654,42,3339,3338,3317,0,14,11,10,4654,4652,4620,42,3340,3341,3338,0,15,16,11,4655,4656,4652,42,3338,3339,3340,0,11,14,15,4652,4654,4655,42,3341,3336,3335,0,16,17,12,4656,4657,4653,42,3335,3338,3341,0,12,11,16,4653,4652,4656,42,3316,3321,3342,0,0,1,2,4627,4626,4658,42,3342,3339,3316,0,2,3,0,4658,4659,4627,42,3321,3320,3343,0,1,4,5,4626,4625,4660,42,3343,3342,3321,0,5,2,1,4660,4658,4626,42,3344,3345,3342,0,6,7,2,4661,4662,4658,42,3342,3343,3344,0,2,5,6,4658,4660,4661,42,3345,3340,3339,0,7,8,3,4662,4663,4659,42,3339,3342,3345,0,3,2,7,4659,4658,4662,42,3320,3323,3346,0,27,28,29,4633,4632,4664,42,3346,3343,3320,0,29,30,27,4664,4665,4633,42,3323,3305,3325,0,28,31,32,4632,4631,4666,42,3325,3346,3323,0,32,29,28,4666,4664,4632,42,3329,3347,3346,0,33,34,29,4667,4668,4664,42,3346,3325,3329,0,29,32,33,4664,4666,4667,42,3347,3344,3343,0,34,35,30,4668,4669,4665,42,3343,3346,3347,0,30,29,34,4665,4664,4668,42,3329,3328,3348,0,0,1,2,4639,4638,4670,42,3348,3349,3329,0,2,3,0,4670,4671,4639,42,3328,3327,3350,0,1,4,5,4638,4637,4672,42,3350,3348,3328,0,5,2,1,4672,4670,4638,42,3351,3352,3348,0,6,7,2,4673,4674,4670,42,3348,3350,3351,0,2,5,6,4670,4672,4673,42,3352,3353,3349,0,7,8,3,4674,4675,4671,42,3349,3348,3352,0,3,2,7,4671,4670,4674,42,3327,3333,3354,0,9,10,11,4645,4644,4676,42,3354,3350,3327,0,11,12,9,4676,4677,4645,42,3333,3332,3355,0,10,13,14,4644,4643,4678,42,3355,3354,3333,0,14,11,10,4678,4676,4644,42,3356,3357,3354,0,15,16,11,4679,4680,4676,42,3354,3355,3356,0,11,14,15,4676,4678,4679,42,3357,3351,3350,0,16,17,12,4680,4681,4677,42,3350,3354,3357,0,12,11,16,4677,4676,4680,42,3332,3337,3358,0,18,19,20,4651,4650,4682,42,3358,3355,3332,0,20,21,18,4682,4683,4651,42,3337,3336,3359,0,19,22,23,4650,4649,4684,42,3359,3358,3337,0,23,20,19,4684,4682,4650,42,3360,3361,3358,0,24,25,20,4685,4686,4682,42,3358,3359,3360,0,20,23,24,4682,4684,4685,42,3361,3356,3355,0,25,26,21,4686,4687,4683,42,3355,3358,3361,0,21,20,25,4683,4682,4686,42,3336,3341,3362,0,9,10,11,4657,4656,4688,42,3362,3359,3336,0,11,12,9,4688,4689,4657,42,3341,3340,3363,0,10,13,14,4656,4655,4690,42,3363,3362,3341,0,14,11,10,4690,4688,4656,42,3364,3365,3362,0,15,16,11,4691,4692,4688,42,3362,3363,3364,0,11,14,15,4688,4690,4691,42,3365,3360,3359,0,16,17,12,4692,4693,4689,42,3359,3362,3365,0,12,11,16,4689,4688,4692,42,3340,3345,3366,0,0,1,2,4663,4662,4694,42,3366,3363,3340,0,2,3,0,4694,4695,4663,42,3345,3344,3367,0,1,4,5,4662,4661,4696,42,3367,3366,3345,0,5,2,1,4696,4694,4662,42,3368,3369,3366,0,6,7,2,4697,4698,4694,42,3366,3367,3368,0,2,5,6,4694,4696,4697,42,3369,3364,3363,0,7,8,3,4698,4699,4695,42,3363,3366,3369,0,3,2,7,4695,4694,4698,42,3344,3347,3370,0,27,28,29,4669,4668,4700,42,3370,3367,3344,0,29,30,27,4700,4701,4669,42,3347,3329,3349,0,28,31,32,4668,4667,4702,42,3349,3370,3347,0,32,29,28,4702,4700,4668,42,3353,3371,3370,0,33,34,29,4703,4704,4700,42,3370,3349,3353,0,29,32,33,4700,4702,4703,42,3371,3368,3367,0,34,35,30,4704,4705,4701,42,3367,3370,3371,0,30,29,34,4701,4700,4704,42,3353,3352,3372,0,0,1,2,4675,4674,4706,42,3372,3373,3353,0,2,3,0,4706,4707,4675,42,3352,3351,3374,0,1,4,5,4674,4673,4708,42,3374,3372,3352,0,5,2,1,4708,4706,4674,42,3375,3376,3372,0,6,7,2,4709,4710,4706,42,3372,3374,3375,0,2,5,6,4706,4708,4709,42,3376,3377,3373,0,7,8,3,4710,4711,4707,42,3373,3372,3376,0,3,2,7,4707,4706,4710,42,3351,3357,3378,0,9,10,11,4681,4680,4712,42,3378,3374,3351,0,11,12,9,4712,4713,4681,42,3357,3356,3379,0,10,13,14,4680,4679,4714,42,3379,3378,3357,0,14,11,10,4714,4712,4680,42,3380,3381,3378,0,15,16,11,4715,4716,4712,42,3378,3379,3380,0,11,14,15,4712,4714,4715,42,3381,3375,3374,0,16,17,12,4716,4717,4713,42,3374,3378,3381,0,12,11,16,4713,4712,4716,42,3356,3361,3382,0,18,19,20,4687,4686,4718,42,3382,3379,3356,0,20,21,18,4718,4719,4687,42,3361,3360,3383,0,19,22,23,4686,4685,4720,42,3383,3382,3361,0,23,20,19,4720,4718,4686,42,3384,3385,3382,0,24,25,20,4721,4722,4718,42,3382,3383,3384,0,20,23,24,4718,4720,4721,42,3385,3380,3379,0,25,26,21,4722,4723,4719,42,3379,3382,3385,0,21,20,25,4719,4718,4722,42,3360,3365,3386,0,9,10,11,4693,4692,4724,42,3386,3383,3360,0,11,12,9,4724,4725,4693,42,3365,3364,3387,0,10,13,14,4692,4691,4726,42,3387,3386,3365,0,14,11,10,4726,4724,4692,42,3388,3389,3386,0,15,16,11,4727,4728,4724,42,3386,3387,3388,0,11,14,15,4724,4726,4727,42,3389,3384,3383,0,16,17,12,4728,4729,4725,42,3383,3386,3389,0,12,11,16,4725,4724,4728,42,3364,3369,3390,0,0,1,2,4699,4698,4730,42,3390,3387,3364,0,2,3,0,4730,4731,4699,42,3369,3368,3391,0,1,4,5,4698,4697,4732,42,3391,3390,3369,0,5,2,1,4732,4730,4698,42,3392,3393,3390,0,6,7,2,4733,4734,4730,42,3390,3391,3392,0,2,5,6,4730,4732,4733,42,3393,3388,3387,0,7,8,3,4734,4735,4731,42,3387,3390,3393,0,3,2,7,4731,4730,4734,42,3368,3371,3394,0,27,28,29,4705,4704,4736,42,3394,3391,3368,0,29,30,27,4736,4737,4705,42,3371,3353,3373,0,28,31,32,4704,4703,4738,42,3373,3394,3371,0,32,29,28,4738,4736,4704,42,3377,3395,3394,0,33,34,29,4739,4740,4736,42,3394,3373,3377,0,29,32,33,4736,4738,4739,42,3395,3392,3391,0,34,35,30,4740,4741,4737,42,3391,3394,3395,0,30,29,34,4737,4736,4740,42,3377,3376,3396,0,0,1,2,4711,4710,4742,42,3396,3397,3377,0,2,3,0,4742,4743,4711,42,3376,3375,3398,0,1,4,5,4710,4709,4744,42,3398,3396,3376,0,5,2,1,4744,4742,4710,42,3399,3400,3396,0,6,7,2,4745,4746,4742,42,3396,3398,3399,0,2,5,6,4742,4744,4745,42,3400,3401,3397,0,7,8,3,4746,4747,4743,42,3397,3396,3400,0,3,2,7,4743,4742,4746,42,3380,3385,3402,0,18,19,20,4723,4722,4748,42,3402,3403,3380,0,20,21,18,4748,4749,4723,42,3385,3384,3404,0,19,22,23,4722,4721,4750,42,3404,3402,3385,0,23,20,19,4750,4748,4722,42,3405,3406,3402,0,24,25,20,4751,4752,4748,42,3402,3404,3405,0,20,23,24,4748,4750,4751,42,3406,3407,3403,0,25,26,21,4752,4753,4749,42,3403,3402,3406,0,21,20,25,4749,4748,4752,42,3384,3389,3408,0,9,10,11,4729,4728,4754,42,3408,3404,3384,0,11,12,9,4754,4755,4729,42,3389,3388,3409,0,10,13,14,4728,4727,4756,42,3409,3408,3389,0,14,11,10,4756,4754,4728,42,3410,3411,3408,0,15,16,11,4757,4758,4754,42,3408,3409,3410,0,11,14,15,4754,4756,4757,42,3411,3405,3404,0,16,17,12,4758,4759,4755,42,3404,3408,3411,0,12,11,16,4755,4754,4758,42,3388,3393,3412,0,0,1,2,4735,4734,4760,42,3412,3409,3388,0,2,3,0,4760,4761,4735,42,3393,3392,3413,0,1,4,5,4734,4733,4762,42,3413,3412,3393,0,5,2,1,4762,4760,4734,42,3414,3415,3412,0,6,7,2,4763,4764,4760,42,3412,3413,3414,0,2,5,6,4760,4762,4763,42,3415,3410,3409,0,7,8,3,4764,4765,4761,42,3409,3412,3415,0,3,2,7,4761,4760,4764,42,3392,3395,3416,0,27,28,29,4741,4740,4766,42,3416,3413,3392,0,29,30,27,4766,4767,4741,42,3395,3377,3397,0,28,31,32,4740,4739,4768,42,3397,3416,3395,0,32,29,28,4768,4766,4740,42,3401,3417,3416,0,33,34,29,4769,4770,4766,42,3416,3397,3401,0,29,32,33,4766,4768,4769,42,3417,3414,3413,0,34,35,30,4770,4771,4767,42,3413,3416,3417,0,30,29,34,4767,4766,4770,42,3401,3400,3418,0,0,1,2,4747,4746,4772,42,3418,3419,3401,0,2,3,0,4772,4773,4747,42,3400,3399,3420,0,1,4,5,4746,4745,4774,42,3420,3418,3400,0,5,2,1,4774,4772,4746,42,3421,3422,3418,0,6,7,2,4775,4776,4772,42,3418,3420,3421,0,2,5,6,4772,4774,4775,42,3422,3423,3419,0,7,8,3,4776,4777,4773,42,3419,3418,3422,0,3,2,7,4773,4772,4776,42,3399,3424,3425,0,9,10,11,4778,4779,4780,42,3425,3420,3399,0,11,12,9,4780,4781,4778,42,3424,3407,3426,0,10,13,14,4779,4782,4783,42,3426,3425,3424,0,14,11,10,4783,4780,4779,42,3427,3428,3425,0,15,16,11,4784,4785,4780,42,3425,3426,3427,0,11,14,15,4780,4783,4784,42,3428,3421,3420,0,16,17,12,4785,4786,4781,42,3420,3425,3428,0,12,11,16,4781,4780,4785,42,3407,3406,3429,0,18,19,20,4753,4752,4787,42,3429,3426,3407,0,20,21,18,4787,4788,4753,42,3406,3405,3430,0,19,22,23,4752,4751,4789,42,3430,3429,3406,0,23,20,19,4789,4787,4752,42,3431,3432,3429,0,24,25,20,4790,4791,4787,42,3429,3430,3431,0,20,23,24,4787,4789,4790,42,3432,3427,3426,0,25,26,21,4791,4792,4788,42,3426,3429,3432,0,21,20,25,4788,4787,4791,42,3405,3411,3433,0,9,10,11,4759,4758,4793,42,3433,3430,3405,0,11,12,9,4793,4794,4759,42,3411,3410,3434,0,10,13,14,4758,4757,4795,42,3434,3433,3411,0,14,11,10,4795,4793,4758,42,3435,3436,3433,0,15,16,11,4796,4797,4793,42,3433,3434,3435,0,11,14,15,4793,4795,4796,42,3436,3431,3430,0,16,17,12,4797,4798,4794,42,3430,3433,3436,0,12,11,16,4794,4793,4797,42,3410,3415,3437,0,0,1,2,4765,4764,4799,42,3437,3434,3410,0,2,3,0,4799,4800,4765,42,3415,3414,3438,0,1,4,5,4764,4763,4801,42,3438,3437,3415,0,5,2,1,4801,4799,4764,42,3439,3440,3437,0,6,7,2,4802,4803,4799,42,3437,3438,3439,0,2,5,6,4799,4801,4802,42,3440,3435,3434,0,7,8,3,4803,4804,4800,42,3434,3437,3440,0,3,2,7,4800,4799,4803,42,3414,3417,3441,0,27,28,29,4771,4770,4805,42,3441,3438,3414,0,29,30,27,4805,4806,4771,42,3417,3401,3419,0,28,31,32,4770,4769,4807,42,3419,3441,3417,0,32,29,28,4807,4805,4770,42,3423,3442,3441,0,33,34,29,4808,4809,4805,42,3441,3419,3423,0,29,32,33,4805,4807,4808,42,3442,3439,3438,0,34,35,30,4809,4810,4806,42,3438,3441,3442,0,30,29,34,4806,4805,4809,42,3423,3422,3443,0,0,1,2,4777,4776,4811,42,3443,3444,3423,0,2,3,0,4811,4812,4777,42,3422,3421,3445,0,1,4,5,4776,4775,4813,42,3445,3443,3422,0,5,2,1,4813,4811,4776,42,3446,3447,3443,0,6,7,2,4814,4815,4811,42,3443,3445,3446,0,2,5,6,4811,4813,4814,42,3447,3448,3444,0,7,8,3,4815,4816,4812,42,3444,3443,3447,0,3,2,7,4812,4811,4815,42,3421,3428,3449,0,9,10,11,4786,4785,4817,42,3449,3445,3421,0,11,12,9,4817,4818,4786,42,3428,3427,3450,0,10,13,14,4785,4784,4819,42,3450,3449,3428,0,14,11,10,4819,4817,4785,42,3451,3452,3449,0,15,16,11,4820,4821,4817,42,3449,3450,3451,0,11,14,15,4817,4819,4820,42,3452,3446,3445,0,16,17,12,4821,4822,4818,42,3445,3449,3452,0,12,11,16,4818,4817,4821,42,3427,3432,3453,0,18,19,20,4792,4791,4823,42,3453,3450,3427,0,20,21,18,4823,4824,4792,42,3432,3431,3454,0,19,22,23,4791,4790,4825,42,3454,3453,3432,0,23,20,19,4825,4823,4791,42,3455,3456,3453,0,24,25,20,4826,4827,4823,42,3453,3454,3455,0,20,23,24,4823,4825,4826,42,3456,3451,3450,0,25,26,21,4827,4828,4824,42,3450,3453,3456,0,21,20,25,4824,4823,4827,42,3431,3436,3457,0,9,10,11,4798,4797,4829,42,3457,3454,3431,0,11,12,9,4829,4830,4798,42,3436,3435,3458,0,10,13,14,4797,4796,4831,42,3458,3457,3436,0,14,11,10,4831,4829,4797,42,3459,3460,3457,0,15,16,11,4832,4833,4829,42,3457,3458,3459,0,11,14,15,4829,4831,4832,42,3460,3455,3454,0,16,17,12,4833,4834,4830,42,3454,3457,3460,0,12,11,16,4830,4829,4833,42,3435,3440,3461,0,0,1,2,4804,4803,4835,42,3461,3458,3435,0,2,3,0,4835,4836,4804,42,3440,3439,3462,0,1,4,5,4803,4802,4837,42,3462,3461,3440,0,5,2,1,4837,4835,4803,42,3463,3464,3461,0,6,7,2,4838,4839,4835,42,3461,3462,3463,0,2,5,6,4835,4837,4838,42,3464,3459,3458,0,7,8,3,4839,4840,4836,42,3458,3461,3464,0,3,2,7,4836,4835,4839,42,3439,3442,3465,0,27,28,29,4810,4809,4841,42,3465,3462,3439,0,29,30,27,4841,4842,4810,42,3442,3423,3444,0,28,31,32,4809,4808,4843,42,3444,3465,3442,0,32,29,28,4843,4841,4809,42,3448,3466,3465,0,33,34,29,4844,4845,4841,42,3465,3444,3448,0,29,32,33,4841,4843,4844,42,3466,3463,3462,0,34,35,30,4845,4846,4842,42,3462,3465,3466,0,30,29,34,4842,4841,4845,42,3448,3447,3467,0,0,1,2,4816,4815,4847,42,3467,3468,3448,0,2,3,0,4847,4848,4816,42,3447,3446,3469,0,1,4,5,4815,4814,4849,42,3469,3467,3447,0,5,2,1,4849,4847,4815,42,3470,3471,3467,0,6,7,2,4850,4851,4847,42,3467,3469,3470,0,2,5,6,4847,4849,4850,42,3471,3472,3468,0,7,8,3,4851,4852,4848,42,3468,3467,3471,0,3,2,7,4848,4847,4851,42,3446,3452,3473,0,9,10,11,4822,4821,4853,42,3473,3469,3446,0,11,12,9,4853,4854,4822,42,3452,3451,3474,0,10,13,14,4821,4820,4855,42,3474,3473,3452,0,14,11,10,4855,4853,4821,42,3475,3476,3473,0,15,16,11,4856,4857,4853,42,3473,3474,3475,0,11,14,15,4853,4855,4856,42,3476,3470,3469,0,16,17,12,4857,4858,4854,42,3469,3473,3476,0,12,11,16,4854,4853,4857,42,3451,3456,3477,0,18,19,20,4828,4827,4859,42,3477,3474,3451,0,20,21,18,4859,4860,4828,42,3456,3455,3478,0,19,22,23,4827,4826,4861,42,3478,3477,3456,0,23,20,19,4861,4859,4827,42,3479,3480,3477,0,24,25,20,4862,4863,4859,42,3477,3478,3479,0,20,23,24,4859,4861,4862,42,3480,3475,3474,0,25,26,21,4863,4864,4860,42,3474,3477,3480,0,21,20,25,4860,4859,4863,42,3455,3460,3481,0,9,10,11,4834,4833,4865,42,3481,3478,3455,0,11,12,9,4865,4866,4834,42,3460,3459,3482,0,10,13,14,4833,4832,4867,42,3482,3481,3460,0,14,11,10,4867,4865,4833,42,3483,3484,3481,0,15,16,11,4868,4869,4865,42,3481,3482,3483,0,11,14,15,4865,4867,4868,42,3484,3479,3478,0,16,17,12,4869,4870,4866,42,3478,3481,3484,0,12,11,16,4866,4865,4869,42,3459,3464,3485,0,0,1,2,4840,4839,4871,42,3485,3482,3459,0,2,3,0,4871,4872,4840,42,3464,3463,3486,0,1,4,5,4839,4838,4873,42,3486,3485,3464,0,5,2,1,4873,4871,4839,42,3487,3488,3485,0,6,7,2,4874,4875,4871,42,3485,3486,3487,0,2,5,6,4871,4873,4874,42,3488,3483,3482,0,7,8,3,4875,4876,4872,42,3482,3485,3488,0,3,2,7,4872,4871,4875,42,3463,3466,3489,0,27,28,29,4846,4845,4877,42,3489,3486,3463,0,29,30,27,4877,4878,4846,42,3466,3448,3468,0,28,31,32,4845,4844,4879,42,3468,3489,3466,0,32,29,28,4879,4877,4845,42,3472,3490,3489,0,33,34,29,4880,4881,4877,42,3489,3468,3472,0,29,32,33,4877,4879,4880,42,3490,3487,3486,0,34,35,30,4881,4882,4878,42,3486,3489,3490,0,30,29,34,4878,4877,4881,42,3472,3471,3491,0,0,1,2,4852,4851,4883,42,3491,3492,3472,0,2,3,0,4883,4884,4852,42,3471,3470,3493,0,1,4,5,4851,4850,4885,42,3493,3491,3471,0,5,2,1,4885,4883,4851,42,3494,3495,3491,0,6,7,2,4886,4887,4883,42,3491,3493,3494,0,2,5,6,4883,4885,4886,42,3495,3496,3492,0,7,8,3,4887,4888,4884,42,3492,3491,3495,0,3,2,7,4884,4883,4887,42,3470,3476,3497,0,9,10,11,4858,4857,4889,42,3497,3493,3470,0,11,12,9,4889,4890,4858,42,3476,3475,3498,0,10,13,14,4857,4856,4891,42,3498,3497,3476,0,14,11,10,4891,4889,4857,42,3499,3500,3497,0,15,16,11,4892,4893,4889,42,3497,3498,3499,0,11,14,15,4889,4891,4892,42,3500,3494,3493,0,16,17,12,4893,4894,4890,42,3493,3497,3500,0,12,11,16,4890,4889,4893,42,3475,3480,3501,0,18,19,20,4864,4863,4895,42,3501,3498,3475,0,20,21,18,4895,4896,4864,42,3480,3479,3502,0,19,22,23,4863,4862,4897,42,3502,3501,3480,0,23,20,19,4897,4895,4863,42,3503,3504,3501,0,24,25,20,4898,4899,4895,42,3501,3502,3503,0,20,23,24,4895,4897,4898,42,3504,3499,3498,0,25,26,21,4899,4900,4896,42,3498,3501,3504,0,21,20,25,4896,4895,4899,42,3479,3484,3505,0,9,10,11,4870,4869,4901,42,3505,3502,3479,0,11,12,9,4901,4902,4870,42,3484,3483,3506,0,10,13,14,4869,4868,4903,42,3506,3505,3484,0,14,11,10,4903,4901,4869,42,3507,3508,3505,0,15,16,11,4904,4905,4901,42,3505,3506,3507,0,11,14,15,4901,4903,4904,42,3508,3503,3502,0,16,17,12,4905,4906,4902,42,3502,3505,3508,0,12,11,16,4902,4901,4905,42,3483,3488,3509,0,0,1,2,4876,4875,4907,42,3509,3506,3483,0,2,3,0,4907,4908,4876,42,3488,3487,3510,0,1,4,5,4875,4874,4909,42,3510,3509,3488,0,5,2,1,4909,4907,4875,42,3511,3512,3509,0,6,7,2,4910,4911,4907,42,3509,3510,3511,0,2,5,6,4907,4909,4910,42,3512,3507,3506,0,7,8,3,4911,4912,4908,42,3506,3509,3512,0,3,2,7,4908,4907,4911,42,3487,3490,3513,0,27,28,29,4882,4881,4913,42,3513,3510,3487,0,29,30,27,4913,4914,4882,42,3490,3472,3492,0,28,31,32,4881,4880,4915,42,3492,3513,3490,0,32,29,28,4915,4913,4881,42,3496,3514,3513,0,33,34,29,4916,4917,4913,42,3513,3492,3496,0,29,32,33,4913,4915,4916,42,3514,3511,3510,0,34,35,30,4917,4918,4914,42,3510,3513,3514,0,30,29,34,4914,4913,4917,42,3496,3495,3515,0,0,1,2,4888,4887,4919,42,3515,3516,3496,0,2,3,0,4919,4920,4888,42,3495,3494,3517,0,1,4,5,4887,4886,4921,42,3517,3515,3495,0,5,2,1,4921,4919,4887,42,3518,3519,3515,0,6,7,2,4922,4923,4919,42,3515,3517,3518,0,2,5,6,4919,4921,4922,42,3519,3520,3516,0,7,8,3,4923,4924,4920,42,3516,3515,3519,0,3,2,7,4920,4919,4923,42,3494,3500,3521,0,9,10,11,4894,4893,4925,42,3521,3517,3494,0,11,12,9,4925,4926,4894,42,3500,3499,3522,0,10,13,14,4893,4892,4927,42,3522,3521,3500,0,14,11,10,4927,4925,4893,42,3523,3524,3521,0,15,16,11,4928,4929,4925,42,3521,3522,3523,0,11,14,15,4925,4927,4928,42,3524,3518,3517,0,16,17,12,4929,4930,4926,42,3517,3521,3524,0,12,11,16,4926,4925,4929,42,3499,3504,3525,0,18,19,20,4900,4899,4931,42,3525,3522,3499,0,20,21,18,4931,4932,4900,42,3504,3503,3526,0,19,22,23,4899,4898,4933,42,3526,3525,3504,0,23,20,19,4933,4931,4899,42,3527,3528,3525,0,24,25,20,4934,4935,4931,42,3525,3526,3527,0,20,23,24,4931,4933,4934,42,3528,3523,3522,0,25,26,21,4935,4936,4932,42,3522,3525,3528,0,21,20,25,4932,4931,4935,42,3503,3508,3529,0,9,10,11,4906,4905,4937,42,3529,3526,3503,0,11,12,9,4937,4938,4906,42,3508,3507,3530,0,10,13,14,4905,4904,4939,42,3530,3529,3508,0,14,11,10,4939,4937,4905,42,3531,3532,3529,0,15,16,11,4940,4941,4937,42,3529,3530,3531,0,11,14,15,4937,4939,4940,42,3532,3527,3526,0,16,17,12,4941,4942,4938,42,3526,3529,3532,0,12,11,16,4938,4937,4941,42,3507,3512,3533,0,0,1,2,4912,4911,4943,42,3533,3530,3507,0,2,3,0,4943,4944,4912,42,3512,3511,3534,0,1,4,5,4911,4910,4945,42,3534,3533,3512,0,5,2,1,4945,4943,4911,42,3535,3536,3533,0,6,7,2,4946,4947,4943,42,3533,3534,3535,0,2,5,6,4943,4945,4946,42,3536,3531,3530,0,7,8,3,4947,4948,4944,42,3530,3533,3536,0,3,2,7,4944,4943,4947,42,3511,3514,3537,0,27,28,29,4918,4917,4949,42,3537,3534,3511,0,29,30,27,4949,4950,4918,42,3514,3496,3516,0,28,31,32,4917,4916,4951,42,3516,3537,3514,0,32,29,28,4951,4949,4917,42,3520,3538,3537,0,33,34,29,4952,4953,4949,42,3537,3516,3520,0,29,32,33,4949,4951,4952,42,3538,3535,3534,0,34,35,30,4953,4954,4950,42,3534,3537,3538,0,30,29,34,4950,4949,4953,42,3520,3519,3539,0,0,1,2,4924,4923,4955,42,3539,3540,3520,0,2,3,0,4955,4956,4924,42,3519,3518,3541,0,1,4,5,4923,4922,4957,42,3541,3539,3519,0,5,2,1,4957,4955,4923,42,3542,3543,3539,0,6,7,2,4958,4959,4955,42,3539,3541,3542,0,2,5,6,4955,4957,4958,42,3543,3544,3540,0,7,8,3,4959,4960,4956,42,3540,3539,3543,0,3,2,7,4956,4955,4959,42,3518,3524,3545,0,9,10,11,4930,4929,4961,42,3545,3541,3518,0,11,12,9,4961,4962,4930,42,3524,3523,3546,0,10,13,14,4929,4928,4963,42,3546,3545,3524,0,14,11,10,4963,4961,4929,42,3547,3548,3545,0,15,16,11,4964,4965,4961,42,3545,3546,3547,0,11,14,15,4961,4963,4964,42,3548,3542,3541,0,16,17,12,4965,4966,4962,42,3541,3545,3548,0,12,11,16,4962,4961,4965,42,3523,3528,3549,0,18,19,20,4936,4935,4967,42,3549,3546,3523,0,20,21,18,4967,4968,4936,42,3528,3527,3550,0,19,22,23,4935,4934,4969,42,3550,3549,3528,0,23,20,19,4969,4967,4935,42,3551,3552,3549,0,24,25,20,4970,4971,4967,42,3549,3550,3551,0,20,23,24,4967,4969,4970,42,3552,3547,3546,0,25,26,21,4971,4972,4968,42,3546,3549,3552,0,21,20,25,4968,4967,4971,42,3527,3532,3553,0,9,10,11,4942,4941,4973,42,3553,3550,3527,0,11,12,9,4973,4974,4942,42,3532,3531,3554,0,10,13,14,4941,4940,4975,42,3554,3553,3532,0,14,11,10,4975,4973,4941,42,3555,3556,3553,0,15,16,11,4976,4977,4973,42,3553,3554,3555,0,11,14,15,4973,4975,4976,42,3556,3551,3550,0,16,17,12,4977,4978,4974,42,3550,3553,3556,0,12,11,16,4974,4973,4977,42,3531,3536,3557,0,0,1,2,4948,4947,4979,42,3557,3554,3531,0,2,3,0,4979,4980,4948,42,3536,3535,3558,0,1,4,5,4947,4946,4981,42,3558,3557,3536,0,5,2,1,4981,4979,4947,42,3559,3560,3557,0,6,7,2,4982,4983,4979,42,3557,3558,3559,0,2,5,6,4979,4981,4982,42,3560,3555,3554,0,7,8,3,4983,4984,4980,42,3554,3557,3560,0,3,2,7,4980,4979,4983,42,3535,3538,3561,0,27,28,29,4954,4953,4985,42,3561,3558,3535,0,29,30,27,4985,4986,4954,42,3538,3520,3540,0,28,31,32,4953,4952,4987,42,3540,3561,3538,0,32,29,28,4987,4985,4953,42,3544,3562,3561,0,33,34,29,4988,4989,4985,42,3561,3540,3544,0,29,32,33,4985,4987,4988,42,3562,3559,3558,0,34,35,30,4989,4990,4986,42,3558,3561,3562,0,30,29,34,4986,4985,4989,42,3544,3543,3563,0,0,1,2,4960,4959,4991,42,3563,3564,3544,0,2,3,0,4991,4992,4960,42,3543,3542,3565,0,1,4,5,4959,4958,4993,42,3565,3563,3543,0,5,2,1,4993,4991,4959,42,3566,3567,3563,0,6,7,2,4994,4995,4991,42,3563,3565,3566,0,2,5,6,4991,4993,4994,42,3567,3568,3564,0,7,8,3,4995,4996,4992,42,3564,3563,3567,0,3,2,7,4992,4991,4995,42,3542,3548,3569,0,9,10,11,4966,4965,4997,42,3569,3565,3542,0,11,12,9,4997,4998,4966,42,3548,3547,3570,0,10,13,14,4965,4964,4999,42,3570,3569,3548,0,14,11,10,4999,4997,4965,42,3571,3572,3569,0,15,16,11,5000,5001,4997,42,3569,3570,3571,0,11,14,15,4997,4999,5000,42,3572,3566,3565,0,16,17,12,5001,5002,4998,42,3565,3569,3572,0,12,11,16,4998,4997,5001,42,3547,3552,3573,0,18,19,20,4972,4971,5003,42,3573,3570,3547,0,20,21,18,5003,5004,4972,42,3552,3551,3574,0,19,22,23,4971,4970,5005,42,3574,3573,3552,0,23,20,19,5005,5003,4971,42,3575,3576,3573,0,24,25,20,5006,5007,5003,42,3573,3574,3575,0,20,23,24,5003,5005,5006,42,3576,3571,3570,0,25,26,21,5007,5008,5004,42,3570,3573,3576,0,21,20,25,5004,5003,5007,42,3551,3556,3577,0,9,10,11,4978,4977,5009,42,3577,3574,3551,0,11,12,9,5009,5010,4978,42,3556,3555,3578,0,10,13,14,4977,4976,5011,42,3578,3577,3556,0,14,11,10,5011,5009,4977,42,3579,3580,3577,0,15,16,11,5012,5013,5009,42,3577,3578,3579,0,11,14,15,5009,5011,5012,42,3580,3575,3574,0,16,17,12,5013,5014,5010,42,3574,3577,3580,0,12,11,16,5010,5009,5013,42,3555,3560,3581,0,0,1,2,4984,4983,5015,42,3581,3578,3555,0,2,3,0,5015,5016,4984,42,3560,3559,3582,0,1,4,5,4983,4982,5017,42,3582,3581,3560,0,5,2,1,5017,5015,4983,42,3583,3584,3581,0,6,7,2,5018,5019,5015,42,3581,3582,3583,0,2,5,6,5015,5017,5018,42,3584,3579,3578,0,7,8,3,5019,5020,5016,42,3578,3581,3584,0,3,2,7,5016,5015,5019,42,3559,3562,3585,0,27,28,29,4990,4989,5021,42,3585,3582,3559,0,29,30,27,5021,5022,4990,42,3562,3544,3564,0,28,31,32,4989,4988,5023,42,3564,3585,3562,0,32,29,28,5023,5021,4989,42,3568,3586,3585,0,33,34,29,5024,5025,5021,42,3585,3564,3568,0,29,32,33,5021,5023,5024,42,3586,3583,3582,0,34,35,30,5025,5026,5022,42,3582,3585,3586,0,30,29,34,5022,5021,5025,42,3568,3567,3587,0,0,1,2,4996,4995,5027,42,3587,3588,3568,0,2,3,0,5027,5028,4996,42,3567,3566,3589,0,1,4,5,4995,4994,5029,42,3589,3587,3567,0,5,2,1,5029,5027,4995,42,3590,3591,3587,0,6,7,2,5030,5031,5027,42,3587,3589,3590,0,2,5,6,5027,5029,5030,42,3591,3592,3588,0,7,8,3,5031,5032,5028,42,3588,3587,3591,0,3,2,7,5028,5027,5031,42,3566,3572,3593,0,9,10,11,5002,5001,5033,42,3593,3589,3566,0,11,12,9,5033,5034,5002,42,3572,3571,3594,0,10,13,14,5001,5000,5035,42,3594,3593,3572,0,14,11,10,5035,5033,5001,42,3595,3596,3593,0,15,16,11,5036,5037,5033,42,3593,3594,3595,0,11,14,15,5033,5035,5036,42,3596,3590,3589,0,16,17,12,5037,5038,5034,42,3589,3593,3596,0,12,11,16,5034,5033,5037,42,3571,3576,3597,0,18,19,20,5008,5007,5039,42,3597,3594,3571,0,20,21,18,5039,5040,5008,42,3576,3575,3598,0,19,22,23,5007,5006,5041,42,3598,3597,3576,0,23,20,19,5041,5039,5007,42,3599,3600,3597,0,24,25,20,5042,5043,5039,42,3597,3598,3599,0,20,23,24,5039,5041,5042,42,3600,3595,3594,0,25,26,21,5043,5044,5040,42,3594,3597,3600,0,21,20,25,5040,5039,5043,42,3575,3580,3601,0,9,10,11,5014,5013,5045,42,3601,3598,3575,0,11,12,9,5045,5046,5014,42,3580,3579,3602,0,10,13,14,5013,5012,5047,42,3602,3601,3580,0,14,11,10,5047,5045,5013,42,3603,3604,3601,0,15,16,11,5048,5049,5045,42,3601,3602,3603,0,11,14,15,5045,5047,5048,42,3604,3599,3598,0,16,17,12,5049,5050,5046,42,3598,3601,3604,0,12,11,16,5046,5045,5049,42,3579,3584,3605,0,0,1,2,5020,5019,5051,42,3605,3602,3579,0,2,3,0,5051,5052,5020,42,3584,3583,3606,0,1,4,5,5019,5018,5053,42,3606,3605,3584,0,5,2,1,5053,5051,5019,42,3607,3608,3605,0,6,7,2,5054,5055,5051,42,3605,3606,3607,0,2,5,6,5051,5053,5054,42,3608,3603,3602,0,7,8,3,5055,5056,5052,42,3602,3605,3608,0,3,2,7,5052,5051,5055,42,3583,3586,3609,0,27,28,29,5026,5025,5057,42,3609,3606,3583,0,29,30,27,5057,5058,5026,42,3586,3568,3588,0,28,31,32,5025,5024,5059,42,3588,3609,3586,0,32,29,28,5059,5057,5025,42,3592,3610,3609,0,33,34,29,5060,5061,5057,42,3609,3588,3592,0,29,32,33,5057,5059,5060,42,3610,3607,3606,0,34,35,30,5061,5062,5058,42,3606,3609,3610,0,30,29,34,5058,5057,5061,42,3592,3591,3611,0,0,1,2,5032,5031,5063,42,3611,3612,3592,0,2,3,0,5063,5064,5032,42,3591,3590,3613,0,1,4,5,5031,5030,5065,42,3613,3611,3591,0,5,2,1,5065,5063,5031,42,3614,3615,3611,0,6,7,2,5066,5067,5063,42,3611,3613,3614,0,2,5,6,5063,5065,5066,42,3615,3616,3612,0,7,8,3,5067,5068,5064,42,3612,3611,3615,0,3,2,7,5064,5063,5067,42,3590,3596,3617,0,9,10,11,5038,5037,5069,42,3617,3613,3590,0,11,12,9,5069,5070,5038,42,3596,3595,3618,0,10,13,14,5037,5036,5071,42,3618,3617,3596,0,14,11,10,5071,5069,5037,42,3619,3620,3617,0,15,16,11,5072,5073,5069,42,3617,3618,3619,0,11,14,15,5069,5071,5072,42,3620,3614,3613,0,16,17,12,5073,5074,5070,42,3613,3617,3620,0,12,11,16,5070,5069,5073,42,3595,3600,3621,0,18,19,20,5044,5043,5075,42,3621,3618,3595,0,20,21,18,5075,5076,5044,42,3600,3599,3622,0,19,22,23,5043,5042,5077,42,3622,3621,3600,0,23,20,19,5077,5075,5043,42,3623,3624,3621,0,24,25,20,5078,5079,5075,42,3621,3622,3623,0,20,23,24,5075,5077,5078,42,3624,3619,3618,0,25,26,21,5079,5079,5076,42,3618,3621,3624,0,21,20,25,5076,5075,5079,42,3599,3604,3625,0,9,10,11,5050,5049,5080,42,3625,3622,3599,0,11,12,9,5080,5081,5050,42,3604,3603,3626,0,10,13,14,5049,5048,5082,42,3626,3625,3604,0,14,11,10,5082,5080,5049,42,3627,3628,3625,0,15,16,11,5083,5084,5080,42,3625,3626,3627,0,11,14,15,5080,5082,5083,42,3628,3623,3622,0,16,17,12,5084,5085,5081,42,3622,3625,3628,0,12,11,16,5081,5080,5084,42,3603,3608,3629,0,0,1,2,5056,5055,5086,42,3629,3626,3603,0,2,3,0,5086,5087,5056,42,3608,3607,3630,0,1,4,5,5055,5054,5088,42,3630,3629,3608,0,5,2,1,5088,5086,5055,42,3631,3632,3629,0,6,7,2,5089,5090,5086,42,3629,3630,3631,0,2,5,6,5086,5088,5089,42,3632,3627,3626,0,7,8,3,5090,5091,5087,42,3626,3629,3632,0,3,2,7,5087,5086,5090,42,3607,3610,3633,0,27,28,29,5062,5061,5092,42,3633,3630,3607,0,29,30,27,5092,5093,5062,42,3610,3592,3612,0,28,31,32,5061,5060,5094,42,3612,3633,3610,0,32,29,28,5094,5092,5061,42,3616,3634,3633,0,33,34,29,5095,5095,5092,42,3633,3612,3616,0,29,32,33,5092,5094,5095,42,3634,3631,3630,0,34,35,30,5095,5096,5093,42,3630,3633,3634,0,30,29,34,5093,5092,5095,42,3616,3615,3635,0,0,1,2,5068,5067,5097,42,3635,3636,3616,0,2,3,0,5097,5098,5068,42,3615,3614,3637,0,1,4,5,5067,5066,5099,42,3637,3635,3615,0,5,2,1,5099,5097,5067,42,3638,3639,3635,0,6,7,2,5100,5101,5097,42,3635,3637,3638,0,2,5,6,5097,5099,5100,42,3639,3640,3636,0,7,8,3,5101,5102,5098,42,3636,3635,3639,0,3,2,7,5098,5097,5101,42,3614,3620,3641,0,9,10,11,5074,5073,5103,42,3641,3637,3614,0,11,12,9,5103,5104,5074,42,3620,3619,3642,0,10,13,14,5073,5072,5105,42,3642,3641,3620,0,14,11,10,5105,5103,5073,42,3643,3644,3641,0,15,16,11,5106,5107,5103,42,3641,3642,3643,0,11,14,15,5103,5105,5106,42,3644,3638,3637,0,16,17,12,5107,5108,5104,42,3637,3641,3644,0,12,11,16,5104,5103,5107,42,3619,3624,3645,0,18,19,20,5079,5079,5109,42,3645,3642,3619,0,20,21,18,5109,5110,5079,42,3624,3623,3646,0,19,22,23,5079,5078,5109,42,3646,3645,3624,0,23,20,19,5109,5109,5079,42,3647,3648,3645,0,24,25,20,5111,5112,5109,42,3645,3646,3647,0,20,23,24,5109,5109,5111,42,3648,3643,3642,0,25,26,21,5112,5113,5110,42,3642,3645,3648,0,21,20,25,5110,5109,5112,42,3623,3628,3649,0,9,10,11,5085,5084,5114,42,3649,3646,3623,0,11,12,9,5114,5115,5085,42,3628,3627,3650,0,10,13,14,5084,5083,5116,42,3650,3649,3628,0,14,11,10,5116,5114,5084,42,3651,3652,3649,0,15,16,11,5117,5118,5114,42,3649,3650,3651,0,11,14,15,5114,5116,5117,42,3652,3647,3646,0,16,17,12,5118,5119,5115,42,3646,3649,3652,0,12,11,16,5115,5114,5118,42,3627,3632,3653,0,0,1,2,5091,5090,5120,42,3653,3650,3627,0,2,3,0,5120,5121,5091,42,3632,3631,3654,0,1,4,5,5090,5089,5122,42,3654,3653,3632,0,5,2,1,5122,5120,5090,42,3655,3656,3653,0,6,7,2,5123,5124,5120,42,3653,3654,3655,0,2,5,6,5120,5122,5123,42,3656,3651,3650,0,7,8,3,5124,5125,5121,42,3650,3653,3656,0,3,2,7,5121,5120,5124,42,3631,3634,3657,0,27,28,29,5096,5095,5126,42,3657,3654,3631,0,29,30,27,5126,5127,5096,42,3634,3616,3636,0,28,31,32,5095,5095,5128,42,3636,3657,3634,0,32,29,28,5128,5126,5095,42,3640,3658,3657,0,33,34,29,5129,5130,5126,42,3657,3636,3640,0,29,32,33,5126,5128,5129,42,3658,3655,3654,0,34,35,30,5130,5131,5127,42,3654,3657,3658,0,30,29,34,5127,5126,5130,42,3640,3639,3659,0,0,1,2,5102,5101,5132,42,3659,3660,3640,0,2,3,0,5132,5133,5102,42,3639,3638,3661,0,1,4,5,5101,5100,5134,42,3661,3659,3639,0,5,2,1,5134,5132,5101,42,3662,3663,3659,0,6,7,2,5135,5136,5132,42,3659,3661,3662,0,2,5,6,5132,5134,5135,42,3663,3664,3660,0,7,8,3,5136,5137,5133,42,3660,3659,3663,0,3,2,7,5133,5132,5136,42,3638,3644,3665,0,9,10,11,5108,5107,5138,42,3665,3661,3638,0,11,12,9,5138,5139,5108,42,3644,3643,3666,0,10,13,14,5107,5106,5140,42,3666,3665,3644,0,14,11,10,5140,5138,5107,42,3667,3668,3665,0,15,16,11,5141,5142,5138,42,3665,3666,3667,0,11,14,15,5138,5140,5141,42,3668,3662,3661,0,16,17,12,5142,5143,5139,42,3661,3665,3668,0,12,11,16,5139,5138,5142,42,3643,3648,3669,0,18,19,20,5113,5112,5144,42,3669,3666,3643,0,20,21,18,5144,5145,5113,42,3648,3647,3670,0,19,22,23,5112,5111,5146,42,3670,3669,3648,0,23,20,19,5146,5144,5112,42,3671,3672,3669,0,24,25,20,5147,5148,5144,42,3669,3670,3671,0,20,23,24,5144,5146,5147,42,3672,3667,3666,0,25,26,21,5148,5149,5145,42,3666,3669,3672,0,21,20,25,5145,5144,5148,42,3647,3652,3673,0,9,10,11,5119,5118,5150,42,3673,3670,3647,0,11,12,9,5150,5151,5119,42,3652,3651,3674,0,10,13,14,5118,5117,5152,42,3674,3673,3652,0,14,11,10,5152,5150,5118,42,3675,3676,3673,0,15,16,11,5153,5154,5150,42,3673,3674,3675,0,11,14,15,5150,5152,5153,42,3676,3671,3670,0,16,17,12,5154,5155,5151,42,3670,3673,3676,0,12,11,16,5151,5150,5154,42,3651,3656,3677,0,0,1,2,5125,5124,5156,42,3677,3674,3651,0,2,3,0,5156,5157,5125,42,3656,3655,3678,0,1,4,5,5124,5123,5158,42,3678,3677,3656,0,5,2,1,5158,5156,5124,42,3679,3680,3677,0,6,7,2,5159,5160,5156,42,3677,3678,3679,0,2,5,6,5156,5158,5159,42,3680,3675,3674,0,7,8,3,5160,5161,5157,42,3674,3677,3680,0,3,2,7,5157,5156,5160,42,3655,3658,3681,0,27,28,29,5131,5130,5162,42,3681,3678,3655,0,29,30,27,5162,5163,5131,42,3658,3640,3660,0,28,31,32,5130,5129,5164,42,3660,3681,3658,0,32,29,28,5164,5162,5130,42,3664,3682,3681,0,33,34,29,5165,5166,5162,42,3681,3660,3664,0,29,32,33,5162,5164,5165,42,3682,3679,3678,0,34,35,30,5166,5167,5163,42,3678,3681,3682,0,30,29,34,5163,5162,5166,42,3664,3663,3683,0,0,1,2,5137,5136,5168,42,3683,3684,3664,0,2,3,0,5168,5169,5137,42,3663,3662,3685,0,1,4,5,5136,5135,5170,42,3685,3683,3663,0,5,2,1,5170,5168,5136,42,3686,3687,3683,0,6,7,2,5171,5172,5168,42,3683,3685,3686,0,2,5,6,5168,5170,5171,42,3687,3688,3684,0,7,8,3,5172,5173,5169,42,3684,3683,3687,0,3,2,7,5169,5168,5172,42,3662,3668,3689,0,9,10,11,5143,5142,5174,42,3689,3685,3662,0,11,12,9,5174,5175,5143,42,3668,3667,3690,0,10,13,14,5142,5141,5176,42,3690,3689,3668,0,14,11,10,5176,5174,5142,42,3691,3692,3689,0,15,16,11,5177,5178,5174,42,3689,3690,3691,0,11,14,15,5174,5176,5177,42,3692,3686,3685,0,16,17,12,5178,5179,5175,42,3685,3689,3692,0,12,11,16,5175,5174,5178,42,3667,3672,3693,0,18,19,20,5149,5148,5180,42,3693,3690,3667,0,20,21,18,5180,5180,5149,42,3672,3671,3694,0,19,22,23,5148,5147,5181,42,3694,3693,3672,0,23,20,19,5181,5180,5148,42,3695,3696,3693,0,24,25,20,5182,5183,5180,42,3693,3694,3695,0,20,23,24,5180,5181,5182,42,3696,3691,3690,0,25,26,21,5183,5184,5180,42,3690,3693,3696,0,21,20,25,5180,5180,5183,42,3671,3676,3697,0,9,10,11,5155,5154,5185,42,3697,3694,3671,0,11,12,9,5185,5186,5155,42,3676,3675,3698,0,10,13,14,5154,5153,5187,42,3698,3697,3676,0,14,11,10,5187,5185,5154,42,3699,3700,3697,0,15,16,11,5188,5189,5185,42,3697,3698,3699,0,11,14,15,5185,5187,5188,42,3700,3695,3694,0,16,17,12,5189,5190,5186,42,3694,3697,3700,0,12,11,16,5186,5185,5189,42,3675,3680,3701,0,0,1,2,5161,5160,5191,42,3701,3698,3675,0,2,3,0,5191,5192,5161,42,3680,3679,3702,0,1,4,5,5160,5159,5193,42,3702,3701,3680,0,5,2,1,5193,5191,5160,42,3703,3704,3701,0,6,7,2,5194,5195,5191,42,3701,3702,3703,0,2,5,6,5191,5193,5194,42,3704,3699,3698,0,7,8,3,5195,5196,5192,42,3698,3701,3704,0,3,2,7,5192,5191,5195,42,3679,3682,3705,0,27,28,29,5167,5166,5197,42,3705,3702,3679,0,29,30,27,5197,5197,5167,42,3682,3664,3684,0,28,31,32,5166,5165,5198,42,3684,3705,3682,0,32,29,28,5198,5197,5166,42,3688,3706,3705,0,33,34,29,5199,5200,5197,42,3705,3684,3688,0,29,32,33,5197,5198,5199,42,3706,3703,3702,0,34,35,30,5200,5201,5197,42,3702,3705,3706,0,30,29,34,5197,5197,5200,42,3688,3687,3707,0,0,1,2,5173,5172,5202,42,3707,3708,3688,0,2,3,0,5202,5203,5173,42,3687,3686,3709,0,1,4,5,5172,5171,5204,42,3709,3707,3687,0,5,2,1,5204,5202,5172,42,3710,3711,3707,0,6,7,2,5205,5206,5202,42,3707,3709,3710,0,2,5,6,5202,5204,5205,42,3711,3712,3708,0,7,8,3,5206,5207,5203,42,3708,3707,3711,0,3,2,7,5203,5202,5206,42,3686,3692,3713,0,9,10,11,5179,5178,5208,42,3713,3709,3686,0,11,12,9,5208,5209,5179,42,3692,3691,3714,0,10,13,14,5178,5177,5210,42,3714,3713,3692,0,14,11,10,5210,5208,5178,42,3715,3716,3713,0,15,16,11,5211,5212,5208,42,3713,3714,3715,0,11,14,15,5208,5210,5211,42,3716,3710,3709,0,16,17,12,5212,5213,5209,42,3709,3713,3716,0,12,11,16,5209,5208,5212,42,3691,3696,3717,0,18,19,20,5184,5183,5214,42,3717,3714,3691,0,20,21,18,5214,5215,5184,42,3696,3695,3718,0,19,22,23,5183,5182,5216,42,3718,3717,3696,0,23,20,19,5216,5214,5183,42,3719,3720,3717,0,24,25,20,5217,5218,5214,42,3717,3718,3719,0,20,23,24,5214,5216,5217,42,3720,3715,3714,0,25,26,21,5218,5219,5215,42,3714,3717,3720,0,21,20,25,5215,5214,5218,42,3695,3700,3721,0,9,10,11,5190,5189,5220,42,3721,3718,3695,0,11,12,9,5220,5221,5190,42,3700,3699,3722,0,10,13,14,5189,5188,5222,42,3722,3721,3700,0,14,11,10,5222,5220,5189,42,3723,3724,3721,0,15,16,11,5223,5224,5220,42,3721,3722,3723,0,11,14,15,5220,5222,5223,42,3724,3719,3718,0,16,17,12,5224,5225,5221,42,3718,3721,3724,0,12,11,16,5221,5220,5224,42,3699,3704,3725,0,0,1,2,5196,5195,5226,42,3725,3722,3699,0,2,3,0,5226,5227,5196,42,3704,3703,3726,0,1,4,5,5195,5194,5228,42,3726,3725,3704,0,5,2,1,5228,5226,5195,42,3727,3728,3725,0,6,7,2,5229,5230,5226,42,3725,3726,3727,0,2,5,6,5226,5228,5229,42,3728,3723,3722,0,7,8,3,5230,5231,5227,42,3722,3725,3728,0,3,2,7,5227,5226,5230,42,3703,3706,3729,0,27,28,29,5201,5200,5232,42,3729,3726,3703,0,29,30,27,5232,5233,5201,42,3706,3688,3708,0,28,31,32,5200,5199,5234,42,3708,3729,3706,0,32,29,28,5234,5232,5200,42,3712,3730,3729,0,33,34,29,5235,5236,5232,42,3729,3708,3712,0,29,32,33,5232,5234,5235,42,3730,3727,3726,0,34,35,30,5236,5237,5233,42,3726,3729,3730,0,30,29,34,5233,5232,5236,42,3712,3711,3731,0,0,1,2,5207,5206,5238,42,3731,3732,3712,0,2,3,0,5238,5239,5207,42,3711,3710,3733,0,1,4,5,5206,5205,5240,42,3733,3731,3711,0,5,2,1,5240,5238,5206,42,3734,3735,3731,0,6,7,2,5241,5242,5238,42,3731,3733,3734,0,2,5,6,5238,5240,5241,42,3735,3736,3732,0,7,8,3,5242,5243,5239,42,3732,3731,3735,0,3,2,7,5239,5238,5242,42,3710,3716,3737,0,9,10,11,5213,5212,5244,42,3737,3733,3710,0,11,12,9,5244,5245,5213,42,3716,3715,3738,0,10,13,14,5212,5211,5246,42,3738,3737,3716,0,14,11,10,5246,5244,5212,42,3739,3740,3737,0,15,16,11,5247,5248,5244,42,3737,3738,3739,0,11,14,15,5244,5246,5247,42,3740,3734,3733,0,16,17,12,5248,5249,5245,42,3733,3737,3740,0,12,11,16,5245,5244,5248,42,3715,3720,3741,0,18,19,20,5219,5218,5250,42,3741,3738,3715,0,20,21,18,5250,5250,5219,42,3720,3719,3742,0,19,22,23,5218,5217,5251,42,3742,3741,3720,0,23,20,19,5251,5250,5218,42,3743,3744,3741,0,24,25,20,5252,5253,5250,42,3741,3742,3743,0,20,23,24,5250,5251,5252,42,3744,3739,3738,0,25,26,21,5253,5254,5250,42,3738,3741,3744,0,21,20,25,5250,5250,5253,42,3719,3724,3745,0,9,10,11,5225,5224,5255,42,3745,3742,3719,0,11,12,9,5255,5256,5225,42,3724,3723,3746,0,10,13,14,5224,5223,5257,42,3746,3745,3724,0,14,11,10,5257,5255,5224,42,3747,3748,3745,0,15,16,11,5258,5259,5255,42,3745,3746,3747,0,11,14,15,5255,5257,5258,42,3748,3743,3742,0,16,17,12,5259,5260,5256,42,3742,3745,3748,0,12,11,16,5256,5255,5259,42,3723,3728,3749,0,0,1,2,5231,5230,5261,42,3749,3746,3723,0,2,3,0,5261,5262,5231,42,3728,3727,3750,0,1,4,5,5230,5229,5263,42,3750,3749,3728,0,5,2,1,5263,5261,5230,42,3751,3752,3749,0,6,7,2,5264,5265,5261,42,3749,3750,3751,0,2,5,6,5261,5263,5264,42,3752,3747,3746,0,7,8,3,5265,5266,5262,42,3746,3749,3752,0,3,2,7,5262,5261,5265,42,3727,3730,3753,0,27,28,29,5237,5236,5267,42,3753,3750,3727,0,29,30,27,5267,5267,5237,42,3730,3712,3732,0,28,31,32,5236,5235,5268,42,3732,3753,3730,0,32,29,28,5268,5267,5236,42,3736,3754,3753,0,33,34,29,5269,5270,5267,42,3753,3732,3736,0,29,32,33,5267,5268,5269,42,3754,3751,3750,0,34,35,30,5270,5271,5267,42,3750,3753,3754,0,30,29,34,5267,5267,5270,42,3736,3735,3755,0,0,1,2,5243,5242,5272,42,3755,3756,3736,0,2,3,0,5272,5273,5243,42,3735,3734,3757,0,1,4,5,5242,5241,5274,42,3757,3755,3735,0,5,2,1,5274,5272,5242,42,3758,3759,3755,0,6,7,2,5275,5276,5272,42,3755,3757,3758,0,2,5,6,5272,5274,5275,42,3759,3760,3756,0,7,8,3,5276,5277,5273,42,3756,3755,3759,0,3,2,7,5273,5272,5276,42,3734,3740,3761,0,9,10,11,5249,5248,5278,42,3761,3757,3734,0,11,12,9,5278,5279,5249,42,3740,3739,3762,0,10,13,14,5248,5247,5280,42,3762,3761,3740,0,14,11,10,5280,5278,5248,42,3763,3764,3761,0,15,16,11,5281,5282,5278,42,3761,3762,3763,0,11,14,15,5278,5280,5281,42,3764,3758,3757,0,16,17,12,5282,5283,5279,42,3757,3761,3764,0,12,11,16,5279,5278,5282,42,3739,3744,3765,0,18,19,20,5254,5253,5284,42,3765,3762,3739,0,20,21,18,5284,5285,5254,42,3744,3743,3766,0,19,22,23,5253,5252,5286,42,3766,3765,3744,0,23,20,19,5286,5284,5253,42,3767,3768,3765,0,24,25,20,5287,5288,5284,42,3765,3766,3767,0,20,23,24,5284,5286,5287,42,3768,3763,3762,0,25,26,21,5288,5289,5285,42,3762,3765,3768,0,21,20,25,5285,5284,5288,42,3743,3748,3769,0,9,10,11,5260,5259,5290,42,3769,3766,3743,0,11,12,9,5290,5291,5260,42,3748,3747,3770,0,10,13,14,5259,5258,5292,42,3770,3769,3748,0,14,11,10,5292,5290,5259,42,3771,3772,3769,0,15,16,11,5293,5294,5290,42,3769,3770,3771,0,11,14,15,5290,5292,5293,42,3772,3767,3766,0,16,17,12,5294,5295,5291,42,3766,3769,3772,0,12,11,16,5291,5290,5294,42,3747,3752,3773,0,0,1,2,5266,5265,5296,42,3773,3770,3747,0,2,3,0,5296,5297,5266,42,3752,3751,3774,0,1,4,5,5265,5264,5298,42,3774,3773,3752,0,5,2,1,5298,5296,5265,42,3775,3776,3773,0,6,7,2,5299,5300,5296,42,3773,3774,3775,0,2,5,6,5296,5298,5299,42,3776,3771,3770,0,7,8,3,5300,5301,5297,42,3770,3773,3776,0,3,2,7,5297,5296,5300,42,3751,3754,3777,0,27,28,29,5271,5270,5302,42,3777,3774,3751,0,29,30,27,5302,5303,5271,42,3754,3736,3756,0,28,31,32,5270,5269,5304,42,3756,3777,3754,0,32,29,28,5304,5302,5270,42,3760,3778,3777,0,33,34,29,5305,5306,5302,42,3777,3756,3760,0,29,32,33,5302,5304,5305,42,3778,3775,3774,0,34,35,30,5306,5307,5303,42,3774,3777,3778,0,30,29,34,5303,5302,5306,42,3760,3759,3779,0,0,1,2,5277,5276,5308,42,3779,3780,3760,0,2,3,0,5308,5309,5277,42,3759,3758,3781,0,1,4,5,5276,5275,5310,42,3781,3779,3759,0,5,2,1,5310,5308,5276,42,3782,3783,3779,0,6,7,2,5311,5312,5308,42,3779,3781,3782,0,2,5,6,5308,5310,5311,42,3783,3784,3780,0,7,8,3,5312,5313,5309,42,3780,3779,3783,0,3,2,7,5309,5308,5312,42,3758,3764,3785,0,9,10,11,5283,5282,5314,42,3785,3781,3758,0,11,12,9,5314,5315,5283,42,3764,3763,3786,0,10,13,14,5282,5281,5316,42,3786,3785,3764,0,14,11,10,5316,5314,5282,42,3787,3788,3785,0,15,16,11,5317,5318,5314,42,3785,3786,3787,0,11,14,15,5314,5316,5317,42,3788,3782,3781,0,16,17,12,5318,5319,5315,42,3781,3785,3788,0,12,11,16,5315,5314,5318,42,3763,3768,3789,0,18,19,20,5289,5288,5320,42,3789,3786,3763,0,20,21,18,5320,5321,5289,42,3768,3767,3790,0,19,22,23,5288,5287,5322,42,3790,3789,3768,0,23,20,19,5322,5320,5288,42,3791,3792,3789,0,24,25,20,5323,5324,5320,42,3789,3790,3791,0,20,23,24,5320,5322,5323,42,3792,3787,3786,0,25,26,21,5324,5325,5321,42,3786,3789,3792,0,21,20,25,5321,5320,5324,42,3767,3772,3793,0,9,10,11,5295,5294,5326,42,3793,3790,3767,0,11,12,9,5326,5327,5295,42,3772,3771,3794,0,10,13,14,5294,5293,5328,42,3794,3793,3772,0,14,11,10,5328,5326,5294,42,3795,3796,3793,0,15,16,11,5329,5330,5326,42,3793,3794,3795,0,11,14,15,5326,5328,5329,42,3796,3791,3790,0,16,17,12,5330,5331,5327,42,3790,3793,3796,0,12,11,16,5327,5326,5330,42,3771,3776,3797,0,0,1,2,5301,5300,5332,42,3797,3794,3771,0,2,3,0,5332,5333,5301,42,3776,3775,3798,0,1,4,5,5300,5299,5334,42,3798,3797,3776,0,5,2,1,5334,5332,5300,42,3799,3800,3797,0,6,7,2,5335,5336,5332,42,3797,3798,3799,0,2,5,6,5332,5334,5335,42,3800,3795,3794,0,7,8,3,5336,5337,5333,42,3794,3797,3800,0,3,2,7,5333,5332,5336,42,3775,3778,3801,0,27,28,29,5307,5306,5338,42,3801,3798,3775,0,29,30,27,5338,5339,5307,42,3778,3760,3780,0,28,31,32,5306,5305,5340,42,3780,3801,3778,0,32,29,28,5340,5338,5306,42,3784,3802,3801,0,33,34,29,5341,5342,5338,42,3801,3780,3784,0,29,32,33,5338,5340,5341,42,3802,3799,3798,0,34,35,30,5342,5343,5339,42,3798,3801,3802,0,30,29,34,5339,5338,5342,42,3784,3783,3803,0,0,1,2,5313,5312,5344,42,3803,3804,3784,0,2,3,0,5344,5345,5313,42,3783,3782,3805,0,1,4,5,5312,5311,5346,42,3805,3803,3783,0,5,2,1,5346,5344,5312,42,3806,3807,3803,0,6,7,2,5347,5348,5344,42,3803,3805,3806,0,2,5,6,5344,5346,5347,42,3807,3808,3804,0,7,8,3,5348,5349,5345,42,3804,3803,3807,0,3,2,7,5345,5344,5348,42,3782,3788,3809,0,9,10,11,5319,5318,5350,42,3809,3805,3782,0,11,12,9,5350,5351,5319,42,3788,3787,3810,0,10,13,14,5318,5317,5352,42,3810,3809,3788,0,14,11,10,5352,5350,5318,42,3811,3812,3809,0,15,16,11,5353,5354,5350,42,3809,3810,3811,0,11,14,15,5350,5352,5353,42,3812,3806,3805,0,16,17,12,5354,5355,5351,42,3805,3809,3812,0,12,11,16,5351,5350,5354,42,3787,3792,3813,0,18,19,20,5325,5324,5356,42,3813,3810,3787,0,20,21,18,5356,5357,5325,42,3792,3791,3814,0,19,22,23,5324,5323,5358,42,3814,3813,3792,0,23,20,19,5358,5356,5324,42,3815,3816,3813,0,24,25,20,5359,5360,5356,42,3813,3814,3815,0,20,23,24,5356,5358,5359,42,3816,3811,3810,0,25,26,21,5360,5361,5357,42,3810,3813,3816,0,21,20,25,5357,5356,5360,42,3791,3796,3817,0,9,10,11,5331,5330,5362,42,3817,3814,3791,0,11,12,9,5362,5363,5331,42,3796,3795,3818,0,10,13,14,5330,5329,5364,42,3818,3817,3796,0,14,11,10,5364,5362,5330,42,3819,3820,3817,0,15,16,11,5365,5366,5362,42,3817,3818,3819,0,11,14,15,5362,5364,5365,42,3820,3815,3814,0,16,17,12,5366,5367,5363,42,3814,3817,3820,0,12,11,16,5363,5362,5366,42,3795,3800,3821,0,0,1,2,5337,5336,5368,42,3821,3818,3795,0,2,3,0,5368,5369,5337,42,3800,3799,3822,0,1,4,5,5336,5335,5370,42,3822,3821,3800,0,5,2,1,5370,5368,5336,42,3823,3824,3821,0,6,7,2,5371,5372,5368,42,3821,3822,3823,0,2,5,6,5368,5370,5371,42,3824,3819,3818,0,7,8,3,5372,5373,5369,42,3818,3821,3824,0,3,2,7,5369,5368,5372,42,3799,3802,3825,0,27,28,29,5343,5342,5374,42,3825,3822,3799,0,29,30,27,5374,5375,5343,42,3802,3784,3804,0,28,31,32,5342,5341,5376,42,3804,3825,3802,0,32,29,28,5376,5374,5342,42,3808,3826,3825,0,33,34,29,5377,5378,5374,42,3825,3804,3808,0,29,32,33,5374,5376,5377,42,3826,3823,3822,0,34,35,30,5378,5379,5375,42,3822,3825,3826,0,30,29,34,5375,5374,5378,42,3808,3807,3827,0,0,1,2,5349,5348,5380,42,3827,3828,3808,0,2,3,0,5380,5381,5349,42,3807,3806,3829,0,1,4,5,5348,5347,5382,42,3829,3827,3807,0,5,2,1,5382,5380,5348,42,3830,3831,3827,0,6,7,2,5383,5384,5380,42,3827,3829,3830,0,2,5,6,5380,5382,5383,42,3831,3832,3828,0,7,8,3,5384,5385,5381,42,3828,3827,3831,0,3,2,7,5381,5380,5384,42,3806,3812,3833,0,9,10,11,5355,5354,5386,42,3833,3829,3806,0,11,12,9,5386,5387,5355,42,3812,3811,3834,0,10,13,14,5354,5353,5388,42,3834,3833,3812,0,14,11,10,5388,5386,5354,42,3835,3836,3833,0,15,16,11,5389,5390,5386,42,3833,3834,3835,0,11,14,15,5386,5388,5389,42,3836,3830,3829,0,16,17,12,5390,5391,5387,42,3829,3833,3836,0,12,11,16,5387,5386,5390,42,3811,3816,3837,0,18,19,20,5361,5360,5392,42,3837,3834,3811,0,20,21,18,5392,5393,5361,42,3816,3815,3838,0,19,22,23,5360,5359,5394,42,3838,3837,3816,0,23,20,19,5394,5392,5360,42,3839,3840,3837,0,24,25,20,5395,5396,5392,42,3837,3838,3839,0,20,23,24,5392,5394,5395,42,3840,3835,3834,0,25,26,21,5396,5397,5393,42,3834,3837,3840,0,21,20,25,5393,5392,5396,42,3815,3820,3841,0,9,10,11,5367,5366,5398,42,3841,3838,3815,0,11,12,9,5398,5399,5367,42,3820,3819,3842,0,10,13,14,5366,5365,5400,42,3842,3841,3820,0,14,11,10,5400,5398,5366,42,3843,3844,3841,0,15,16,11,5401,5402,5398,42,3841,3842,3843,0,11,14,15,5398,5400,5401,42,3844,3839,3838,0,16,17,12,5402,5403,5399,42,3838,3841,3844,0,12,11,16,5399,5398,5402,42,3819,3824,3845,0,0,1,2,5373,5372,5404,42,3845,3842,3819,0,2,3,0,5404,5405,5373,42,3824,3823,3846,0,1,4,5,5372,5371,5406,42,3846,3845,3824,0,5,2,1,5406,5404,5372,42,3847,3848,3845,0,6,7,2,5407,5408,5404,42,3845,3846,3847,0,2,5,6,5404,5406,5407,42,3848,3843,3842,0,7,8,3,5408,5409,5405,42,3842,3845,3848,0,3,2,7,5405,5404,5408,42,3823,3826,3849,0,27,28,29,5379,5378,5410,42,3849,3846,3823,0,29,30,27,5410,5411,5379,42,3826,3808,3828,0,28,31,32,5378,5377,5412,42,3828,3849,3826,0,32,29,28,5412,5410,5378,42,3832,3850,3849,0,33,34,29,5413,5414,5410,42,3849,3828,3832,0,29,32,33,5410,5412,5413,42,3850,3847,3846,0,34,35,30,5414,5415,5411,42,3846,3849,3850,0,30,29,34,5411,5410,5414,42,3832,3831,3851,0,0,1,2,5385,5384,5416,42,3851,3852,3832,0,2,3,0,5416,5417,5385,42,3831,3830,3853,0,1,4,5,5384,5383,5418,42,3853,3851,3831,0,5,2,1,5418,5416,5384,42,3854,3855,3851,0,6,7,2,5419,5420,5416,42,3851,3853,3854,0,2,5,6,5416,5418,5419,42,3855,3856,3852,0,7,8,3,5420,5421,5417,42,3852,3851,3855,0,3,2,7,5417,5416,5420,42,3830,3836,3857,0,9,10,11,5391,5390,5422,42,3857,3853,3830,0,11,12,9,5422,5423,5391,42,3836,3835,3858,0,10,13,14,5390,5389,5424,42,3858,3857,3836,0,14,11,10,5424,5422,5390,42,3859,3860,3857,0,15,16,11,5425,5426,5422,42,3857,3858,3859,0,11,14,15,5422,5424,5425,42,3860,3854,3853,0,16,17,12,5426,5427,5423,42,3853,3857,3860,0,12,11,16,5423,5422,5426,42,3835,3840,3861,0,18,19,20,5397,5396,5428,42,3861,3858,3835,0,20,21,18,5428,5429,5397,42,3840,3839,3862,0,19,22,23,5396,5395,5430,42,3862,3861,3840,0,23,20,19,5430,5428,5396,42,3863,3864,3861,0,24,25,20,5431,5432,5428,42,3861,3862,3863,0,20,23,24,5428,5430,5431,42,3864,3859,3858,0,25,26,21,5432,5433,5429,42,3858,3861,3864,0,21,20,25,5429,5428,5432,42,3839,3844,3865,0,9,10,11,5403,5402,5434,42,3865,3862,3839,0,11,12,9,5434,5435,5403,42,3844,3843,3866,0,10,13,14,5402,5401,5436,42,3866,3865,3844,0,14,11,10,5436,5434,5402,42,3867,3868,3865,0,15,16,11,5437,5438,5434,42,3865,3866,3867,0,11,14,15,5434,5436,5437,42,3868,3863,3862,0,16,17,12,5438,5439,5435,42,3862,3865,3868,0,12,11,16,5435,5434,5438,42,3843,3848,3869,0,0,1,2,5409,5408,5440,42,3869,3866,3843,0,2,3,0,5440,5441,5409,42,3848,3847,3870,0,1,4,5,5408,5407,5442,42,3870,3869,3848,0,5,2,1,5442,5440,5408,42,3871,3872,3869,0,6,7,2,5443,5444,5440,42,3869,3870,3871,0,2,5,6,5440,5442,5443,42,3872,3867,3866,0,7,8,3,5444,5445,5441,42,3866,3869,3872,0,3,2,7,5441,5440,5444,42,3847,3850,3873,0,27,28,29,5415,5414,5446,42,3873,3870,3847,0,29,30,27,5446,5447,5415,42,3850,3832,3852,0,28,31,32,5414,5413,5448,42,3852,3873,3850,0,32,29,28,5448,5446,5414,42,3856,3874,3873,0,33,34,29,5449,5450,5446,42,3873,3852,3856,0,29,32,33,5446,5448,5449,42,3874,3871,3870,0,34,35,30,5450,5451,5447,42,3870,3873,3874,0,30,29,34,5447,5446,5450,42,3856,3855,3875,0,0,1,2,5421,5420,5452,42,3875,3876,3856,0,2,3,0,5452,5453,5421,42,3855,3854,3877,0,1,4,5,5420,5419,5454,42,3877,3875,3855,0,5,2,1,5454,5452,5420,42,3878,3879,3875,0,6,7,2,5455,5456,5452,42,3875,3877,3878,0,2,5,6,5452,5454,5455,42,3879,3880,3876,0,7,8,3,5456,5457,5453,42,3876,3875,3879,0,3,2,7,5453,5452,5456,42,3854,3860,3881,0,9,10,11,5427,5426,5458,42,3881,3877,3854,0,11,12,9,5458,5459,5427,42,3860,3859,3882,0,10,13,14,5426,5425,5460,42,3882,3881,3860,0,14,11,10,5460,5458,5426,42,3883,3884,3881,0,15,16,11,5461,5462,5458,42,3881,3882,3883,0,11,14,15,5458,5460,5461,42,3884,3878,3877,0,16,17,12,5462,5463,5459,42,3877,3881,3884,0,12,11,16,5459,5458,5462,42,3859,3864,3885,0,18,19,20,5433,5432,5464,42,3885,3882,3859,0,20,21,18,5464,5465,5433,42,3864,3863,3886,0,19,22,23,5432,5431,5466,42,3886,3885,3864,0,23,20,19,5466,5464,5432,42,3887,3888,3885,0,24,25,20,5467,5468,5464,42,3885,3886,3887,0,20,23,24,5464,5466,5467,42,3888,3883,3882,0,25,26,21,5468,5469,5465,42,3882,3885,3888,0,21,20,25,5465,5464,5468,42,3863,3868,3889,0,9,10,11,5439,5438,5470,42,3889,3886,3863,0,11,12,9,5470,5471,5439,42,3868,3867,3890,0,10,13,14,5438,5437,5472,42,3890,3889,3868,0,14,11,10,5472,5470,5438,42,3891,3892,3889,0,15,16,11,5473,5474,5470,42,3889,3890,3891,0,11,14,15,5470,5472,5473,42,3892,3887,3886,0,16,17,12,5474,5475,5471,42,3886,3889,3892,0,12,11,16,5471,5470,5474,42,3867,3872,3893,0,0,1,2,5445,5444,5476,42,3893,3890,3867,0,2,3,0,5476,5477,5445,42,3872,3871,3894,0,1,4,5,5444,5443,5478,42,3894,3893,3872,0,5,2,1,5478,5476,5444,42,3895,3896,3893,0,6,7,2,5479,5480,5476,42,3893,3894,3895,0,2,5,6,5476,5478,5479,42,3896,3891,3890,0,7,8,3,5480,5481,5477,42,3890,3893,3896,0,3,2,7,5477,5476,5480,42,3871,3874,3897,0,27,28,29,5451,5450,5482,42,3897,3894,3871,0,29,30,27,5482,5483,5451,42,3874,3856,3876,0,28,31,32,5450,5449,5484,42,3876,3897,3874,0,32,29,28,5484,5482,5450,42,3880,3898,3897,0,33,34,29,5485,5486,5482,42,3897,3876,3880,0,29,32,33,5482,5484,5485,42,3898,3895,3894,0,34,35,30,5486,5487,5483,42,3894,3897,3898,0,30,29,34,5483,5482,5486,42,3880,3879,3899,0,0,1,2,5457,5456,5488,42,3899,3900,3880,0,2,3,0,5488,5489,5457,42,3879,3878,3901,0,1,4,5,5456,5455,5490,42,3901,3899,3879,0,5,2,1,5490,5488,5456,42,3902,3903,3899,0,6,7,2,5491,5492,5488,42,3899,3901,3902,0,2,5,6,5488,5490,5491,42,3903,3904,3900,0,7,8,3,5492,5493,5489,42,3900,3899,3903,0,3,2,7,5489,5488,5492,42,3878,3884,3905,0,9,10,11,5463,5462,5494,42,3905,3901,3878,0,11,12,9,5494,5495,5463,42,3884,3883,3906,0,10,13,14,5462,5461,5496,42,3906,3905,3884,0,14,11,10,5496,5494,5462,42,3907,3908,3905,0,15,16,11,5497,5498,5494,42,3905,3906,3907,0,11,14,15,5494,5496,5497,42,3908,3902,3901,0,16,17,12,5498,5499,5495,42,3901,3905,3908,0,12,11,16,5495,5494,5498,42,3883,3888,3909,0,18,19,20,5469,5468,5500,42,3909,3906,3883,0,20,21,18,5500,5501,5469,42,3888,3887,3910,0,19,22,23,5468,5467,5502,42,3910,3909,3888,0,23,20,19,5502,5500,5468,42,3911,3912,3909,0,24,25,20,5503,5504,5500,42,3909,3910,3911,0,20,23,24,5500,5502,5503,42,3912,3907,3906,0,25,26,21,5504,5505,5501,42,3906,3909,3912,0,21,20,25,5501,5500,5504,42,3887,3892,3913,0,9,10,11,5475,5474,5506,42,3913,3910,3887,0,11,12,9,5506,5507,5475,42,3892,3891,3914,0,10,13,14,5474,5473,5508,42,3914,3913,3892,0,14,11,10,5508,5506,5474,42,3915,3916,3913,0,15,16,11,5509,5510,5506,42,3913,3914,3915,0,11,14,15,5506,5508,5509,42,3916,3911,3910,0,16,17,12,5510,5511,5507,42,3910,3913,3916,0,12,11,16,5507,5506,5510,42,3891,3896,3917,0,0,1,2,5481,5480,5512,42,3917,3914,3891,0,2,3,0,5512,5513,5481,42,3896,3895,3918,0,1,4,5,5480,5479,5514,42,3918,3917,3896,0,5,2,1,5514,5512,5480,42,3919,3920,3917,0,6,7,2,5515,5516,5512,42,3917,3918,3919,0,2,5,6,5512,5514,5515,42,3920,3915,3914,0,7,8,3,5516,5517,5513,42,3914,3917,3920,0,3,2,7,5513,5512,5516,42,3895,3898,3921,0,27,28,29,5487,5486,5518,42,3921,3918,3895,0,29,30,27,5518,5519,5487,42,3898,3880,3900,0,28,31,32,5486,5485,5520,42,3900,3921,3898,0,32,29,28,5520,5518,5486,42,3904,3922,3921,0,33,34,29,5521,5522,5518,42,3921,3900,3904,0,29,32,33,5518,5520,5521,42,3922,3919,3918,0,34,35,30,5522,5523,5519,42,3918,3921,3922,0,30,29,34,5519,5518,5522,42,3904,3903,3923,0,0,1,2,5493,5492,5524,42,3923,3924,3904,0,2,3,0,5524,5525,5493,42,3903,3902,3925,0,1,4,5,5492,5491,5526,42,3925,3923,3903,0,5,2,1,5526,5524,5492,42,3926,3927,3923,0,6,7,2,5527,5528,5524,42,3923,3925,3926,0,2,5,6,5524,5526,5527,42,3927,3928,3924,0,7,8,3,5528,5529,5525,42,3924,3923,3927,0,3,2,7,5525,5524,5528,42,3902,3908,3929,0,9,10,11,5499,5498,5530,42,3929,3925,3902,0,11,12,9,5530,5531,5499,42,3908,3907,3930,0,10,13,14,5498,5497,5532,42,3930,3929,3908,0,14,11,10,5532,5530,5498,42,3931,3932,3929,0,15,16,11,5533,5534,5530,42,3929,3930,3931,0,11,14,15,5530,5532,5533,42,3932,3926,3925,0,16,17,12,5534,5535,5531,42,3925,3929,3932,0,12,11,16,5531,5530,5534,42,3907,3912,3933,0,18,19,20,5505,5504,5536,42,3933,3930,3907,0,20,21,18,5536,5537,5505,42,3912,3911,3934,0,19,22,23,5504,5503,5538,42,3934,3933,3912,0,23,20,19,5538,5536,5504,42,3935,3936,3933,0,24,25,20,5539,5540,5536,42,3933,3934,3935,0,20,23,24,5536,5538,5539,42,3936,3931,3930,0,25,26,21,5540,5541,5537,42,3930,3933,3936,0,21,20,25,5537,5536,5540,42,3911,3916,3937,0,9,10,11,5511,5510,5542,42,3937,3934,3911,0,11,12,9,5542,5543,5511,42,3916,3915,3938,0,10,13,14,5510,5509,5544,42,3938,3937,3916,0,14,11,10,5544,5542,5510,42,3939,3940,3937,0,15,16,11,5545,5546,5542,42,3937,3938,3939,0,11,14,15,5542,5544,5545,42,3940,3935,3934,0,16,17,12,5546,5547,5543,42,3934,3937,3940,0,12,11,16,5543,5542,5546,42,3915,3920,3941,0,0,1,2,5517,5516,5548,42,3941,3938,3915,0,2,3,0,5548,5549,5517,42,3920,3919,3942,0,1,4,5,5516,5515,5550,42,3942,3941,3920,0,5,2,1,5550,5548,5516,42,3943,3944,3941,0,6,7,2,5551,5552,5548,42,3941,3942,3943,0,2,5,6,5548,5550,5551,42,3944,3939,3938,0,7,8,3,5552,5553,5549,42,3938,3941,3944,0,3,2,7,5549,5548,5552,42,3919,3922,3945,0,27,28,29,5523,5522,5554,42,3945,3942,3919,0,29,30,27,5554,5555,5523,42,3922,3904,3924,0,28,31,32,5522,5521,5556,42,3924,3945,3922,0,32,29,28,5556,5554,5522,42,3928,3946,3945,0,33,34,29,5557,5558,5554,42,3945,3924,3928,0,29,32,33,5554,5556,5557,42,3946,3943,3942,0,34,35,30,5558,5559,5555,42,3942,3945,3946,0,30,29,34,5555,5554,5558,42,3928,3927,3947,0,0,1,2,5529,5528,5560,42,3947,3948,3928,0,2,3,0,5560,5561,5529,42,3927,3926,3949,0,1,4,5,5528,5527,5562,42,3949,3947,3927,0,5,2,1,5562,5560,5528,42,3950,3951,3947,0,6,7,2,5563,5564,5560,42,3947,3949,3950,0,2,5,6,5560,5562,5563,42,3951,3952,3948,0,7,8,3,5564,5565,5561,42,3948,3947,3951,0,3,2,7,5561,5560,5564,42,3926,3932,3953,0,9,10,11,5535,5534,5566,42,3953,3949,3926,0,11,12,9,5566,5567,5535,42,3932,3931,3954,0,10,13,14,5534,5533,5568,42,3954,3953,3932,0,14,11,10,5568,5566,5534,42,3955,3956,3953,0,15,16,11,5569,5570,5566,42,3953,3954,3955,0,11,14,15,5566,5568,5569,42,3956,3950,3949,0,16,17,12,5570,5571,5567,42,3949,3953,3956,0,12,11,16,5567,5566,5570,42,3931,3936,3957,0,18,19,20,5541,5540,5572,42,3957,3954,3931,0,20,21,18,5572,5573,5541,42,3936,3935,3958,0,19,22,23,5540,5539,5574,42,3958,3957,3936,0,23,20,19,5574,5572,5540,42,3959,3960,3957,0,24,25,20,5575,5576,5572,42,3957,3958,3959,0,20,23,24,5572,5574,5575,42,3960,3955,3954,0,25,26,21,5576,5577,5573,42,3954,3957,3960,0,21,20,25,5573,5572,5576,42,3935,3940,3961,0,9,10,11,5547,5546,5578,42,3961,3958,3935,0,11,12,9,5578,5579,5547,42,3940,3939,3962,0,10,13,14,5546,5545,5580,42,3962,3961,3940,0,14,11,10,5580,5578,5546,42,3963,3964,3961,0,15,16,11,5581,5582,5578,42,3961,3962,3963,0,11,14,15,5578,5580,5581,42,3964,3959,3958,0,16,17,12,5582,5583,5579,42,3958,3961,3964,0,12,11,16,5579,5578,5582,42,3939,3944,3965,0,0,1,2,5553,5552,5584,42,3965,3962,3939,0,2,3,0,5584,5585,5553,42,3944,3943,3966,0,1,4,5,5552,5551,5586,42,3966,3965,3944,0,5,2,1,5586,5584,5552,42,3967,3968,3965,0,6,7,2,5587,5588,5584,42,3965,3966,3967,0,2,5,6,5584,5586,5587,42,3968,3963,3962,0,7,8,3,5588,5589,5585,42,3962,3965,3968,0,3,2,7,5585,5584,5588,42,3943,3946,3969,0,27,28,29,5559,5558,5590,42,3969,3966,3943,0,29,30,27,5590,5591,5559,42,3946,3928,3948,0,28,31,32,5558,5557,5592,42,3948,3969,3946,0,32,29,28,5592,5590,5558,42,3952,3970,3969,0,33,34,29,5593,5594,5590,42,3969,3948,3952,0,29,32,33,5590,5592,5593,42,3970,3967,3966,0,34,35,30,5594,5595,5591,42,3966,3969,3970,0,30,29,34,5591,5590,5594,42,3952,3951,3971,0,0,1,2,5565,5564,5596,42,3971,3972,3952,0,2,3,0,5596,5597,5565,42,3951,3950,3973,0,1,4,5,5564,5563,5598,42,3973,3971,3951,0,5,2,1,5598,5596,5564,42,3974,3975,3971,0,6,7,2,5599,5600,5596,42,3971,3973,3974,0,2,5,6,5596,5598,5599,42,3975,3976,3972,0,7,8,3,5600,5601,5597,42,3972,3971,3975,0,3,2,7,5597,5596,5600,42,3950,3956,3977,0,9,10,11,5571,5570,5602,42,3977,3973,3950,0,11,12,9,5602,5603,5571,42,3956,3955,3978,0,10,13,14,5570,5569,5604,42,3978,3977,3956,0,14,11,10,5604,5602,5570,42,3979,3980,3977,0,15,16,11,5605,5606,5602,42,3977,3978,3979,0,11,14,15,5602,5604,5605,42,3980,3974,3973,0,16,17,12,5606,5607,5603,42,3973,3977,3980,0,12,11,16,5603,5602,5606,42,3955,3960,3981,0,18,19,20,5577,5576,5608,42,3981,3978,3955,0,20,21,18,5608,5609,5577,42,3960,3959,3982,0,19,22,23,5576,5575,5610,42,3982,3981,3960,0,23,20,19,5610,5608,5576,42,3983,3984,3981,0,24,25,20,5611,5612,5608,42,3981,3982,3983,0,20,23,24,5608,5610,5611,42,3984,3979,3978,0,25,26,21,5612,5613,5609,42,3978,3981,3984,0,21,20,25,5609,5608,5612,42,3959,3964,3985,0,9,10,11,5583,5582,5614,42,3985,3982,3959,0,11,12,9,5614,5615,5583,42,3964,3963,3986,0,10,13,14,5582,5581,5616,42,3986,3985,3964,0,14,11,10,5616,5614,5582,42,3987,3988,3985,0,15,16,11,5617,5618,5614,42,3985,3986,3987,0,11,14,15,5614,5616,5617,42,3988,3983,3982,0,16,17,12,5618,5619,5615,42,3982,3985,3988,0,12,11,16,5615,5614,5618,42,3963,3968,3989,0,0,1,2,5589,5588,5620,42,3989,3986,3963,0,2,3,0,5620,5621,5589,42,3968,3967,3990,0,1,4,5,5588,5587,5622,42,3990,3989,3968,0,5,2,1,5622,5620,5588,42,3991,3992,3989,0,6,7,2,5623,5624,5620,42,3989,3990,3991,0,2,5,6,5620,5622,5623,42,3992,3987,3986,0,7,8,3,5624,5625,5621,42,3986,3989,3992,0,3,2,7,5621,5620,5624,42,3967,3970,3993,0,27,28,29,5595,5594,5626,42,3993,3990,3967,0,29,30,27,5626,5627,5595,42,3970,3952,3972,0,28,31,32,5594,5593,5628,42,3972,3993,3970,0,32,29,28,5628,5626,5594,42,3976,3994,3993,0,33,34,29,5629,5630,5626,42,3993,3972,3976,0,29,32,33,5626,5628,5629,42,3994,3991,3990,0,34,35,30,5630,5631,5627,42,3990,3993,3994,0,30,29,34,5627,5626,5630,42,3976,3975,3995,0,0,1,2,5601,5600,5632,42,3995,3996,3976,0,2,3,0,5632,5633,5601,42,3975,3974,3997,0,1,4,5,5600,5599,5634,42,3997,3995,3975,0,5,2,1,5634,5632,5600,42,3998,3999,3995,0,6,7,2,5635,5636,5632,42,3995,3997,3998,0,2,5,6,5632,5634,5635,42,3999,4000,3996,0,7,8,3,5636,5637,5633,42,3996,3995,3999,0,3,2,7,5633,5632,5636,42,3974,3980,4001,0,9,10,11,5607,5606,5638,42,4001,3997,3974,0,11,12,9,5638,5639,5607,42,3980,3979,4002,0,10,13,14,5606,5605,5640,42,4002,4001,3980,0,14,11,10,5640,5638,5606,42,4003,4004,4001,0,15,16,11,5641,5642,5638,42,4001,4002,4003,0,11,14,15,5638,5640,5641,42,4004,3998,3997,0,16,17,12,5642,5643,5639,42,3997,4001,4004,0,12,11,16,5639,5638,5642,42,3979,3984,4005,0,18,19,20,5613,5612,5644,42,4005,4002,3979,0,20,21,18,5644,5645,5613,42,3984,3983,4006,0,19,22,23,5612,5611,5646,42,4006,4005,3984,0,23,20,19,5646,5644,5612,42,4007,4008,4005,0,24,25,20,5647,5648,5644,42,4005,4006,4007,0,20,23,24,5644,5646,5647,42,4008,4003,4002,0,25,26,21,5648,5649,5645,42,4002,4005,4008,0,21,20,25,5645,5644,5648,42,3983,3988,4009,0,9,10,11,5619,5618,5650,42,4009,4006,3983,0,11,12,9,5650,5651,5619,42,3988,3987,4010,0,10,13,14,5618,5617,5652,42,4010,4009,3988,0,14,11,10,5652,5650,5618,42,4011,4012,4009,0,15,16,11,5653,5654,5650,42,4009,4010,4011,0,11,14,15,5650,5652,5653,42,4012,4007,4006,0,16,17,12,5654,5655,5651,42,4006,4009,4012,0,12,11,16,5651,5650,5654,42,3987,3992,4013,0,0,1,2,5625,5624,5656,42,4013,4010,3987,0,2,3,0,5656,5657,5625,42,3992,3991,4014,0,1,4,5,5624,5623,5658,42,4014,4013,3992,0,5,2,1,5658,5656,5624,42,4015,4016,4013,0,6,7,2,5659,5660,5656,42,4013,4014,4015,0,2,5,6,5656,5658,5659,42,4016,4011,4010,0,7,8,3,5660,5661,5657,42,4010,4013,4016,0,3,2,7,5657,5656,5660,42,3991,3994,4017,0,27,28,29,5631,5630,5662,42,4017,4014,3991,0,29,30,27,5662,5663,5631,42,3994,3976,3996,0,28,31,32,5630,5629,5664,42,3996,4017,3994,0,32,29,28,5664,5662,5630,42,4000,4018,4017,0,33,34,29,5665,5666,5662,42,4017,3996,4000,0,29,32,33,5662,5664,5665,42,4018,4015,4014,0,34,35,30,5666,5667,5663,42,4014,4017,4018,0,30,29,34,5663,5662,5666,42,4000,3999,4019,0,0,1,2,5637,5636,5668,42,4019,4020,4000,0,2,3,0,5668,5669,5637,42,3999,3998,4021,0,1,4,5,5636,5635,5670,42,4021,4019,3999,0,5,2,1,5670,5668,5636,42,4022,4023,4019,0,6,7,2,5671,5672,5668,42,4019,4021,4022,0,2,5,6,5668,5670,5671,42,4023,4024,4020,0,7,8,3,5672,5673,5669,42,4020,4019,4023,0,3,2,7,5669,5668,5672,42,3998,4004,4025,0,9,10,11,5643,5642,5674,42,4025,4021,3998,0,11,12,9,5674,5675,5643,42,4004,4003,4026,0,10,13,14,5642,5641,5676,42,4026,4025,4004,0,14,11,10,5676,5674,5642,42,4027,4028,4025,0,15,16,11,5677,5678,5674,42,4025,4026,4027,0,11,14,15,5674,5676,5677,42,4028,4022,4021,0,16,17,12,5678,5679,5675,42,4021,4025,4028,0,12,11,16,5675,5674,5678,42,4003,4008,4029,0,18,19,20,5649,5648,5680,42,4029,4026,4003,0,20,21,18,5680,5681,5649,42,4008,4007,4030,0,19,22,23,5648,5647,5682,42,4030,4029,4008,0,23,20,19,5682,5680,5648,42,4031,4032,4029,0,24,25,20,5683,5684,5680,42,4029,4030,4031,0,20,23,24,5680,5682,5683,42,4032,4027,4026,0,25,26,21,5684,5685,5681,42,4026,4029,4032,0,21,20,25,5681,5680,5684,42,4007,4012,4033,0,9,10,11,5655,5654,5686,42,4033,4030,4007,0,11,12,9,5686,5687,5655,42,4012,4011,4034,0,10,13,14,5654,5653,5688,42,4034,4033,4012,0,14,11,10,5688,5686,5654,42,4035,4036,4033,0,15,16,11,5689,5690,5686,42,4033,4034,4035,0,11,14,15,5686,5688,5689,42,4036,4031,4030,0,16,17,12,5690,5691,5687,42,4030,4033,4036,0,12,11,16,5687,5686,5690,42,4011,4016,4037,0,0,1,2,5661,5660,5692,42,4037,4034,4011,0,2,3,0,5692,5693,5661,42,4016,4015,4038,0,1,4,5,5660,5659,5694,42,4038,4037,4016,0,5,2,1,5694,5692,5660,42,4039,4040,4037,0,6,7,2,5695,5696,5692,42,4037,4038,4039,0,2,5,6,5692,5694,5695,42,4040,4035,4034,0,7,8,3,5696,5697,5693,42,4034,4037,4040,0,3,2,7,5693,5692,5696,42,4015,4018,4041,0,27,28,29,5667,5666,5698,42,4041,4038,4015,0,29,30,27,5698,5699,5667,42,4018,4000,4020,0,28,31,32,5666,5665,5700,42,4020,4041,4018,0,32,29,28,5700,5698,5666,42,4024,4042,4041,0,33,34,29,5701,5702,5698,42,4041,4020,4024,0,29,32,33,5698,5700,5701,42,4042,4039,4038,0,34,35,30,5702,5703,5699,42,4038,4041,4042,0,30,29,34,5699,5698,5702,42,4024,4023,4043,0,0,1,2,5673,5672,5704,42,4043,4044,4024,0,2,3,0,5704,5705,5673,42,4023,4022,4045,0,1,4,5,5672,5671,5706,42,4045,4043,4023,0,5,2,1,5706,5704,5672,42,4046,4047,4043,0,6,7,2,5707,5708,5704,42,4043,4045,4046,0,2,5,6,5704,5706,5707,42,4047,4048,4044,0,7,8,3,5708,5709,5705,42,4044,4043,4047,0,3,2,7,5705,5704,5708,42,4022,4028,4049,0,9,10,11,5679,5678,5710,42,4049,4045,4022,0,11,12,9,5710,5711,5679,42,4028,4027,4050,0,10,13,14,5678,5677,5712,42,4050,4049,4028,0,14,11,10,5712,5710,5678,42,4051,4052,4049,0,15,16,11,5713,5714,5710,42,4049,4050,4051,0,11,14,15,5710,5712,5713,42,4052,4046,4045,0,16,17,12,5714,5715,5711,42,4045,4049,4052,0,12,11,16,5711,5710,5714,42,4027,4032,4053,0,18,19,20,5685,5684,5716,42,4053,4050,4027,0,20,21,18,5716,5717,5685,42,4032,4031,4054,0,19,22,23,5684,5683,5718,42,4054,4053,4032,0,23,20,19,5718,5716,5684,42,4055,4056,4053,0,24,25,20,5719,5720,5716,42,4053,4054,4055,0,20,23,24,5716,5718,5719,42,4056,4051,4050,0,25,26,21,5720,5721,5717,42,4050,4053,4056,0,21,20,25,5717,5716,5720,42,4031,4036,4057,0,9,10,11,5691,5690,5722,42,4057,4054,4031,0,11,12,9,5722,5723,5691,42,4036,4035,4058,0,10,13,14,5690,5689,5724,42,4058,4057,4036,0,14,11,10,5724,5722,5690,42,4059,4060,4057,0,15,16,11,5725,5726,5722,42,4057,4058,4059,0,11,14,15,5722,5724,5725,42,4060,4055,4054,0,16,17,12,5726,5727,5723,42,4054,4057,4060,0,12,11,16,5723,5722,5726,42,4035,4040,4061,0,0,1,2,5697,5696,5728,42,4061,4058,4035,0,2,3,0,5728,5729,5697,42,4040,4039,4062,0,1,4,5,5696,5695,5730,42,4062,4061,4040,0,5,2,1,5730,5728,5696,42,4063,4064,4061,0,6,7,2,5731,5732,5728,42,4061,4062,4063,0,2,5,6,5728,5730,5731,42,4064,4059,4058,0,7,8,3,5732,5733,5729,42,4058,4061,4064,0,3,2,7,5729,5728,5732,42,4039,4042,4065,0,27,28,29,5703,5702,5734,42,4065,4062,4039,0,29,30,27,5734,5735,5703,42,4042,4024,4044,0,28,31,32,5702,5701,5736,42,4044,4065,4042,0,32,29,28,5736,5734,5702,42,4048,4066,4065,0,33,34,29,5737,5738,5734,42,4065,4044,4048,0,29,32,33,5734,5736,5737,42,4066,4063,4062,0,34,35,30,5738,5739,5735,42,4062,4065,4066,0,30,29,34,5735,5734,5738,42,4048,4047,4067,0,0,1,2,5709,5708,5740,42,4067,4068,4048,0,2,3,0,5740,5741,5709,42,4047,4046,4069,0,1,4,5,5708,5707,5742,42,4069,4067,4047,0,5,2,1,5742,5740,5708,42,4070,4071,4067,0,6,7,2,5743,5744,5740,42,4067,4069,4070,0,2,5,6,5740,5742,5743,42,4071,4072,4068,0,7,8,3,5744,5745,5741,42,4068,4067,4071,0,3,2,7,5741,5740,5744,42,4046,4052,4073,0,9,10,11,5715,5714,5746,42,4073,4069,4046,0,11,12,9,5746,5747,5715,42,4052,4051,4074,0,10,13,14,5714,5713,5748,42,4074,4073,4052,0,14,11,10,5748,5746,5714,42,4075,4076,4073,0,15,16,11,5749,5750,5746,42,4073,4074,4075,0,11,14,15,5746,5748,5749,42,4076,4070,4069,0,16,17,12,5750,5751,5747,42,4069,4073,4076,0,12,11,16,5747,5746,5750,42,4051,4056,4077,0,18,19,20,5721,5720,5752,42,4077,4074,4051,0,20,21,18,5752,5753,5721,42,4056,4055,4078,0,19,22,23,5720,5719,5754,42,4078,4077,4056,0,23,20,19,5754,5752,5720,42,4079,4080,4077,0,24,25,20,5755,5756,5752,42,4077,4078,4079,0,20,23,24,5752,5754,5755,42,4080,4075,4074,0,25,26,21,5756,5757,5753,42,4074,4077,4080,0,21,20,25,5753,5752,5756,42,4055,4060,4081,0,9,10,11,5727,5726,5758,42,4081,4078,4055,0,11,12,9,5758,5759,5727,42,4060,4059,4082,0,10,13,14,5726,5725,5760,42,4082,4081,4060,0,14,11,10,5760,5758,5726,42,4083,4084,4081,0,15,16,11,5761,5762,5758,42,4081,4082,4083,0,11,14,15,5758,5760,5761,42,4084,4079,4078,0,16,17,12,5762,5763,5759,42,4078,4081,4084,0,12,11,16,5759,5758,5762,42,4059,4064,4085,0,0,1,2,5733,5732,5764,42,4085,4082,4059,0,2,3,0,5764,5765,5733,42,4064,4063,4086,0,1,4,5,5732,5731,5766,42,4086,4085,4064,0,5,2,1,5766,5764,5732,42,4087,4088,4085,0,6,7,2,5767,5768,5764,42,4085,4086,4087,0,2,5,6,5764,5766,5767,42,4088,4083,4082,0,7,8,3,5768,5769,5765,42,4082,4085,4088,0,3,2,7,5765,5764,5768,42,4063,4066,4089,0,27,28,29,5739,5738,5770,42,4089,4086,4063,0,29,30,27,5770,5771,5739,42,4066,4048,4068,0,28,31,32,5738,5737,5772,42,4068,4089,4066,0,32,29,28,5772,5770,5738,42,4072,4090,4089,0,33,34,29,5773,5774,5770,42,4089,4068,4072,0,29,32,33,5770,5772,5773,42,4090,4087,4086,0,34,35,30,5774,5775,5771,42,4086,4089,4090,0,30,29,34,5771,5770,5774,42,4072,4071,4091,0,0,1,2,5745,5744,5776,42,4091,4092,4072,0,2,3,0,5776,5777,5745,42,4071,4070,4093,0,1,4,5,5744,5743,5778,42,4093,4091,4071,0,5,2,1,5778,5776,5744,42,4094,4095,4091,0,6,7,2,5779,5780,5776,42,4091,4093,4094,0,2,5,6,5776,5778,5779,42,4095,4096,4092,0,7,8,3,5780,5781,5777,42,4092,4091,4095,0,3,2,7,5777,5776,5780,42,4070,4076,4097,0,9,10,11,5751,5750,5782,42,4097,4093,4070,0,11,12,9,5782,5783,5751,42,4076,4075,4098,0,10,13,14,5750,5749,5784,42,4098,4097,4076,0,14,11,10,5784,5782,5750,42,4099,4100,4097,0,15,16,11,5785,5786,5782,42,4097,4098,4099,0,11,14,15,5782,5784,5785,42,4100,4094,4093,0,16,17,12,5786,5787,5783,42,4093,4097,4100,0,12,11,16,5783,5782,5786,42,4075,4080,4101,0,18,19,20,5757,5756,5788,42,4101,4098,4075,0,20,21,18,5788,5789,5757,42,4080,4079,4102,0,19,22,23,5756,5755,5790,42,4102,4101,4080,0,23,20,19,5790,5788,5756,42,4103,4104,4101,0,24,25,20,5791,5792,5788,42,4101,4102,4103,0,20,23,24,5788,5790,5791,42,4104,4099,4098,0,25,26,21,5792,5793,5789,42,4098,4101,4104,0,21,20,25,5789,5788,5792,42,4079,4084,4105,0,9,10,11,5763,5762,5794,42,4105,4102,4079,0,11,12,9,5794,5795,5763,42,4084,4083,4106,0,10,13,14,5762,5761,5796,42,4106,4105,4084,0,14,11,10,5796,5794,5762,42,4107,4108,4105,0,15,16,11,5797,5798,5794,42,4105,4106,4107,0,11,14,15,5794,5796,5797,42,4108,4103,4102,0,16,17,12,5798,5799,5795,42,4102,4105,4108,0,12,11,16,5795,5794,5798,42,4083,4088,4109,0,0,1,2,5769,5768,5800,42,4109,4106,4083,0,2,3,0,5800,5801,5769,42,4088,4087,4110,0,1,4,5,5768,5767,5802,42,4110,4109,4088,0,5,2,1,5802,5800,5768,42,4111,4112,4109,0,6,7,2,5803,5804,5800,42,4109,4110,4111,0,2,5,6,5800,5802,5803,42,4112,4107,4106,0,7,8,3,5804,5805,5801,42,4106,4109,4112,0,3,2,7,5801,5800,5804,42,4087,4090,4113,0,27,28,29,5775,5774,5806,42,4113,4110,4087,0,29,30,27,5806,5807,5775,42,4090,4072,4092,0,28,31,32,5774,5773,5808,42,4092,4113,4090,0,32,29,28,5808,5806,5774,42,4096,4114,4113,0,33,34,29,5809,5810,5806,42,4113,4092,4096,0,29,32,33,5806,5808,5809,42,4114,4111,4110,0,34,35,30,5810,5811,5807,42,4110,4113,4114,0,30,29,34,5807,5806,5810,42,4096,4095,4115,0,0,1,2,5781,5780,5812,42,4115,4116,4096,0,2,3,0,5812,5813,5781,42,4095,4094,4117,0,1,4,5,5780,5779,5814,42,4117,4115,4095,0,5,2,1,5814,5812,5780,42,4118,4119,4115,0,6,7,2,5815,5816,5812,42,4115,4117,4118,0,2,5,6,5812,5814,5815,42,4119,4120,4116,0,7,8,3,5816,5817,5813,42,4116,4115,4119,0,3,2,7,5813,5812,5816,42,4094,4100,4121,0,9,10,11,5787,5786,5818,42,4121,4117,4094,0,11,12,9,5818,5819,5787,42,4100,4099,4122,0,10,13,14,5786,5785,5820,42,4122,4121,4100,0,14,11,10,5820,5818,5786,42,4123,4124,4121,0,15,16,11,5821,5822,5818,42,4121,4122,4123,0,11,14,15,5818,5820,5821,42,4124,4118,4117,0,16,17,12,5822,5823,5819,42,4117,4121,4124,0,12,11,16,5819,5818,5822,42,4099,4104,4125,0,18,19,20,5793,5792,5824,42,4125,4122,4099,0,20,21,18,5824,5825,5793,42,4104,4103,4126,0,19,22,23,5792,5791,5826,42,4126,4125,4104,0,23,20,19,5826,5824,5792,42,4127,4128,4125,0,24,25,20,5827,5828,5824,42,4125,4126,4127,0,20,23,24,5824,5826,5827,42,4128,4123,4122,0,25,26,21,5828,5829,5825,42,4122,4125,4128,0,21,20,25,5825,5824,5828,42,4107,4112,4129,0,0,1,2,5805,5804,5830,42,4129,4130,4107,0,2,3,0,5830,5831,5805,42,4112,4111,4131,0,1,4,5,5804,5803,5832,42,4131,4129,4112,0,5,2,1,5832,5830,5804,42,4132,4133,4129,0,6,7,2,5833,5834,5830,42,4129,4131,4132,0,2,5,6,5830,5832,5833,42,4133,4134,4130,0,7,8,3,5834,5835,5831,42,4130,4129,4133,0,3,2,7,5831,5830,5834,42,4111,4114,4135,0,27,28,29,5811,5810,5836,42,4135,4131,4111,0,29,30,27,5836,5837,5811,42,4114,4096,4116,0,28,31,32,5810,5809,5838,42,4116,4135,4114,0,32,29,28,5838,5836,5810,42,4120,4136,4135,0,33,34,29,5839,5840,5836,42,4135,4116,4120,0,29,32,33,5836,5838,5839,42,4136,4132,4131,0,34,35,30,5840,5841,5837,42,4131,4135,4136,0,30,29,34,5837,5836,5840,42,4120,4119,4137,0,0,1,2,5817,5816,5842,42,4137,4138,4120,0,2,3,0,5842,5843,5817,42,4119,4118,4139,0,1,4,5,5816,5815,5844,42,4139,4137,4119,0,5,2,1,5844,5842,5816,42,4140,4141,4137,0,6,7,2,5845,5846,5842,42,4137,4139,4140,0,2,5,6,5842,5844,5845,42,4141,4142,4138,0,7,8,3,5846,5847,5843,42,4138,4137,4141,0,3,2,7,5843,5842,5846,42,4118,4124,4143,0,9,10,11,5823,5822,5848,42,4143,4139,4118,0,11,12,9,5848,5849,5823,42,4124,4123,4144,0,10,13,14,5822,5821,5850,42,4144,4143,4124,0,14,11,10,5850,5848,5822,42,4145,4146,4143,0,15,16,11,5851,5852,5848,42,4143,4144,4145,0,11,14,15,5848,5850,5851,42,4146,4140,4139,0,16,17,12,5852,5853,5849,42,4139,4143,4146,0,12,11,16,5849,5848,5852,42,4123,4128,4147,0,18,19,20,5829,5828,5854,42,4147,4144,4123,0,20,21,18,5854,5855,5829,42,4128,4127,4148,0,19,22,23,5828,5827,5856,42,4148,4147,4128,0,23,20,19,5856,5854,5828,42,4149,4150,4147,0,24,25,20,5857,5857,5854,42,4147,4148,4149,0,20,23,24,5854,5856,5857,42,4150,4145,4144,0,25,26,21,5857,5857,5855,42,4144,4147,4150,0,21,20,25,5855,5854,5857,42,4127,4151,4152,0,9,10,11,5858,5859,5860,42,4152,4148,4127,0,11,12,9,5860,5861,5858,42,4151,4134,4153,0,10,13,14,5859,5862,5863,42,4153,4152,4151,0,14,11,10,5863,5860,5859,42,4154,4155,4152,0,15,16,11,5864,5865,5860,42,4152,4153,4154,0,11,14,15,5860,5863,5864,42,4155,4149,4148,0,16,17,12,5865,5866,5861,42,4148,4152,4155,0,12,11,16,5861,5860,5865,42,4134,4133,4156,0,0,1,2,5835,5834,5867,42,4156,4153,4134,0,2,3,0,5867,5868,5835,42,4133,4132,4157,0,1,4,5,5834,5833,5869,42,4157,4156,4133,0,5,2,1,5869,5867,5834,42,4158,4159,4156,0,6,7,2,5870,5871,5867,42,4156,4157,4158,0,2,5,6,5867,5869,5870,42,4159,4154,4153,0,7,8,3,5871,5872,5868,42,4153,4156,4159,0,3,2,7,5868,5867,5871,42,4132,4136,4160,0,27,28,29,5841,5840,5873,42,4160,4157,4132,0,29,30,27,5873,5874,5841,42,4136,4120,4138,0,28,31,32,5840,5839,5875,42,4138,4160,4136,0,32,29,28,5875,5873,5840,42,4142,4161,4160,0,33,34,29,5876,5876,5873,42,4160,4138,4142,0,29,32,33,5873,5875,5876,42,4161,4158,4157,0,34,35,30,5876,5876,5874,42,4157,4160,4161,0,30,29,34,5874,5873,5876,42,4142,4141,4162,0,0,1,2,5847,5846,5877,42,4162,4163,4142,0,2,3,0,5877,5878,5847,42,4141,4140,4164,0,1,4,5,5846,5845,5879,42,4164,4162,4141,0,5,2,1,5879,5877,5846,42,4165,4166,4162,0,6,7,2,5880,5881,5877,42,4162,4164,4165,0,2,5,6,5877,5879,5880,42,4166,4167,4163,0,7,8,3,5881,5882,5878,42,4163,4162,4166,0,3,2,7,5878,5877,5881,42,4140,4146,4168,0,9,10,11,5853,5852,5883,42,4168,4164,4140,0,11,12,9,5883,5884,5853,42,4146,4145,4169,0,10,13,14,5852,5851,5885,42,4169,4168,4146,0,14,11,10,5885,5883,5852,42,4170,4171,4168,0,15,16,11,5886,5887,5883,42,4168,4169,4170,0,11,14,15,5883,5885,5886,42,4171,4165,4164,0,16,17,12,5887,5888,5884,42,4164,4168,4171,0,12,11,16,5884,5883,5887,42,4145,4150,4172,0,18,19,20,5857,5857,5889,42,4172,4169,4145,0,20,21,18,5889,5889,5857,42,4150,4149,4173,0,19,22,23,5857,5857,5889,42,4173,4172,4150,0,23,20,19,5889,5889,5857,42,4174,4175,4172,0,24,25,20,5890,5890,5889,42,4172,4173,4174,0,20,23,24,5889,5889,5890,42,4175,4170,4169,0,25,26,21,5890,5890,5889,42,4169,4172,4175,0,21,20,25,5889,5889,5890,42,4149,4155,4176,0,9,10,11,5866,5865,5891,42,4176,4173,4149,0,11,12,9,5891,5892,5866,42,4155,4154,4177,0,10,13,14,5865,5864,5893,42,4177,4176,4155,0,14,11,10,5893,5891,5865,42,4178,4179,4176,0,15,16,11,5894,5895,5891,42,4176,4177,4178,0,11,14,15,5891,5893,5894,42,4179,4174,4173,0,16,17,12,5895,5896,5892,42,4173,4176,4179,0,12,11,16,5892,5891,5895,42,4154,4159,4180,0,0,1,2,5872,5871,5897,42,4180,4177,4154,0,2,3,0,5897,5898,5872,42,4159,4158,4181,0,1,4,5,5871,5870,5899,42,4181,4180,4159,0,5,2,1,5899,5897,5871,42,4182,4183,4180,0,6,7,2,5900,5901,5897,42,4180,4181,4182,0,2,5,6,5897,5899,5900,42,4183,4178,4177,0,7,8,3,5901,5902,5898,42,4177,4180,4183,0,3,2,7,5898,5897,5901,42,4158,4161,4184,0,27,28,29,5876,5876,5903,42,4184,4181,4158,0,29,30,27,5903,5903,5876,42,4161,4142,4163,0,28,31,32,5876,5876,5903,42,4163,4184,4161,0,32,29,28,5903,5903,5876,42,4167,4185,4184,0,33,34,29,5904,5904,5903,42,4184,4163,4167,0,29,32,33,5903,5903,5904,42,4185,4182,4181,0,34,35,30,5904,5904,5903,42,4181,4184,4185,0,30,29,34,5903,5903,5904,42,4167,4166,4186,0,0,1,2,5882,5881,5905,42,4186,4187,4167,0,2,3,0,5905,5906,5882,42,4166,4165,4188,0,1,4,5,5881,5880,5907,42,4188,4186,4166,0,5,2,1,5907,5905,5881,42,4189,4190,4186,0,6,7,2,5908,5909,5905,42,4186,4188,4189,0,2,5,6,5905,5907,5908,42,4190,4191,4187,0,7,8,3,5909,5910,5906,42,4187,4186,4190,0,3,2,7,5906,5905,5909,42,4165,4171,4192,0,9,10,11,5888,5887,5911,42,4192,4188,4165,0,11,12,9,5911,5912,5888,42,4171,4170,4193,0,10,13,14,5887,5886,5913,42,4193,4192,4171,0,14,11,10,5913,5911,5887,42,4194,4195,4192,0,15,16,11,5914,5915,5911,42,4192,4193,4194,0,11,14,15,5911,5913,5914,42,4195,4189,4188,0,16,17,12,5915,5916,5912,42,4188,4192,4195,0,12,11,16,5912,5911,5915,42,4170,4175,4196,0,18,19,20,5890,5890,5917,42,4196,4193,4170,0,20,21,18,5917,5917,5890,42,4175,4174,4197,0,19,22,23,5890,5890,5917,42,4197,4196,4175,0,23,20,19,5917,5917,5890,42,4198,4199,4196,0,24,25,20,5918,5918,5917,42,4196,4197,4198,0,20,23,24,5917,5917,5918,42,4199,4194,4193,0,25,26,21,5918,5918,5917,42,4193,4196,4199,0,21,20,25,5917,5917,5918,42,4174,4179,4200,0,9,10,11,5896,5895,5919,42,4200,4197,4174,0,11,12,9,5919,5920,5896,42,4179,4178,4201,0,10,13,14,5895,5894,5921,42,4201,4200,4179,0,14,11,10,5921,5919,5895,42,4202,4203,4200,0,15,16,11,5922,5923,5919,42,4200,4201,4202,0,11,14,15,5919,5921,5922,42,4203,4198,4197,0,16,17,12,5923,5924,5920,42,4197,4200,4203,0,12,11,16,5920,5919,5923,42,4178,4183,4204,0,0,1,2,5902,5901,5925,42,4204,4201,4178,0,2,3,0,5925,5926,5902,42,4183,4182,4205,0,1,4,5,5901,5900,5927,42,4205,4204,4183,0,5,2,1,5927,5925,5901,42,4206,4207,4204,0,6,7,2,5928,5929,5925,42,4204,4205,4206,0,2,5,6,5925,5927,5928,42,4207,4202,4201,0,7,8,3,5929,5930,5926,42,4201,4204,4207,0,3,2,7,5926,5925,5929,42,4182,4185,4208,0,27,28,29,5904,5904,5931,42,4208,4205,4182,0,29,30,27,5931,5931,5904,42,4185,4167,4187,0,28,31,32,5904,5904,5931,42,4187,4208,4185,0,32,29,28,5931,5931,5904,42,4191,4209,4208,0,33,34,29,5932,5932,5931,42,4208,4187,4191,0,29,32,33,5931,5931,5932,42,4209,4206,4205,0,34,35,30,5932,5932,5931,42,4205,4208,4209,0,30,29,34,5931,5931,5932,42,4191,4190,4210,0,0,1,2,5910,5909,5933,42,4210,4211,4191,0,2,3,0,5933,5934,5910,42,4190,4189,4212,0,1,4,5,5909,5908,5935,42,4212,4210,4190,0,5,2,1,5935,5933,5909,42,4213,4214,4210,0,6,7,2,5936,5937,5933,42,4210,4212,4213,0,2,5,6,5933,5935,5936,42,4214,4215,4211,0,7,8,3,5937,5938,5934,42,4211,4210,4214,0,3,2,7,5934,5933,5937,42,4189,4195,4216,0,9,10,11,5916,5915,5939,42,4216,4212,4189,0,11,12,9,5939,5940,5916,42,4195,4194,4217,0,10,13,14,5915,5914,5941,42,4217,4216,4195,0,14,11,10,5941,5939,5915,42,4218,4219,4216,0,15,16,11,5942,5943,5939,42,4216,4217,4218,0,11,14,15,5939,5941,5942,42,4219,4213,4212,0,16,17,12,5943,5944,5940,42,4212,4216,4219,0,12,11,16,5940,5939,5943,42,4194,4199,4220,0,18,19,20,5918,5918,5945,42,4220,4217,4194,0,20,21,18,5945,5945,5918,42,4199,4198,4221,0,19,22,23,5918,5918,5945,42,4221,4220,4199,0,23,20,19,5945,5945,5918,42,4222,4223,4220,0,24,25,20,5946,5946,5945,42,4220,4221,4222,0,20,23,24,5945,5945,5946,42,4223,4218,4217,0,25,26,21,5946,5946,5945,42,4217,4220,4223,0,21,20,25,5945,5945,5946,42,4198,4203,4224,0,9,10,11,5924,5923,5947,42,4224,4221,4198,0,11,12,9,5947,5948,5924,42,4203,4202,4225,0,10,13,14,5923,5922,5949,42,4225,4224,4203,0,14,11,10,5949,5947,5923,42,4226,4227,4224,0,15,16,11,5950,5951,5947,42,4224,4225,4226,0,11,14,15,5947,5949,5950,42,4227,4222,4221,0,16,17,12,5951,5952,5948,42,4221,4224,4227,0,12,11,16,5948,5947,5951,42,4202,4207,4228,0,0,1,2,5930,5929,5953,42,4228,4225,4202,0,2,3,0,5953,5954,5930,42,4207,4206,4229,0,1,4,5,5929,5928,5955,42,4229,4228,4207,0,5,2,1,5955,5953,5929,42,4230,4231,4228,0,6,7,2,5956,5957,5953,42,4228,4229,4230,0,2,5,6,5953,5955,5956,42,4231,4226,4225,0,7,8,3,5957,5958,5954,42,4225,4228,4231,0,3,2,7,5954,5953,5957,42,4206,4209,4232,0,27,28,29,5932,5932,5959,42,4232,4229,4206,0,29,30,27,5959,5959,5932,42,4209,4191,4211,0,28,31,32,5932,5932,5959,42,4211,4232,4209,0,32,29,28,5959,5959,5932,42,4215,4233,4232,0,33,34,29,5960,5960,5959,42,4232,4211,4215,0,29,32,33,5959,5959,5960,42,4233,4230,4229,0,34,35,30,5960,5960,5959,42,4229,4232,4233,0,30,29,34,5959,5959,5960,42,4215,4214,4234,0,0,1,2,5938,5937,5961,42,4234,4235,4215,0,2,3,0,5961,5962,5938,42,4214,4213,4236,0,1,4,5,5937,5936,5963,42,4236,4234,4214,0,5,2,1,5963,5961,5937,42,4237,4238,4234,0,6,7,2,5964,5965,5961,42,4234,4236,4237,0,2,5,6,5961,5963,5964,42,4238,4239,4235,0,7,8,3,5965,5966,5962,42,4235,4234,4238,0,3,2,7,5962,5961,5965,42,4213,4219,4240,0,9,10,11,5944,5943,5967,42,4240,4236,4213,0,11,12,9,5967,5967,5944,42,4219,4218,4241,0,10,13,14,5943,5942,5968,42,4241,4240,4219,0,14,11,10,5968,5967,5943,42,4242,4243,4240,0,15,16,11,5969,5970,5967,42,4240,4241,4242,0,11,14,15,5967,5968,5969,42,4243,4237,4236,0,16,17,12,5970,5971,5967,42,4236,4240,4243,0,12,11,16,5967,5967,5970,42,4218,4223,4244,0,18,19,20,5946,5946,5972,42,4244,4241,4218,0,20,21,18,5972,5972,5946,42,4223,4222,4245,0,19,22,23,5946,5946,5972,42,4245,4244,4223,0,23,20,19,5972,5972,5946,42,4246,4247,4244,0,24,25,20,5973,5973,5972,42,4244,4245,4246,0,20,23,24,5972,5972,5973,42,4247,4242,4241,0,25,26,21,5973,5973,5972,42,4241,4244,4247,0,21,20,25,5972,5972,5973,42,4222,4227,4248,0,9,10,11,5952,5951,5974,42,4248,4245,4222,0,11,12,9,5974,5975,5952,42,4227,4226,4249,0,10,13,14,5951,5950,5976,42,4249,4248,4227,0,14,11,10,5976,5974,5951,42,4250,4251,4248,0,15,16,11,5977,5978,5974,42,4248,4249,4250,0,11,14,15,5974,5976,5977,42,4251,4246,4245,0,16,17,12,5978,5979,5975,42,4245,4248,4251,0,12,11,16,5975,5974,5978,42,4226,4231,4252,0,0,1,2,5958,5957,5980,42,4252,4249,4226,0,2,3,0,5980,5981,5958,42,4231,4230,4253,0,1,4,5,5957,5956,5982,42,4253,4252,4231,0,5,2,1,5982,5980,5957,42,4254,4255,4252,0,6,7,2,5983,5984,5980,42,4252,4253,4254,0,2,5,6,5980,5982,5983,42,4255,4250,4249,0,7,8,3,5984,5985,5981,42,4249,4252,4255,0,3,2,7,5981,5980,5984,42,4230,4233,4256,0,27,28,29,5960,5960,5986,42,4256,4253,4230,0,29,30,27,5986,5986,5960,42,4233,4215,4235,0,28,31,32,5960,5960,5986,42,4235,4256,4233,0,32,29,28,5986,5986,5960,42,4239,4257,4256,0,33,34,29,5987,5987,5986,42,4256,4235,4239,0,29,32,33,5986,5986,5987,42,4257,4254,4253,0,34,35,30,5987,5987,5986,42,4253,4256,4257,0,30,29,34,5986,5986,5987,42,4239,4238,4258,0,0,1,2,5966,5965,5988,42,4258,4259,4239,0,2,3,0,5988,5989,5966,42,4238,4237,4260,0,1,4,5,5965,5964,5990,42,4260,4258,4238,0,5,2,1,5990,5988,5965,42,4261,4262,4258,0,6,7,2,5991,5992,5988,42,4258,4260,4261,0,2,5,6,5988,5990,5991,42,4262,4263,4259,0,7,8,3,5992,5993,5989,42,4259,4258,4262,0,3,2,7,5989,5988,5992,42,4237,4243,4264,0,9,10,11,5971,5970,5994,42,4264,4260,4237,0,11,12,9,5994,5995,5971,42,4243,4242,4265,0,10,13,14,5970,5969,5996,42,4265,4264,4243,0,14,11,10,5996,5994,5970,42,4266,4267,4264,0,15,16,11,5997,5998,5994,42,4264,4265,4266,0,11,14,15,5994,5996,5997,42,4267,4261,4260,0,16,17,12,5998,5999,5995,42,4260,4264,4267,0,12,11,16,5995,5994,5998,42,4242,4247,4268,0,18,19,20,5973,5973,6000,42,4268,4265,4242,0,20,21,18,6000,6000,5973,42,4247,4246,4269,0,19,22,23,5973,5973,6000,42,4269,4268,4247,0,23,20,19,6000,6000,5973,42,4270,4271,4268,0,24,25,20,6001,6001,6000,42,4268,4269,4270,0,20,23,24,6000,6000,6001,42,4271,4266,4265,0,25,26,21,6001,6001,6000,42,4265,4268,4271,0,21,20,25,6000,6000,6001,42,4246,4251,4272,0,9,10,11,5979,5978,6002,42,4272,4269,4246,0,11,12,9,6002,6003,5979,42,4251,4250,4273,0,10,13,14,5978,5977,6004,42,4273,4272,4251,0,14,11,10,6004,6002,5978,42,4274,4275,4272,0,15,16,11,6005,6006,6002,42,4272,4273,4274,0,11,14,15,6002,6004,6005,42,4275,4270,4269,0,16,17,12,6006,6007,6003,42,4269,4272,4275,0,12,11,16,6003,6002,6006,42,4250,4255,4276,0,0,1,2,5985,5984,6008,42,4276,4273,4250,0,2,3,0,6008,6009,5985,42,4255,4254,4277,0,1,4,5,5984,5983,6010,42,4277,4276,4255,0,5,2,1,6010,6008,5984,42,4278,4279,4276,0,6,7,2,6011,6012,6008,42,4276,4277,4278,0,2,5,6,6008,6010,6011,42,4279,4274,4273,0,7,8,3,6012,6013,6009,42,4273,4276,4279,0,3,2,7,6009,6008,6012,42,4254,4257,4280,0,27,28,29,5987,5987,6014,42,4280,4277,4254,0,29,30,27,6014,6014,5987,42,4257,4239,4259,0,28,31,32,5987,5987,6014,42,4259,4280,4257,0,32,29,28,6014,6014,5987,42,4263,4281,4280,0,33,34,29,6015,6015,6014,42,4280,4259,4263,0,29,32,33,6014,6014,6015,42,4281,4278,4277,0,34,35,30,6015,6015,6014,42,4277,4280,4281,0,30,29,34,6014,6014,6015,42,4263,4262,4282,0,0,1,2,5993,5992,6016,42,4282,4283,4263,0,2,3,0,6016,6017,5993,42,4262,4261,4284,0,1,4,5,5992,5991,6018,42,4284,4282,4262,0,5,2,1,6018,6016,5992,42,4285,4286,4282,0,6,7,2,6019,6020,6016,42,4282,4284,4285,0,2,5,6,6016,6018,6019,42,4286,4287,4283,0,7,8,3,6020,6021,6017,42,4283,4282,4286,0,3,2,7,6017,6016,6020,42,4261,4267,4288,0,9,10,11,5999,5998,6022,42,4288,4284,4261,0,11,12,9,6022,6023,5999,42,4267,4266,4289,0,10,13,14,5998,5997,6024,42,4289,4288,4267,0,14,11,10,6024,6022,5998,42,4290,4291,4288,0,15,16,11,6025,6026,6022,42,4288,4289,4290,0,11,14,15,6022,6024,6025,42,4291,4285,4284,0,16,17,12,6026,6027,6023,42,4284,4288,4291,0,12,11,16,6023,6022,6026,42,4266,4271,4292,0,18,19,20,6001,6001,6028,42,4292,4289,4266,0,20,21,18,6028,6029,6001,42,4271,4270,4293,0,19,22,23,6001,6001,6030,42,4293,4292,4271,0,23,20,19,6030,6028,6001,42,4294,4295,4292,0,24,25,20,6031,6032,6028,42,4292,4293,4294,0,20,23,24,6028,6030,6031,42,4295,4290,4289,0,25,26,21,6032,6033,6029,42,4289,4292,4295,0,21,20,25,6029,6028,6032,42,4270,4275,4296,0,9,10,11,6007,6006,6034,42,4296,4293,4270,0,11,12,9,6034,6035,6007,42,4275,4274,4297,0,10,13,14,6006,6005,6036,42,4297,4296,4275,0,14,11,10,6036,6034,6006,42,4298,4299,4296,0,15,16,11,6037,6038,6034,42,4296,4297,4298,0,11,14,15,6034,6036,6037,42,4299,4294,4293,0,16,17,12,6038,6039,6035,42,4293,4296,4299,0,12,11,16,6035,6034,6038,42,4274,4279,4300,0,0,1,2,6013,6012,6040,42,4300,4297,4274,0,2,3,0,6040,6041,6013,42,4279,4278,4301,0,1,4,5,6012,6011,6042,42,4301,4300,4279,0,5,2,1,6042,6040,6012,42,4302,4303,4300,0,6,7,2,6043,6044,6040,42,4300,4301,4302,0,2,5,6,6040,6042,6043,42,4303,4298,4297,0,7,8,3,6044,6045,6041,42,4297,4300,4303,0,3,2,7,6041,6040,6044,42,4278,4281,4304,0,27,28,29,6015,6015,6046,42,4304,4301,4278,0,29,30,27,6046,6047,6015,42,4281,4263,4283,0,28,31,32,6015,6015,6048,42,4283,4304,4281,0,32,29,28,6048,6046,6015,42,4287,4305,4304,0,33,34,29,6049,6050,6046,42,4304,4283,4287,0,29,32,33,6046,6048,6049,42,4305,4302,4301,0,34,35,30,6050,6051,6047,42,4301,4304,4305,0,30,29,34,6047,6046,6050,42,4287,4286,4306,0,0,1,2,6021,6020,6052,42,4306,4307,4287,0,2,3,0,6052,6053,6021,42,4286,4285,4308,0,1,4,5,6020,6019,6054,42,4308,4306,4286,0,5,2,1,6054,6052,6020,42,4309,4310,4306,0,6,7,2,6055,6056,6052,42,4306,4308,4309,0,2,5,6,6052,6054,6055,42,4310,4311,4307,0,7,8,3,6056,6057,6053,42,4307,4306,4310,0,3,2,7,6053,6052,6056,42,4285,4291,4312,0,9,10,11,6027,6026,6058,42,4312,4308,4285,0,11,12,9,6058,6059,6027,42,4291,4290,4313,0,10,13,14,6026,6025,6060,42,4313,4312,4291,0,14,11,10,6060,6058,6026,42,4314,4315,4312,0,15,16,11,6061,6062,6058,42,4312,4313,4314,0,11,14,15,6058,6060,6061,42,4315,4309,4308,0,16,17,12,6062,6063,6059,42,4308,4312,4315,0,12,11,16,6059,6058,6062,42,4290,4295,4316,0,18,19,20,6033,6032,6064,42,4316,4313,4290,0,20,21,18,6064,6065,6033,42,4295,4294,4317,0,19,22,23,6032,6031,6066,42,4317,4316,4295,0,23,20,19,6066,6064,6032,42,4318,4319,4316,0,24,25,20,6067,6068,6064,42,4316,4317,4318,0,20,23,24,6064,6066,6067,42,4319,4314,4313,0,25,26,21,6068,6069,6065,42,4313,4316,4319,0,21,20,25,6065,6064,6068,42,4294,4299,4320,0,9,10,11,6039,6038,6070,42,4320,4317,4294,0,11,12,9,6070,6071,6039,42,4299,4298,4321,0,10,13,14,6038,6037,6072,42,4321,4320,4299,0,14,11,10,6072,6070,6038,42,4322,4323,4320,0,15,16,11,6073,6074,6070,42,4320,4321,4322,0,11,14,15,6070,6072,6073,42,4323,4318,4317,0,16,17,12,6074,6075,6071,42,4317,4320,4323,0,12,11,16,6071,6070,6074,42,4298,4303,4324,0,0,1,2,6045,6044,6076,42,4324,4321,4298,0,2,3,0,6076,6077,6045,42,4303,4302,4325,0,1,4,5,6044,6043,6078,42,4325,4324,4303,0,5,2,1,6078,6076,6044,42,4326,4327,4324,0,6,7,2,6079,6080,6076,42,4324,4325,4326,0,2,5,6,6076,6078,6079,42,4327,4322,4321,0,7,8,3,6080,6081,6077,42,4321,4324,4327,0,3,2,7,6077,6076,6080,42,4302,4305,4328,0,27,28,29,6051,6050,6082,42,4328,4325,4302,0,29,30,27,6082,6083,6051,42,4305,4287,4307,0,28,31,32,6050,6049,6084,42,4307,4328,4305,0,32,29,28,6084,6082,6050,42,4311,4329,4328,0,33,34,29,6085,6086,6082,42,4328,4307,4311,0,29,32,33,6082,6084,6085,42,4329,4326,4325,0,34,35,30,6086,6087,6083,42,4325,4328,4329,0,30,29,34,6083,6082,6086,42,4311,4310,4330,0,0,1,2,6057,6056,6088,42,4330,4331,4311,0,2,3,0,6088,6089,6057,42,4310,4309,4332,0,1,4,5,6056,6055,6090,42,4332,4330,4310,0,5,2,1,6090,6088,6056,42,4333,4334,4330,0,6,7,2,6091,6092,6088,42,4330,4332,4333,0,2,5,6,6088,6090,6091,42,4334,4335,4331,0,7,8,3,6092,6093,6089,42,4331,4330,4334,0,3,2,7,6089,6088,6092,42,4309,4315,4336,0,9,10,11,6063,6062,6094,42,4336,4332,4309,0,11,12,9,6094,6095,6063,42,4315,4314,4337,0,10,13,14,6062,6061,6096,42,4337,4336,4315,0,14,11,10,6096,6094,6062,42,4338,4339,4336,0,15,16,11,6097,6098,6094,42,4336,4337,4338,0,11,14,15,6094,6096,6097,42,4339,4333,4332,0,16,17,12,6098,6099,6095,42,4332,4336,4339,0,12,11,16,6095,6094,6098,42,4314,4319,4340,0,18,19,20,6069,6068,6100,42,4340,4337,4314,0,20,21,18,6100,6101,6069,42,4319,4318,4341,0,19,22,23,6068,6067,6102,42,4341,4340,4319,0,23,20,19,6102,6100,6068,42,4342,4343,4340,0,24,25,20,6103,6104,6100,42,4340,4341,4342,0,20,23,24,6100,6102,6103,42,4343,4338,4337,0,25,26,21,6104,6105,6101,42,4337,4340,4343,0,21,20,25,6101,6100,6104,42,4318,4323,4344,0,9,10,11,6075,6074,6106,42,4344,4341,4318,0,11,12,9,6106,6107,6075,42,4323,4322,4345,0,10,13,14,6074,6073,6108,42,4345,4344,4323,0,14,11,10,6108,6106,6074,42,4346,4347,4344,0,15,16,11,6109,6110,6106,42,4344,4345,4346,0,11,14,15,6106,6108,6109,42,4347,4342,4341,0,16,17,12,6110,6111,6107,42,4341,4344,4347,0,12,11,16,6107,6106,6110,42,4322,4327,4348,0,0,1,2,6081,6080,6112,42,4348,4345,4322,0,2,3,0,6112,6113,6081,42,4327,4326,4349,0,1,4,5,6080,6079,6114,42,4349,4348,4327,0,5,2,1,6114,6112,6080,42,4350,4351,4348,0,6,7,2,6115,6116,6112,42,4348,4349,4350,0,2,5,6,6112,6114,6115,42,4351,4346,4345,0,7,8,3,6116,6117,6113,42,4345,4348,4351,0,3,2,7,6113,6112,6116,42,4326,4329,4352,0,27,28,29,6087,6086,6118,42,4352,4349,4326,0,29,30,27,6118,6119,6087,42,4329,4311,4331,0,28,31,32,6086,6085,6120,42,4331,4352,4329,0,32,29,28,6120,6118,6086,42,4335,4353,4352,0,33,34,29,6121,6122,6118,42,4352,4331,4335,0,29,32,33,6118,6120,6121,42,4353,4350,4349,0,34,35,30,6122,6123,6119,42,4349,4352,4353,0,30,29,34,6119,6118,6122,42,4335,4334,4354,0,0,1,2,6093,6092,6124,42,4354,4355,4335,0,2,3,0,6124,6125,6093,42,4334,4333,4356,0,1,4,5,6092,6091,6126,42,4356,4354,4334,0,5,2,1,6126,6124,6092,42,4357,4358,4354,0,6,7,2,6127,6128,6124,42,4354,4356,4357,0,2,5,6,6124,6126,6127,42,4358,4359,4355,0,7,8,3,6128,6129,6125,42,4355,4354,4358,0,3,2,7,6125,6124,6128,42,4333,4339,4360,0,9,10,11,6099,6098,6130,42,4360,4356,4333,0,11,12,9,6130,6131,6099,42,4339,4338,4361,0,10,13,14,6098,6097,6132,42,4361,4360,4339,0,14,11,10,6132,6130,6098,42,4362,4363,4360,0,15,16,11,6133,6134,6130,42,4360,4361,4362,0,11,14,15,6130,6132,6133,42,4363,4357,4356,0,16,17,12,6134,6135,6131,42,4356,4360,4363,0,12,11,16,6131,6130,6134,42,4338,4343,4364,0,18,19,20,6105,6104,6136,42,4364,4361,4338,0,20,21,18,6136,6137,6105,42,4343,4342,4365,0,19,22,23,6104,6103,6138,42,4365,4364,4343,0,23,20,19,6138,6136,6104,42,4366,4367,4364,0,24,25,20,6139,6140,6136,42,4364,4365,4366,0,20,23,24,6136,6138,6139,42,4367,4362,4361,0,25,26,21,6140,6141,6137,42,4361,4364,4367,0,21,20,25,6137,6136,6140,42,4342,4347,4368,0,9,10,11,6111,6110,6142,42,4368,4365,4342,0,11,12,9,6142,6143,6111,42,4347,4346,4369,0,10,13,14,6110,6109,6144,42,4369,4368,4347,0,14,11,10,6144,6142,6110,42,4370,4371,4368,0,15,16,11,6145,6146,6142,42,4368,4369,4370,0,11,14,15,6142,6144,6145,42,4371,4366,4365,0,16,17,12,6146,6147,6143,42,4365,4368,4371,0,12,11,16,6143,6142,6146,42,4346,4351,4372,0,0,1,2,6117,6116,6148,42,4372,4369,4346,0,2,3,0,6148,6149,6117,42,4351,4350,4373,0,1,4,5,6116,6115,6150,42,4373,4372,4351,0,5,2,1,6150,6148,6116,42,4374,4375,4372,0,6,7,2,6151,6152,6148,42,4372,4373,4374,0,2,5,6,6148,6150,6151,42,4375,4370,4369,0,7,8,3,6152,6153,6149,42,4369,4372,4375,0,3,2,7,6149,6148,6152,42,4350,4353,4376,0,27,28,29,6123,6122,6154,42,4376,4373,4350,0,29,30,27,6154,6155,6123,42,4353,4335,4355,0,28,31,32,6122,6121,6156,42,4355,4376,4353,0,32,29,28,6156,6154,6122,42,4359,4377,4376,0,33,34,29,6157,6158,6154,42,4376,4355,4359,0,29,32,33,6154,6156,6157,42,4377,4374,4373,0,34,35,30,6158,6159,6155,42,4373,4376,4377,0,30,29,34,6155,6154,6158,42,4359,4358,4378,0,0,1,2,6129,6128,6160,42,4378,4379,4359,0,2,3,0,6160,6161,6129,42,4358,4357,4380,0,1,4,5,6128,6127,6162,42,4380,4378,4358,0,5,2,1,6162,6160,6128,42,4381,4382,4378,0,6,7,2,6163,6164,6160,42,4378,4380,4381,0,2,5,6,6160,6162,6163,42,4382,4383,4379,0,7,8,3,6164,6165,6161,42,4379,4378,4382,0,3,2,7,6161,6160,6164,42,4357,4363,4384,0,9,10,11,6135,6134,6166,42,4384,4380,4357,0,11,12,9,6166,6167,6135,42,4363,4362,4385,0,10,13,14,6134,6133,6168,42,4385,4384,4363,0,14,11,10,6168,6166,6134,42,4386,4387,4384,0,15,16,11,6169,6170,6166,42,4384,4385,4386,0,11,14,15,6166,6168,6169,42,4387,4381,4380,0,16,17,12,6170,6171,6167,42,4380,4384,4387,0,12,11,16,6167,6166,6170,42,4362,4367,4388,0,18,19,20,6141,6140,6172,42,4388,4385,4362,0,20,21,18,6172,6173,6141,42,4367,4366,4389,0,19,22,23,6140,6139,6174,42,4389,4388,4367,0,23,20,19,6174,6172,6140,42,4390,4391,4388,0,24,25,20,6175,6176,6172,42,4388,4389,4390,0,20,23,24,6172,6174,6175,42,4391,4386,4385,0,25,26,21,6176,6177,6173,42,4385,4388,4391,0,21,20,25,6173,6172,6176,42,4366,4371,4392,0,9,10,11,6147,6146,6178,42,4392,4389,4366,0,11,12,9,6178,6179,6147,42,4371,4370,4393,0,10,13,14,6146,6145,6180,42,4393,4392,4371,0,14,11,10,6180,6178,6146,42,4394,4395,4392,0,15,16,11,6181,6182,6178,42,4392,4393,4394,0,11,14,15,6178,6180,6181,42,4395,4390,4389,0,16,17,12,6182,6183,6179,42,4389,4392,4395,0,12,11,16,6179,6178,6182,42,4370,4375,4396,0,0,1,2,6153,6152,6184,42,4396,4393,4370,0,2,3,0,6184,6185,6153,42,4375,4374,4397,0,1,4,5,6152,6151,6186,42,4397,4396,4375,0,5,2,1,6186,6184,6152,42,4398,4399,4396,0,6,7,2,6187,6188,6184,42,4396,4397,4398,0,2,5,6,6184,6186,6187,42,4399,4394,4393,0,7,8,3,6188,6189,6185,42,4393,4396,4399,0,3,2,7,6185,6184,6188,42,4374,4377,4400,0,27,28,29,6159,6158,6190,42,4400,4397,4374,0,29,30,27,6190,6191,6159,42,4377,4359,4379,0,28,31,32,6158,6157,6192,42,4379,4400,4377,0,32,29,28,6192,6190,6158,42,4383,4401,4400,0,33,34,29,6193,6194,6190,42,4400,4379,4383,0,29,32,33,6190,6192,6193,42,4401,4398,4397,0,34,35,30,6194,6195,6191,42,4397,4400,4401,0,30,29,34,6191,6190,6194,42,4383,4382,4402,0,0,1,2,6165,6164,6196,42,4402,4403,4383,0,2,3,0,6196,6197,6165,42,4382,4381,4404,0,1,4,5,6164,6163,6198,42,4404,4402,4382,0,5,2,1,6198,6196,6164,42,4405,4406,4402,0,6,7,2,6199,6200,6196,42,4402,4404,4405,0,2,5,6,6196,6198,6199,42,4406,4407,4403,0,7,8,3,6200,6201,6197,42,4403,4402,4406,0,3,2,7,6197,6196,6200,42,4381,4387,4408,0,9,10,11,6171,6170,6202,42,4408,4404,4381,0,11,12,9,6202,6203,6171,42,4387,4386,4409,0,10,13,14,6170,6169,6204,42,4409,4408,4387,0,14,11,10,6204,6202,6170,42,4410,4411,4408,0,15,16,11,6205,6206,6202,42,4408,4409,4410,0,11,14,15,6202,6204,6205,42,4411,4405,4404,0,16,17,12,6206,6207,6203,42,4404,4408,4411,0,12,11,16,6203,6202,6206,42,4386,4391,4412,0,18,19,20,6177,6176,6208,42,4412,4409,4386,0,20,21,18,6208,6209,6177,42,4391,4390,4413,0,19,22,23,6176,6175,6210,42,4413,4412,4391,0,23,20,19,6210,6208,6176,42,4414,4415,4412,0,24,25,20,6211,6212,6208,42,4412,4413,4414,0,20,23,24,6208,6210,6211,42,4415,4410,4409,0,25,26,21,6212,6213,6209,42,4409,4412,4415,0,21,20,25,6209,6208,6212,42,4390,4395,4416,0,9,10,11,6183,6182,6214,42,4416,4413,4390,0,11,12,9,6214,6215,6183,42,4395,4394,4417,0,10,13,14,6182,6181,6216,42,4417,4416,4395,0,14,11,10,6216,6214,6182,42,4418,4419,4416,0,15,16,11,6217,6218,6214,42,4416,4417,4418,0,11,14,15,6214,6216,6217,42,4419,4414,4413,0,16,17,12,6218,6219,6215,42,4413,4416,4419,0,12,11,16,6215,6214,6218,42,4394,4399,4420,0,0,1,2,6189,6188,6220,42,4420,4417,4394,0,2,3,0,6220,6221,6189,42,4399,4398,4421,0,1,4,5,6188,6187,6222,42,4421,4420,4399,0,5,2,1,6222,6220,6188,42,4422,4423,4420,0,6,7,2,6223,6224,6220,42,4420,4421,4422,0,2,5,6,6220,6222,6223,42,4423,4418,4417,0,7,8,3,6224,6225,6221,42,4417,4420,4423,0,3,2,7,6221,6220,6224,42,4398,4401,4424,0,27,28,29,6195,6194,6226,42,4424,4421,4398,0,29,30,27,6226,6227,6195,42,4401,4383,4403,0,28,31,32,6194,6193,6228,42,4403,4424,4401,0,32,29,28,6228,6226,6194,42,4407,4425,4424,0,33,34,29,6229,6230,6226,42,4424,4403,4407,0,29,32,33,6226,6228,6229,42,4425,4422,4421,0,34,35,30,6230,6231,6227,42,4421,4424,4425,0,30,29,34,6227,6226,6230,42,4407,4406,4426,0,0,1,2,6201,6200,6232,42,4426,4427,4407,0,2,3,0,6232,6233,6201,42,4406,4405,4428,0,1,4,5,6200,6199,6234,42,4428,4426,4406,0,5,2,1,6234,6232,6200,42,4429,4430,4426,0,6,7,2,6235,6236,6232,42,4426,4428,4429,0,2,5,6,6232,6234,6235,42,4430,4431,4427,0,7,8,3,6236,6237,6233,42,4427,4426,4430,0,3,2,7,6233,6232,6236,42,4405,4411,4432,0,9,10,11,6207,6206,6238,42,4432,4428,4405,0,11,12,9,6238,6239,6207,42,4411,4410,4433,0,10,13,14,6206,6205,6240,42,4433,4432,4411,0,14,11,10,6240,6238,6206,42,4434,4435,4432,0,15,16,11,6241,6242,6238,42,4432,4433,4434,0,11,14,15,6238,6240,6241,42,4435,4429,4428,0,16,17,12,6242,6243,6239,42,4428,4432,4435,0,12,11,16,6239,6238,6242,42,4410,4415,4436,0,18,19,20,6213,6212,6244,42,4436,4433,4410,0,20,21,18,6244,6245,6213,42,4415,4414,4437,0,19,22,23,6212,6211,6246,42,4437,4436,4415,0,23,20,19,6246,6244,6212,42,4438,4439,4436,0,24,25,20,6247,6248,6244,42,4436,4437,4438,0,20,23,24,6244,6246,6247,42,4439,4434,4433,0,25,26,21,6248,6249,6245,42,4433,4436,4439,0,21,20,25,6245,6244,6248,42,4414,4419,4440,0,9,10,11,6219,6218,6250,42,4440,4437,4414,0,11,12,9,6250,6251,6219,42,4419,4418,4441,0,10,13,14,6218,6217,6252,42,4441,4440,4419,0,14,11,10,6252,6250,6218,42,4442,4443,4440,0,15,16,11,6253,6254,6250,42,4440,4441,4442,0,11,14,15,6250,6252,6253,42,4443,4438,4437,0,16,17,12,6254,6255,6251,42,4437,4440,4443,0,12,11,16,6251,6250,6254,42,4418,4423,4444,0,0,1,2,6225,6224,6256,42,4444,4441,4418,0,2,3,0,6256,6257,6225,42,4423,4422,4445,0,1,4,5,6224,6223,6258,42,4445,4444,4423,0,5,2,1,6258,6256,6224,42,4446,4447,4444,0,6,7,2,6259,6260,6256,42,4444,4445,4446,0,2,5,6,6256,6258,6259,42,4447,4442,4441,0,7,8,3,6260,6261,6257,42,4441,4444,4447,0,3,2,7,6257,6256,6260,42,4422,4425,4448,0,27,28,29,6231,6230,6262,42,4448,4445,4422,0,29,30,27,6262,6263,6231,42,4425,4407,4427,0,28,31,32,6230,6229,6264,42,4427,4448,4425,0,32,29,28,6264,6262,6230,42,4431,4449,4448,0,33,34,29,6265,6266,6262,42,4448,4427,4431,0,29,32,33,6262,6264,6265,42,4449,4446,4445,0,34,35,30,6266,6267,6263,42,4445,4448,4449,0,30,29,34,6263,6262,6266,42,4431,4430,4450,0,0,1,2,6237,6236,6268,42,4450,4451,4431,0,2,3,0,6268,6269,6237,42,4430,4429,4452,0,1,4,5,6236,6235,6270,42,4452,4450,4430,0,5,2,1,6270,6268,6236,42,4453,4454,4450,0,6,7,2,6271,6272,6268,42,4450,4452,4453,0,2,5,6,6268,6270,6271,42,4454,4455,4451,0,7,8,3,6272,6273,6269,42,4451,4450,4454,0,3,2,7,6269,6268,6272,42,4429,4435,4456,0,9,10,11,6243,6242,6274,42,4456,4452,4429,0,11,12,9,6274,6275,6243,42,4435,4434,4457,0,10,13,14,6242,6241,6276,42,4457,4456,4435,0,14,11,10,6276,6274,6242,42,4458,4459,4456,0,15,16,11,6277,6278,6274,42,4456,4457,4458,0,11,14,15,6274,6276,6277,42,4459,4453,4452,0,16,17,12,6278,6279,6275,42,4452,4456,4459,0,12,11,16,6275,6274,6278,42,4434,4439,4460,0,18,19,20,6249,6248,6280,42,4460,4457,4434,0,20,21,18,6280,6281,6249,42,4439,4438,4461,0,19,22,23,6248,6247,6282,42,4461,4460,4439,0,23,20,19,6282,6280,6248,42,4462,4463,4460,0,24,25,20,6283,6284,6280,42,4460,4461,4462,0,20,23,24,6280,6282,6283,42,4463,4458,4457,0,25,26,21,6284,6285,6281,42,4457,4460,4463,0,21,20,25,6281,6280,6284,42,4438,4443,4464,0,9,10,11,6255,6254,6286,42,4464,4461,4438,0,11,12,9,6286,6287,6255,42,4443,4442,4465,0,10,13,14,6254,6253,6288,42,4465,4464,4443,0,14,11,10,6288,6286,6254,42,4466,4467,4464,0,15,16,11,6289,6290,6286,42,4464,4465,4466,0,11,14,15,6286,6288,6289,42,4467,4462,4461,0,16,17,12,6290,6291,6287,42,4461,4464,4467,0,12,11,16,6287,6286,6290,42,4442,4447,4468,0,0,1,2,6261,6260,6292,42,4468,4465,4442,0,2,3,0,6292,6293,6261,42,4447,4446,4469,0,1,4,5,6260,6259,6294,42,4469,4468,4447,0,5,2,1,6294,6292,6260,42,4470,4471,4468,0,6,7,2,6295,6296,6292,42,4468,4469,4470,0,2,5,6,6292,6294,6295,42,4471,4466,4465,0,7,8,3,6296,6297,6293,42,4465,4468,4471,0,3,2,7,6293,6292,6296,42,4446,4449,4472,0,27,28,29,6267,6266,6298,42,4472,4469,4446,0,29,30,27,6298,6299,6267,42,4449,4431,4451,0,28,31,32,6266,6265,6300,42,4451,4472,4449,0,32,29,28,6300,6298,6266,42,4455,4473,4472,0,33,34,29,6301,6302,6298,42,4472,4451,4455,0,29,32,33,6298,6300,6301,42,4473,4470,4469,0,34,35,30,6302,6303,6299,42,4469,4472,4473,0,30,29,34,6299,6298,6302,42,4455,4454,4474,0,0,1,2,6273,6272,6304,42,4474,4475,4455,0,2,3,0,6304,6305,6273,42,4454,4453,4476,0,1,4,5,6272,6271,6306,42,4476,4474,4454,0,5,2,1,6306,6304,6272,42,4477,4478,4474,0,6,7,2,6307,6308,6304,42,4474,4476,4477,0,2,5,6,6304,6306,6307,42,4478,4479,4475,0,7,8,3,6308,6309,6305,42,4475,4474,4478,0,3,2,7,6305,6304,6308,42,4453,4459,4480,0,9,10,11,6279,6278,6310,42,4480,4476,4453,0,11,12,9,6310,6311,6279,42,4459,4458,4481,0,10,13,14,6278,6277,6312,42,4481,4480,4459,0,14,11,10,6312,6310,6278,42,4482,4483,4480,0,15,16,11,6313,6314,6310,42,4480,4481,4482,0,11,14,15,6310,6312,6313,42,4483,4477,4476,0,16,17,12,6314,6315,6311,42,4476,4480,4483,0,12,11,16,6311,6310,6314,42,4458,4463,4484,0,18,19,20,6285,6284,6316,42,4484,4481,4458,0,20,21,18,6316,6317,6285,42,4463,4462,4485,0,19,22,23,6284,6283,6318,42,4485,4484,4463,0,23,20,19,6318,6316,6284,42,4486,4487,4484,0,24,25,20,6319,6320,6316,42,4484,4485,4486,0,20,23,24,6316,6318,6319,42,4487,4482,4481,0,25,26,21,6320,6321,6317,42,4481,4484,4487,0,21,20,25,6317,6316,6320,42,4462,4467,4488,0,9,10,11,6291,6290,6322,42,4488,4485,4462,0,11,12,9,6322,6323,6291,42,4467,4466,4489,0,10,13,14,6290,6289,6324,42,4489,4488,4467,0,14,11,10,6324,6322,6290,42,4490,4491,4488,0,15,16,11,6325,6326,6322,42,4488,4489,4490,0,11,14,15,6322,6324,6325,42,4491,4486,4485,0,16,17,12,6326,6327,6323,42,4485,4488,4491,0,12,11,16,6323,6322,6326,42,4466,4471,4492,0,0,1,2,6297,6296,6328,42,4492,4489,4466,0,2,3,0,6328,6329,6297,42,4471,4470,4493,0,1,4,5,6296,6295,6330,42,4493,4492,4471,0,5,2,1,6330,6328,6296,42,4494,4495,4492,0,6,7,2,6331,6332,6328,42,4492,4493,4494,0,2,5,6,6328,6330,6331,42,4495,4490,4489,0,7,8,3,6332,6333,6329,42,4489,4492,4495,0,3,2,7,6329,6328,6332,42,4470,4473,4496,0,27,28,29,6303,6302,6334,42,4496,4493,4470,0,29,30,27,6334,6335,6303,42,4473,4455,4475,0,28,31,32,6302,6301,6336,42,4475,4496,4473,0,32,29,28,6336,6334,6302,42,4479,4497,4496,0,33,34,29,6337,6338,6334,42,4496,4475,4479,0,29,32,33,6334,6336,6337,42,4497,4494,4493,0,34,35,30,6338,6339,6335,42,4493,4496,4497,0,30,29,34,6335,6334,6338,42,4479,4478,4498,0,0,1,2,6309,6308,6340,42,4498,4499,4479,0,2,3,0,6340,6341,6309,42,4478,4477,4500,0,1,4,5,6308,6307,6342,42,4500,4498,4478,0,5,2,1,6342,6340,6308,42,4501,4502,4498,0,6,7,2,6343,6344,6340,42,4498,4500,4501,0,2,5,6,6340,6342,6343,42,4502,4503,4499,0,7,8,3,6344,6345,6341,42,4499,4498,4502,0,3,2,7,6341,6340,6344,42,4477,4483,4504,0,9,10,11,6315,6314,6346,42,4504,4500,4477,0,11,12,9,6346,6347,6315,42,4483,4482,4505,0,10,13,14,6314,6313,6348,42,4505,4504,4483,0,14,11,10,6348,6346,6314,42,4506,4507,4504,0,15,16,11,6349,6350,6346,42,4504,4505,4506,0,11,14,15,6346,6348,6349,42,4507,4501,4500,0,16,17,12,6350,6351,6347,42,4500,4504,4507,0,12,11,16,6347,6346,6350,42,4482,4487,4508,0,18,19,20,6321,6320,6352,42,4508,4505,4482,0,20,21,18,6352,6353,6321,42,4487,4486,4509,0,19,22,23,6320,6319,6354,42,4509,4508,4487,0,23,20,19,6354,6352,6320,42,4510,4511,4508,0,24,25,20,6355,6356,6352,42,4508,4509,4510,0,20,23,24,6352,6354,6355,42,4511,4506,4505,0,25,26,21,6356,6357,6353,42,4505,4508,4511,0,21,20,25,6353,6352,6356,42,4486,4491,4512,0,9,10,11,6327,6326,6358,42,4512,4509,4486,0,11,12,9,6358,6359,6327,42,4491,4490,4513,0,10,13,14,6326,6325,6360,42,4513,4512,4491,0,14,11,10,6360,6358,6326,42,4514,4515,4512,0,15,16,11,6361,6362,6358,42,4512,4513,4514,0,11,14,15,6358,6360,6361,42,4515,4510,4509,0,16,17,12,6362,6363,6359,42,4509,4512,4515,0,12,11,16,6359,6358,6362,42,4490,4495,4516,0,0,1,2,6333,6332,6364,42,4516,4513,4490,0,2,3,0,6364,6365,6333,42,4495,4494,4517,0,1,4,5,6332,6331,6366,42,4517,4516,4495,0,5,2,1,6366,6364,6332,42,4518,4519,4516,0,6,7,2,6367,6368,6364,42,4516,4517,4518,0,2,5,6,6364,6366,6367,42,4519,4514,4513,0,7,8,3,6368,6369,6365,42,4513,4516,4519,0,3,2,7,6365,6364,6368,42,4494,4497,4520,0,27,28,29,6339,6338,6370,42,4520,4517,4494,0,29,30,27,6370,6371,6339,42,4497,4479,4499,0,28,31,32,6338,6337,6372,42,4499,4520,4497,0,32,29,28,6372,6370,6338,42,4503,4521,4520,0,33,34,29,6373,6374,6370,42,4520,4499,4503,0,29,32,33,6370,6372,6373,42,4521,4518,4517,0,34,35,30,6374,6375,6371,42,4517,4520,4521,0,30,29,34,6371,6370,6374,42,4503,4502,4522,0,0,1,2,6345,6344,6376,42,4522,4523,4503,0,2,3,0,6376,6377,6345,42,4502,4501,4524,0,1,4,5,6344,6343,6378,42,4524,4522,4502,0,5,2,1,6378,6376,6344,42,4525,4526,4522,0,6,7,2,6379,6380,6376,42,4522,4524,4525,0,2,5,6,6376,6378,6379,42,4526,4527,4523,0,7,8,3,6380,6381,6377,42,4523,4522,4526,0,3,2,7,6377,6376,6380,42,4501,4507,4528,0,9,10,11,6351,6350,6382,42,4528,4524,4501,0,11,12,9,6382,6383,6351,42,4507,4506,4529,0,10,13,14,6350,6349,6384,42,4529,4528,4507,0,14,11,10,6384,6382,6350,42,4530,4531,4528,0,15,16,11,6385,6386,6382,42,4528,4529,4530,0,11,14,15,6382,6384,6385,42,4531,4525,4524,0,16,17,12,6386,6387,6383,42,4524,4528,4531,0,12,11,16,6383,6382,6386,42,4506,4511,4532,0,18,19,20,6357,6356,6388,42,4532,4529,4506,0,20,21,18,6388,6389,6357,42,4511,4510,4533,0,19,22,23,6356,6355,6390,42,4533,4532,4511,0,23,20,19,6390,6388,6356,42,4534,4535,4532,0,24,25,20,6391,6392,6388,42,4532,4533,4534,0,20,23,24,6388,6390,6391,42,4535,4530,4529,0,25,26,21,6392,6393,6389,42,4529,4532,4535,0,21,20,25,6389,6388,6392,42,4510,4515,4536,0,9,10,11,6363,6362,6394,42,4536,4533,4510,0,11,12,9,6394,6395,6363,42,4515,4514,4537,0,10,13,14,6362,6361,6396,42,4537,4536,4515,0,14,11,10,6396,6394,6362,42,4538,4539,4536,0,15,16,11,6397,6398,6394,42,4536,4537,4538,0,11,14,15,6394,6396,6397,42,4539,4534,4533,0,16,17,12,6398,6399,6395,42,4533,4536,4539,0,12,11,16,6395,6394,6398,42,4514,4519,4540,0,0,1,2,6369,6368,6400,42,4540,4537,4514,0,2,3,0,6400,6401,6369,42,4519,4518,4541,0,1,4,5,6368,6367,6402,42,4541,4540,4519,0,5,2,1,6402,6400,6368,42,4542,4543,4540,0,6,7,2,6403,6404,6400,42,4540,4541,4542,0,2,5,6,6400,6402,6403,42,4543,4538,4537,0,7,8,3,6404,6405,6401,42,4537,4540,4543,0,3,2,7,6401,6400,6404,42,4518,4521,4544,0,27,28,29,6375,6374,6406,42,4544,4541,4518,0,29,30,27,6406,6407,6375,42,4521,4503,4523,0,28,31,32,6374,6373,6408,42,4523,4544,4521,0,32,29,28,6408,6406,6374,42,4527,4545,4544,0,33,34,29,6409,6410,6406,42,4544,4523,4527,0,29,32,33,6406,6408,6409,42,4545,4542,4541,0,34,35,30,6410,6411,6407,42,4541,4544,4545,0,30,29,34,6407,6406,6410,42,4527,4526,4546,0,0,1,2,6381,6380,6412,42,4546,4547,4527,0,2,3,0,6412,6413,6381,42,4526,4525,4548,0,1,4,5,6380,6379,6414,42,4548,4546,4526,0,5,2,1,6414,6412,6380,42,4549,4550,4546,0,6,7,2,6415,6416,6412,42,4546,4548,4549,0,2,5,6,6412,6414,6415,42,4550,4551,4547,0,7,8,3,6416,6417,6413,42,4547,4546,4550,0,3,2,7,6413,6412,6416,42,4525,4531,4552,0,9,10,11,6387,6386,6418,42,4552,4548,4525,0,11,12,9,6418,6419,6387,42,4531,4530,4553,0,10,13,14,6386,6385,6420,42,4553,4552,4531,0,14,11,10,6420,6418,6386,42,4554,4555,4552,0,15,16,11,6421,6422,6418,42,4552,4553,4554,0,11,14,15,6418,6420,6421,42,4555,4549,4548,0,16,17,12,6422,6423,6419,42,4548,4552,4555,0,12,11,16,6419,6418,6422,42,4530,4535,4556,0,18,19,20,6393,6392,6424,42,4556,4553,4530,0,20,21,18,6424,6425,6393,42,4535,4534,4557,0,19,22,23,6392,6391,6426,42,4557,4556,4535,0,23,20,19,6426,6424,6392,42,4558,4559,4556,0,24,25,20,6427,6428,6424,42,4556,4557,4558,0,20,23,24,6424,6426,6427,42,4559,4554,4553,0,25,26,21,6428,6429,6425,42,4553,4556,4559,0,21,20,25,6425,6424,6428,42,4534,4539,4560,0,9,10,11,6399,6398,6430,42,4560,4557,4534,0,11,12,9,6430,6431,6399,42,4539,4538,4561,0,10,13,14,6398,6397,6432,42,4561,4560,4539,0,14,11,10,6432,6430,6398,42,4562,4563,4560,0,15,16,11,6433,6434,6430,42,4560,4561,4562,0,11,14,15,6430,6432,6433,42,4563,4558,4557,0,16,17,12,6434,6435,6431,42,4557,4560,4563,0,12,11,16,6431,6430,6434,42,4538,4543,4564,0,0,1,2,6405,6404,6436,42,4564,4561,4538,0,2,3,0,6436,6437,6405,42,4543,4542,4565,0,1,4,5,6404,6403,6438,42,4565,4564,4543,0,5,2,1,6438,6436,6404,42,4566,4567,4564,0,6,7,2,6439,6440,6436,42,4564,4565,4566,0,2,5,6,6436,6438,6439,42,4567,4562,4561,0,7,8,3,6440,6441,6437,42,4561,4564,4567,0,3,2,7,6437,6436,6440,42,4542,4545,4568,0,27,28,29,6411,6410,6442,42,4568,4565,4542,0,29,30,27,6442,6443,6411,42,4545,4527,4547,0,28,31,32,6410,6409,6444,42,4547,4568,4545,0,32,29,28,6444,6442,6410,42,4551,4569,4568,0,33,34,29,6445,6446,6442,42,4568,4547,4551,0,29,32,33,6442,6444,6445,42,4569,4566,4565,0,34,35,30,6446,6447,6443,42,4565,4568,4569,0,30,29,34,6443,6442,6446,42,4551,4550,4570,0,0,1,2,6417,6416,6448,42,4570,4571,4551,0,2,3,0,6448,6449,6417,42,4550,4549,4572,0,1,4,5,6416,6415,6450,42,4572,4570,4550,0,5,2,1,6450,6448,6416,42,4573,4574,4570,0,6,7,2,6451,6452,6448,42,4570,4572,4573,0,2,5,6,6448,6450,6451,42,4574,4575,4571,0,7,8,3,6452,6453,6449,42,4571,4570,4574,0,3,2,7,6449,6448,6452,42,4549,4555,4576,0,9,10,11,6423,6422,6454,42,4576,4572,4549,0,11,12,9,6454,6455,6423,42,4555,4554,4577,0,10,13,14,6422,6421,6456,42,4577,4576,4555,0,14,11,10,6456,6454,6422,42,4578,4579,4576,0,15,16,11,6457,6458,6454,42,4576,4577,4578,0,11,14,15,6454,6456,6457,42,4579,4573,4572,0,16,17,12,6458,6459,6455,42,4572,4576,4579,0,12,11,16,6455,6454,6458,42,4554,4559,4580,0,18,19,20,6429,6428,6460,42,4580,4577,4554,0,20,21,18,6460,6461,6429,42,4559,4558,4581,0,19,22,23,6428,6427,6462,42,4581,4580,4559,0,23,20,19,6462,6460,6428,42,4582,4583,4580,0,24,25,20,6463,6464,6460,42,4580,4581,4582,0,20,23,24,6460,6462,6463,42,4583,4578,4577,0,25,26,21,6464,6465,6461,42,4577,4580,4583,0,21,20,25,6461,6460,6464,42,4558,4563,4584,0,9,10,11,6435,6434,6466,42,4584,4581,4558,0,11,12,9,6466,6467,6435,42,4563,4562,4585,0,10,13,14,6434,6433,6468,42,4585,4584,4563,0,14,11,10,6468,6466,6434,42,4586,4587,4584,0,15,16,11,6469,6470,6466,42,4584,4585,4586,0,11,14,15,6466,6468,6469,42,4587,4582,4581,0,16,17,12,6470,6471,6467,42,4581,4584,4587,0,12,11,16,6467,6466,6470,42,4562,4567,4588,0,0,1,2,6441,6440,6472,42,4588,4585,4562,0,2,3,0,6472,6473,6441,42,4567,4566,4589,0,1,4,5,6440,6439,6474,42,4589,4588,4567,0,5,2,1,6474,6472,6440,42,4590,4591,4588,0,6,7,2,6475,6476,6472,42,4588,4589,4590,0,2,5,6,6472,6474,6475,42,4591,4586,4585,0,7,8,3,6476,6477,6473,42,4585,4588,4591,0,3,2,7,6473,6472,6476,42,4566,4569,4592,0,27,28,29,6447,6446,6478,42,4592,4589,4566,0,29,30,27,6478,6479,6447,42,4569,4551,4571,0,28,31,32,6446,6445,6480,42,4571,4592,4569,0,32,29,28,6480,6478,6446,42,4575,4593,4592,0,33,34,29,6481,6482,6478,42,4592,4571,4575,0,29,32,33,6478,6480,6481,42,4593,4590,4589,0,34,35,30,6482,6483,6479,42,4589,4592,4593,0,30,29,34,6479,6478,6482,42,4575,4574,4594,0,0,1,2,6453,6452,6484,42,4594,4595,4575,0,2,3,0,6484,6485,6453,42,4574,4573,4596,0,1,4,5,6452,6451,6486,42,4596,4594,4574,0,5,2,1,6486,6484,6452,42,4597,4598,4594,0,6,7,2,6487,6488,6484,42,4594,4596,4597,0,2,5,6,6484,6486,6487,42,4598,4599,4595,0,7,8,3,6488,6489,6485,42,4595,4594,4598,0,3,2,7,6485,6484,6488,42,4573,4579,4600,0,9,10,11,6459,6458,6490,42,4600,4596,4573,0,11,12,9,6490,6491,6459,42,4579,4578,4601,0,10,13,14,6458,6457,6492,42,4601,4600,4579,0,14,11,10,6492,6490,6458,42,4602,4603,4600,0,15,16,11,6493,6494,6490,42,4600,4601,4602,0,11,14,15,6490,6492,6493,42,4603,4597,4596,0,16,17,12,6494,6495,6491,42,4596,4600,4603,0,12,11,16,6491,6490,6494,42,4578,4583,4604,0,18,19,20,6465,6464,6496,42,4604,4601,4578,0,20,21,18,6496,6497,6465,42,4583,4582,4605,0,19,22,23,6464,6463,6498,42,4605,4604,4583,0,23,20,19,6498,6496,6464,42,4606,4607,4604,0,24,25,20,6499,6500,6496,42,4604,4605,4606,0,20,23,24,6496,6498,6499,42,4607,4602,4601,0,25,26,21,6500,6501,6497,42,4601,4604,4607,0,21,20,25,6497,6496,6500,42,4582,4587,4608,0,9,10,11,6471,6470,6502,42,4608,4605,4582,0,11,12,9,6502,6503,6471,42,4587,4586,4609,0,10,13,14,6470,6469,6504,42,4609,4608,4587,0,14,11,10,6504,6502,6470,42,4610,4611,4608,0,15,16,11,6505,6506,6502,42,4608,4609,4610,0,11,14,15,6502,6504,6505,42,4611,4606,4605,0,16,17,12,6506,6507,6503,42,4605,4608,4611,0,12,11,16,6503,6502,6506,42,4586,4591,4612,0,0,1,2,6477,6476,6508,42,4612,4609,4586,0,2,3,0,6508,6509,6477,42,4591,4590,4613,0,1,4,5,6476,6475,6510,42,4613,4612,4591,0,5,2,1,6510,6508,6476,42,4614,4615,4612,0,6,7,2,6511,6512,6508,42,4612,4613,4614,0,2,5,6,6508,6510,6511,42,4615,4610,4609,0,7,8,3,6512,6513,6509,42,4609,4612,4615,0,3,2,7,6509,6508,6512,42,4590,4593,4616,0,27,28,29,6483,6482,6514,42,4616,4613,4590,0,29,30,27,6514,6515,6483,42,4593,4575,4595,0,28,31,32,6482,6481,6516,42,4595,4616,4593,0,32,29,28,6516,6514,6482,42,4599,4617,4616,0,33,34,29,6517,6518,6514,42,4616,4595,4599,0,29,32,33,6514,6516,6517,42,4617,4614,4613,0,34,35,30,6518,6519,6515,42,4613,4616,4617,0,30,29,34,6515,6514,6518,42,4599,4598,4618,0,0,1,2,6489,6488,6520,42,4618,4619,4599,0,2,3,0,6520,6521,6489,42,4598,4597,4620,0,1,4,5,6488,6487,6522,42,4620,4618,4598,0,5,2,1,6522,6520,6488,42,4621,4622,4618,0,6,7,2,6523,6524,6520,42,4618,4620,4621,0,2,5,6,6520,6522,6523,42,4622,4623,4619,0,7,8,3,6524,6525,6521,42,4619,4618,4622,0,3,2,7,6521,6520,6524,42,4597,4603,4624,0,9,10,11,6495,6494,6526,42,4624,4620,4597,0,11,12,9,6526,6527,6495,42,4603,4602,4625,0,10,13,14,6494,6493,6528,42,4625,4624,4603,0,14,11,10,6528,6526,6494,42,4626,4627,4624,0,15,16,11,6529,6530,6526,42,4624,4625,4626,0,11,14,15,6526,6528,6529,42,4627,4621,4620,0,16,17,12,6530,6531,6527,42,4620,4624,4627,0,12,11,16,6527,6526,6530,42,4602,4607,4628,0,18,19,20,6501,6500,6532,42,4628,4625,4602,0,20,21,18,6532,6532,6501,42,4607,4606,4629,0,19,22,23,6500,6499,6532,42,4629,4628,4607,0,23,20,19,6532,6532,6500,42,4630,4631,4628,0,24,25,20,6533,6534,6532,42,4628,4629,4630,0,20,23,24,6532,6532,6533,42,4631,4626,4625,0,25,26,21,6534,6534,6532,42,4625,4628,4631,0,21,20,25,6532,6532,6534,42,4606,4611,4632,0,9,10,11,6507,6506,6535,42,4632,4629,4606,0,11,12,9,6535,6536,6507,42,4611,4610,4633,0,10,13,14,6506,6505,6537,42,4633,4632,4611,0,14,11,10,6537,6535,6506,42,4634,4635,4632,0,15,16,11,6538,6539,6535,42,4632,4633,4634,0,11,14,15,6535,6537,6538,42,4635,4630,4629,0,16,17,12,6539,6540,6536,42,4629,4632,4635,0,12,11,16,6536,6535,6539,42,4610,4615,4636,0,0,1,2,6513,6512,6541,42,4636,4633,4610,0,2,3,0,6541,6542,6513,42,4615,4614,4637,0,1,4,5,6512,6511,6543,42,4637,4636,4615,0,5,2,1,6543,6541,6512,42,4638,4639,4636,0,6,7,2,6544,6545,6541,42,4636,4637,4638,0,2,5,6,6541,6543,6544,42,4639,4634,4633,0,7,8,3,6545,6546,6542,42,4633,4636,4639,0,3,2,7,6542,6541,6545,42,4614,4617,4640,0,27,28,29,6519,6518,6547,42,4640,4637,4614,0,29,30,27,6547,6548,6519,42,4617,4599,4619,0,28,31,32,6518,6517,6548,42,4619,4640,4617,0,32,29,28,6548,6547,6518,42,4623,4641,4640,0,33,34,29,6549,6549,6547,42,4640,4619,4623,0,29,32,33,6547,6548,6549,42,4641,4638,4637,0,34,35,30,6549,6550,6548,42,4637,4640,4641,0,30,29,34,6548,6547,6549,42,4623,4622,4642,0,0,1,2,6525,6524,6551,42,4642,4643,4623,0,2,3,0,6551,6552,6525,42,4622,4621,4644,0,1,4,5,6524,6523,6553,42,4644,4642,4622,0,5,2,1,6553,6551,6524,42,4645,4646,4642,0,6,7,2,6554,6555,6551,42,4642,4644,4645,0,2,5,6,6551,6553,6554,42,4646,4647,4643,0,7,8,3,6555,6556,6552,42,4643,4642,4646,0,3,2,7,6552,6551,6555,42,4621,4627,4648,0,9,10,11,6531,6530,6557,42,4648,4644,4621,0,11,12,9,6557,6558,6531,42,4627,4626,4649,0,10,13,14,6530,6529,6559,42,4649,4648,4627,0,14,11,10,6559,6557,6530,42,4650,4651,4648,0,15,16,11,6560,6561,6557,42,4648,4649,4650,0,11,14,15,6557,6559,6560,42,4651,4645,4644,0,16,17,12,6561,6562,6558,42,4644,4648,4651,0,12,11,16,6558,6557,6561,42,4626,4631,4652,0,18,19,20,6534,6534,6563,42,4652,4649,4626,0,20,21,18,6563,6564,6534,42,4631,4630,4653,0,19,22,23,6534,6533,6565,42,4653,4652,4631,0,23,20,19,6565,6563,6534,42,4654,4655,4652,0,24,25,20,6566,6567,6563,42,4652,4653,4654,0,20,23,24,6563,6565,6566,42,4655,4650,4649,0,25,26,21,6567,6568,6564,42,4649,4652,4655,0,21,20,25,6564,6563,6567,42,4630,4635,4656,0,9,10,11,6540,6539,6569,42,4656,4653,4630,0,11,12,9,6569,6570,6540,42,4635,4634,4657,0,10,13,14,6539,6538,6571,42,4657,4656,4635,0,14,11,10,6571,6569,6539,42,4658,4659,4656,0,15,16,11,6572,6573,6569,42,4656,4657,4658,0,11,14,15,6569,6571,6572,42,4659,4654,4653,0,16,17,12,6573,6574,6570,42,4653,4656,4659,0,12,11,16,6570,6569,6573,42,4634,4639,4660,0,0,1,2,6546,6545,6575,42,4660,4657,4634,0,2,3,0,6575,6576,6546,42,4639,4638,4661,0,1,4,5,6545,6544,6577,42,4661,4660,4639,0,5,2,1,6577,6575,6545,42,4662,4663,4660,0,6,7,2,6578,6579,6575,42,4660,4661,4662,0,2,5,6,6575,6577,6578,42,4663,4658,4657,0,7,8,3,6579,6580,6576,42,4657,4660,4663,0,3,2,7,6576,6575,6579,42,4638,4641,4664,0,27,28,29,6550,6549,6581,42,4664,4661,4638,0,29,30,27,6581,6582,6550,42,4641,4623,4643,0,28,31,32,6549,6549,6583,42,4643,4664,4641,0,32,29,28,6583,6581,6549,42,4647,4665,4664,0,33,34,29,6584,6585,6581,42,4664,4643,4647,0,29,32,33,6581,6583,6584,42,4665,4662,4661,0,34,35,30,6585,6586,6582,42,4661,4664,4665,0,30,29,34,6582,6581,6585,42,4647,4646,4666,0,0,1,2,6556,6555,6587,42,4666,4667,4647,0,2,3,0,6587,6588,6556,42,4646,4645,4668,0,1,4,5,6555,6554,6589,42,4668,4666,4646,0,5,2,1,6589,6587,6555,42,4669,4670,4666,0,6,7,2,6590,6591,6587,42,4666,4668,4669,0,2,5,6,6587,6589,6590,42,4670,4671,4667,0,7,8,3,6591,6592,6588,42,4667,4666,4670,0,3,2,7,6588,6587,6591,42,4645,4651,4672,0,9,10,11,6562,6561,6593,42,4672,4668,4645,0,11,12,9,6593,6594,6562,42,4651,4650,4673,0,10,13,14,6561,6560,6595,42,4673,4672,4651,0,14,11,10,6595,6593,6561,42,4674,4675,4672,0,15,16,11,6596,6597,6593,42,4672,4673,4674,0,11,14,15,6593,6595,6596,42,4675,4669,4668,0,16,17,12,6597,6598,6594,42,4668,4672,4675,0,12,11,16,6594,6593,6597,42,4650,4655,4676,0,18,19,20,6568,6567,6599,42,4676,4673,4650,0,20,21,18,6599,6600,6568,42,4655,4654,4677,0,19,22,23,6567,6566,6601,42,4677,4676,4655,0,23,20,19,6601,6599,6567,42,4678,4679,4676,0,24,25,20,6602,6603,6599,42,4676,4677,4678,0,20,23,24,6599,6601,6602,42,4679,4674,4673,0,25,26,21,6603,6604,6600,42,4673,4676,4679,0,21,20,25,6600,6599,6603,42,4654,4659,4680,0,9,10,11,6574,6573,6605,42,4680,4677,4654,0,11,12,9,6605,6606,6574,42,4659,4658,4681,0,10,13,14,6573,6572,6607,42,4681,4680,4659,0,14,11,10,6607,6605,6573,42,4682,4683,4680,0,15,16,11,6608,6609,6605,42,4680,4681,4682,0,11,14,15,6605,6607,6608,42,4683,4678,4677,0,16,17,12,6609,6610,6606,42,4677,4680,4683,0,12,11,16,6606,6605,6609,42,4658,4663,4684,0,0,1,2,6580,6579,6611,42,4684,4681,4658,0,2,3,0,6611,6612,6580,42,4663,4662,4685,0,1,4,5,6579,6578,6613,42,4685,4684,4663,0,5,2,1,6613,6611,6579,42,4686,4687,4684,0,6,7,2,6614,6615,6611,42,4684,4685,4686,0,2,5,6,6611,6613,6614,42,4687,4682,4681,0,7,8,3,6615,6616,6612,42,4681,4684,4687,0,3,2,7,6612,6611,6615,42,4662,4665,4688,0,27,28,29,6586,6585,6617,42,4688,4685,4662,0,29,30,27,6617,6618,6586,42,4665,4647,4667,0,28,31,32,6585,6584,6619,42,4667,4688,4665,0,32,29,28,6619,6617,6585,42,4671,4689,4688,0,33,34,29,6620,6621,6617,42,4688,4667,4671,0,29,32,33,6617,6619,6620,42,4689,4686,4685,0,34,35,30,6621,6622,6618,42,4685,4688,4689,0,30,29,34,6618,6617,6621,42,4671,4670,4690,0,0,1,2,6592,6591,6623,42,4690,4691,4671,0,2,3,0,6623,6624,6592,42,4670,4669,4692,0,1,4,5,6591,6590,6625,42,4692,4690,4670,0,5,2,1,6625,6623,6591,42,4693,4694,4690,0,6,7,2,6626,6627,6623,42,4690,4692,4693,0,2,5,6,6623,6625,6626,42,4694,4695,4691,0,7,8,3,6627,6628,6624,42,4691,4690,4694,0,3,2,7,6624,6623,6627,42,4669,4675,4696,0,9,10,11,6598,6597,6629,42,4696,4692,4669,0,11,12,9,6629,6630,6598,42,4675,4674,4697,0,10,13,14,6597,6596,6631,42,4697,4696,4675,0,14,11,10,6631,6629,6597,42,4698,4699,4696,0,15,16,11,6632,6633,6629,42,4696,4697,4698,0,11,14,15,6629,6631,6632,42,4699,4693,4692,0,16,17,12,6633,6634,6630,42,4692,4696,4699,0,12,11,16,6630,6629,6633,42,4674,4679,4700,0,18,19,20,6604,6603,6635,42,4700,4697,4674,0,20,21,18,6635,6636,6604,42,4679,4678,4701,0,19,22,23,6603,6602,6637,42,4701,4700,4679,0,23,20,19,6637,6635,6603,42,4702,4703,4700,0,24,25,20,6638,6639,6635,42,4700,4701,4702,0,20,23,24,6635,6637,6638,42,4703,4698,4697,0,25,26,21,6639,6640,6636,42,4697,4700,4703,0,21,20,25,6636,6635,6639,42,4678,4683,4704,0,9,10,11,6610,6609,6641,42,4704,4701,4678,0,11,12,9,6641,6642,6610,42,4683,4682,4705,0,10,13,14,6609,6608,6643,42,4705,4704,4683,0,14,11,10,6643,6641,6609,42,4706,4707,4704,0,15,16,11,6644,6645,6641,42,4704,4705,4706,0,11,14,15,6641,6643,6644,42,4707,4702,4701,0,16,17,12,6645,6646,6642,42,4701,4704,4707,0,12,11,16,6642,6641,6645,42,4682,4687,4708,0,0,1,2,6616,6615,6647,42,4708,4705,4682,0,2,3,0,6647,6648,6616,42,4687,4686,4709,0,1,4,5,6615,6614,6649,42,4709,4708,4687,0,5,2,1,6649,6647,6615,42,4710,4711,4708,0,6,7,2,6650,6651,6647,42,4708,4709,4710,0,2,5,6,6647,6649,6650,42,4711,4706,4705,0,7,8,3,6651,6652,6648,42,4705,4708,4711,0,3,2,7,6648,6647,6651,42,4686,4689,4712,0,27,28,29,6622,6621,6653,42,4712,4709,4686,0,29,30,27,6653,6654,6622,42,4689,4671,4691,0,28,31,32,6621,6620,6655,42,4691,4712,4689,0,32,29,28,6655,6653,6621,42,4695,4713,4712,0,33,34,29,6656,6657,6653,42,4712,4691,4695,0,29,32,33,6653,6655,6656,42,4713,4710,4709,0,34,35,30,6657,6658,6654,42,4709,4712,4713,0,30,29,34,6654,6653,6657,42,4695,4694,4714,0,0,1,2,6628,6627,6659,42,4714,4715,4695,0,2,3,0,6659,6660,6628,42,4694,4693,4716,0,1,4,5,6627,6626,6661,42,4716,4714,4694,0,5,2,1,6661,6659,6627,42,4717,4718,4714,0,6,7,2,6662,6663,6659,42,4714,4716,4717,0,2,5,6,6659,6661,6662,42,4718,4719,4715,0,7,8,3,6663,6664,6660,42,4715,4714,4718,0,3,2,7,6660,6659,6663,42,4693,4699,4720,0,9,10,11,6634,6633,6665,42,4720,4716,4693,0,11,12,9,6665,6666,6634,42,4699,4698,4721,0,10,13,14,6633,6632,6667,42,4721,4720,4699,0,14,11,10,6667,6665,6633,42,4722,4723,4720,0,15,16,11,6668,6669,6665,42,4720,4721,4722,0,11,14,15,6665,6667,6668,42,4723,4717,4716,0,16,17,12,6669,6670,6666,42,4716,4720,4723,0,12,11,16,6666,6665,6669,42,4698,4703,4724,0,18,19,20,6640,6639,6671,42,4724,4721,4698,0,20,21,18,6671,6672,6640,42,4703,4702,4725,0,19,22,23,6639,6638,6673,42,4725,4724,4703,0,23,20,19,6673,6671,6639,42,4726,4727,4724,0,24,25,20,6674,6675,6671,42,4724,4725,4726,0,20,23,24,6671,6673,6674,42,4727,4722,4721,0,25,26,21,6675,6676,6672,42,4721,4724,4727,0,21,20,25,6672,6671,6675,42,4702,4707,4728,0,9,10,11,6646,6645,6677,42,4728,4725,4702,0,11,12,9,6677,6678,6646,42,4707,4706,4729,0,10,13,14,6645,6644,6679,42,4729,4728,4707,0,14,11,10,6679,6677,6645,42,4730,4731,4728,0,15,16,11,6680,6681,6677,42,4728,4729,4730,0,11,14,15,6677,6679,6680,42,4731,4726,4725,0,16,17,12,6681,6682,6678,42,4725,4728,4731,0,12,11,16,6678,6677,6681,42,4706,4711,4732,0,0,1,2,6652,6651,6683,42,4732,4729,4706,0,2,3,0,6683,6684,6652,42,4711,4710,4733,0,1,4,5,6651,6650,6685,42,4733,4732,4711,0,5,2,1,6685,6683,6651,42,4734,4735,4732,0,6,7,2,6686,6687,6683,42,4732,4733,4734,0,2,5,6,6683,6685,6686,42,4735,4730,4729,0,7,8,3,6687,6688,6684,42,4729,4732,4735,0,3,2,7,6684,6683,6687,42,4710,4713,4736,0,27,28,29,6658,6657,6689,42,4736,4733,4710,0,29,30,27,6689,6690,6658,42,4713,4695,4715,0,28,31,32,6657,6656,6691,42,4715,4736,4713,0,32,29,28,6691,6689,6657,42,4719,4737,4736,0,33,34,29,6692,6693,6689,42,4736,4715,4719,0,29,32,33,6689,6691,6692,42,4737,4734,4733,0,34,35,30,6693,6694,6690,42,4733,4736,4737,0,30,29,34,6690,6689,6693,42,4719,4718,4738,0,0,1,2,6664,6663,6695,42,4738,4739,4719,0,2,3,0,6695,6696,6664,42,4718,4717,4740,0,1,4,5,6663,6662,6697,42,4740,4738,4718,0,5,2,1,6697,6695,6663,42,4741,4742,4738,0,6,7,2,6698,6699,6695,42,4738,4740,4741,0,2,5,6,6695,6697,6698,42,4742,4743,4739,0,7,8,3,6699,6700,6696,42,4739,4738,4742,0,3,2,7,6696,6695,6699,42,4717,4723,4744,0,9,10,11,6670,6669,6701,42,4744,4740,4717,0,11,12,9,6701,6702,6670,42,4723,4722,4745,0,10,13,14,6669,6668,6703,42,4745,4744,4723,0,14,11,10,6703,6701,6669,42,4746,4747,4744,0,15,16,11,6704,6705,6701,42,4744,4745,4746,0,11,14,15,6701,6703,6704,42,4747,4741,4740,0,16,17,12,6705,6706,6702,42,4740,4744,4747,0,12,11,16,6702,6701,6705,42,4722,4727,4748,0,18,19,20,6676,6675,6707,42,4748,4745,4722,0,20,21,18,6707,6708,6676,42,4727,4726,4749,0,19,22,23,6675,6674,6709,42,4749,4748,4727,0,23,20,19,6709,6707,6675,42,4750,4751,4748,0,24,25,20,6710,6711,6707,42,4748,4749,4750,0,20,23,24,6707,6709,6710,42,4751,4746,4745,0,25,26,21,6711,6711,6708,42,4745,4748,4751,0,21,20,25,6708,6707,6711,42,4726,4731,4752,0,9,10,11,6682,6681,6712,42,4752,4749,4726,0,11,12,9,6712,6713,6682,42,4731,4730,4753,0,10,13,14,6681,6680,6714,42,4753,4752,4731,0,14,11,10,6714,6712,6681,42,4754,4755,4752,0,15,16,11,6715,6716,6712,42,4752,4753,4754,0,11,14,15,6712,6714,6715,42,4755,4750,4749,0,16,17,12,6716,6717,6713,42,4749,4752,4755,0,12,11,16,6713,6712,6716,42,4730,4735,4756,0,0,1,2,6688,6687,6718,42,4756,4753,4730,0,2,3,0,6718,6719,6688,42,4735,4734,4757,0,1,4,5,6687,6686,6720,42,4757,4756,4735,0,5,2,1,6720,6718,6687,42,4758,4759,4756,0,6,7,2,6721,6722,6718,42,4756,4757,4758,0,2,5,6,6718,6720,6721,42,4759,4754,4753,0,7,8,3,6722,6723,6719,42,4753,4756,4759,0,3,2,7,6719,6718,6722,42,4734,4737,4760,0,27,28,29,6694,6693,6724,42,4760,4757,4734,0,29,30,27,6724,6724,6694,42,4737,4719,4739,0,28,31,32,6693,6692,6725,42,4739,4760,4737,0,32,29,28,6725,6724,6693,42,4743,4761,4760,0,33,34,29,6726,6727,6724,42,4760,4739,4743,0,29,32,33,6724,6725,6726,42,4761,4758,4757,0,34,35,30,6727,6728,6724,42,4757,4760,4761,0,30,29,34,6724,6724,6727,42,4743,4742,4762,0,0,1,2,6700,6699,6729,42,4762,4763,4743,0,2,3,0,6729,6730,6700,42,4742,4741,4764,0,1,4,5,6699,6698,6731,42,4764,4762,4742,0,5,2,1,6731,6729,6699,42,4765,4766,4762,0,6,7,2,6732,6733,6729,42,4762,4764,4765,0,2,5,6,6729,6731,6732,42,4766,4767,4763,0,7,8,3,6733,6734,6730,42,4763,4762,4766,0,3,2,7,6730,6729,6733,42,4741,4747,4768,0,9,10,11,6706,6705,6735,42,4768,4764,4741,0,11,12,9,6735,6736,6706,42,4747,4746,4769,0,10,13,14,6705,6704,6737,42,4769,4768,4747,0,14,11,10,6737,6735,6705,42,4770,4771,4768,0,15,16,11,6738,6739,6735,42,4768,4769,4770,0,11,14,15,6735,6737,6738,42,4771,4765,4764,0,16,17,12,6739,6740,6736,42,4764,4768,4771,0,12,11,16,6736,6735,6739,42,4746,4751,4772,0,18,19,20,6711,6711,6741,42,4772,4769,4746,0,20,21,18,6741,6742,6711,42,4751,4750,4773,0,19,22,23,6711,6710,6743,42,4773,4772,4751,0,23,20,19,6743,6741,6711,42,4774,4775,4772,0,24,25,20,6744,6745,6741,42,4772,4773,4774,0,20,23,24,6741,6743,6744,42,4775,4770,4769,0,25,26,21,6745,6746,6742,42,4769,4772,4775,0,21,20,25,6742,6741,6745,42,4750,4755,4776,0,9,10,11,6717,6716,6747,42,4776,4773,4750,0,11,12,9,6747,6748,6717,42,4755,4754,4777,0,10,13,14,6716,6715,6749,42,4777,4776,4755,0,14,11,10,6749,6747,6716,42,4778,4779,4776,0,15,16,11,6750,6751,6747,42,4776,4777,4778,0,11,14,15,6747,6749,6750,42,4779,4774,4773,0,16,17,12,6751,6752,6748,42,4773,4776,4779,0,12,11,16,6748,6747,6751,42,4754,4759,4780,0,0,1,2,6723,6722,6753,42,4780,4777,4754,0,2,3,0,6753,6754,6723,42,4759,4758,4781,0,1,4,5,6722,6721,6755,42,4781,4780,4759,0,5,2,1,6755,6753,6722,42,4782,4783,4780,0,6,7,2,6756,6757,6753,42,4780,4781,4782,0,2,5,6,6753,6755,6756,42,4783,4778,4777,0,7,8,3,6757,6758,6754,42,4777,4780,4783,0,3,2,7,6754,6753,6757,42,4758,4761,4784,0,27,28,29,6728,6727,6759,42,4784,4781,4758,0,29,30,27,6759,6760,6728,42,4761,4743,4763,0,28,31,32,6727,6726,5270,42,4763,4784,4761,0,32,29,28,5270,6759,6727,42,4767,4785,4784,0,33,34,29,6761,6762,6759,42,4784,4763,4767,0,29,32,33,6759,5270,6761,42,4785,4782,4781,0,34,35,30,6762,6763,6760,42,4781,4784,4785,0,30,29,34,6760,6759,6762,42,4767,4766,4786,0,0,1,2,6734,6733,6764,42,4786,4787,4767,0,2,3,0,6764,6765,6734,42,4766,4765,4788,0,1,4,5,6733,6732,6766,42,4788,4786,4766,0,5,2,1,6766,6764,6733,42,4,1,4786,0,6,7,2,4,1,6764,42,4786,4788,4,0,2,5,6,6764,6766,4,42,1,0,4787,0,7,8,3,1,0,6765,42,4787,4786,1,0,3,2,7,6765,6764,1,42,4765,4771,4789,0,9,10,11,6740,6739,6767,42,4789,4788,4765,0,11,12,9,6767,6768,6740,42,4771,4770,4790,0,10,13,14,6739,6738,6769,42,4790,4789,4771,0,14,11,10,6769,6767,6739,42,11,9,4789,0,15,16,11,13,10,6767,42,4789,4790,11,0,11,14,15,6767,6769,13,42,9,4,4788,0,16,17,12,10,9,6768,42,4788,4789,9,0,12,11,16,6768,6767,10,42,4770,4775,4791,0,18,19,20,6746,6745,6770,42,4791,4790,4770,0,20,21,18,6770,6771,6746,42,4775,4774,4792,0,19,22,23,6745,6744,6772,42,4792,4791,4775,0,23,20,19,6772,6770,6745,42,17,15,4791,0,24,25,20,22,19,6770,42,4791,4792,17,0,20,23,24,6770,6772,22,42,15,11,4790,0,25,26,21,19,18,6771,42,4790,4791,15,0,21,20,25,6771,6770,19,42,4774,4779,4793,0,9,10,11,6752,6751,6773,42,4793,4792,4774,0,11,12,9,6773,6774,6752,42,4779,4778,4794,0,10,13,14,6751,6750,6775,42,4794,4793,4779,0,14,11,10,6775,6773,6751,42,23,21,4793,0,15,16,11,31,28,6773,42,4793,4794,23,0,11,14,15,6773,6775,31,42,21,17,4792,0,16,17,12,28,27,6774,42,4792,4793,21,0,12,11,16,6774,6773,28,42,4778,4783,4795,0,0,1,2,6758,6757,6776,42,4795,4794,4778,0,2,3,0,6776,6777,6758,42,4783,4782,4796,0,1,4,5,6757,6756,6778,42,4796,4795,4783,0,5,2,1,6778,6776,6757,42,29,27,4795,0,6,7,2,40,37,6776,42,4795,4796,29,0,2,5,6,6776,6778,40,42,27,23,4794,0,7,8,3,37,36,6777,42,4794,4795,27,0,3,2,7,6777,6776,37,42,4782,4785,4797,0,27,28,29,6763,6762,6779,42,4797,4796,4782,0,29,30,27,6779,6780,6763,42,4785,4767,4787,0,28,31,32,6762,6761,6781,42,4787,4797,4785,0,32,29,28,6781,6779,6762,42,0,33,4797,0,33,34,29,49,46,6779,42,4797,4787,0,0,29,32,33,6779,6781,49,42,33,29,4796,0,34,35,30,46,45,6780,42,4796,4797,33,0,30,29,34,6780,6779,46,42,3380,3403,4798,0,45,46,47,6782,6783,6784,42,4798,3381,3380,0,47,48,45,6784,6785,6782,42,3403,3407,3424,0,46,49,50,6783,6786,6787,42,3424,4798,3403,0,50,47,46,6787,6784,6783,42,3399,3398,4798,0,15,16,47,6788,6789,6784,42,4798,3424,3399,0,47,50,15,6784,6787,6788,42,3398,3375,3381,0,16,17,48,6789,6790,6785,42,3381,4798,3398,0,48,47,16,6785,6784,6789,42,4127,4126,4799,0,51,52,53,6791,6792,6793,42,4799,4151,4127,0,53,54,51,6793,6794,6791,42,4126,4103,4108,0,52,55,56,6792,6795,6796,42,4108,4799,4126,0,56,53,52,6796,6793,6792,42,4107,4130,4799,0,57,58,53,6797,6798,6793,42,4799,4108,4107,0,53,56,57,6793,6796,6797,42,4130,4134,4151,0,58,17,54,6798,6799,6794,42,4151,4799,4130,0,54,53,58,6794,6793,6798] - -} diff --git a/tools/hexgl/geometries/tracks/edge/track.js b/tools/hexgl/geometries/tracks/edge/track.js deleted file mode 100644 index 020c51f..0000000 --- a/tools/hexgl/geometries/tracks/edge/track.js +++ /dev/null @@ -1,38 +0,0 @@ -{ - - "metadata" : - { - "formatVersion" : 3.1, - "sourceFile" : "edge.obj", - "generatedBy" : "OBJConverter", - "vertices" : 3208, - "faces" : 3208, - "normals" : 6150, - "colors" : 0, - "uvs" : 0, - "materials" : 0 - }, - - "scale" : 1.000000, - - "materials": [ { - "DbgColor" : 15658734, - "DbgIndex" : 0, - "DbgName" : "default" - }], - - "vertices": [335.748200,375.780400,-4635.625000,329.749300,375.793300,-4635.544400,328.375500,367.639100,-4484.322300,334.375500,367.614300,-4484.312000,335.748200,351.780400,-4635.625000,334.375500,343.614300,-4484.312000,425.731800,351.585400,-4636.838900,424.375400,343.240800,-4484.157700,431.730700,375.572300,-4636.919900,430.375400,367.215800,-4484.147500,425.731800,375.585400,-4636.838900,424.375400,367.240800,-4484.157700,419.732900,363.598500,-4636.758300,418.375400,355.265800,-4484.168000,341.831400,363.402900,-4635.707500,340.459900,355.224900,-4484.301300,328.722100,357.501700,-4344.296900,334.721900,357.475700,-4344.351600,334.721900,333.475700,-4344.351600,424.718100,333.084800,-4345.170400,430.717900,357.058600,-4345.225100,424.718100,357.084800,-4345.170400,418.718400,345.110900,-4345.115700,340.806000,345.085100,-4344.406700,331.376500,346.176700,-4214.849600,337.372800,346.161100,-4215.060500,337.372800,322.161100,-4215.060500,427.317000,321.926800,-4218.228500,433.313300,345.911200,-4218.439500,427.317000,345.926800,-4218.228500,421.320700,333.942400,-4218.017100,343.453400,333.780900,-4215.274900,338.046300,334.279100,-4095.654300,344.026600,334.290500,-4096.140100,344.026600,310.290500,-4096.140100,433.731200,308.723800,-4103.702600,439.711500,332.381200,-4104.377000,433.731200,332.621200,-4103.835900,427.750900,321.021500,-4103.213900,350.091000,321.937800,-4096.632300,350.542100,321.091000,-3986.691400,356.472400,320.984400,-3987.654800,356.472400,296.717000,-3987.593500,445.428200,293.620000,-4002.095200,451.358600,317.179700,-4003.641100,445.428200,317.472300,-4002.630400,439.497800,305.976600,-4001.328100,362.486200,308.271700,-3988.625500,370.854500,307.458100,-3887.921400,376.658500,307.388400,-3889.533700,376.658500,283.158700,-3889.155800,463.717400,281.044900,-3913.113800,469.521400,304.686800,-3915.807100,463.717400,304.896500,-3914.163100,457.913500,293.256200,-3911.980000,382.544000,294.727000,-3891.013700,401.221300,296.196900,-3798.678700,406.750500,296.265300,-3801.122100,406.750500,272.259600,-3800.251500,489.689900,272.199700,-3836.480000,495.219200,295.969500,-3840.523900,489.689900,296.050500,-3838.061000,484.160600,284.211700,-3834.817600,412.357600,283.918600,-3803.179400,444.017900,288.061800,-3719.206800,449.036500,288.283600,-3722.607700,449.036500,264.419500,-3721.068400,524.315200,266.513200,-3771.599100,529.333900,290.378300,-3777.112800,524.315200,290.328800,-3773.703100,519.296600,278.359500,-3769.259300,454.125600,276.205300,-3725.246100,501.210200,283.052200,-3650.216800,505.442400,283.351700,-3654.564500,505.442400,259.547300,-3652.385300,568.924700,262.755900,-3717.214100,573.156900,286.651800,-3724.175500,568.924700,286.528000,-3719.823500,564.692500,274.505400,-3714.179700,509.734000,271.382900,-3657.837200,573.705200,279.965200,-3592.888700,576.960100,280.242700,-3598.010300,576.960100,256.497500,-3595.183100,625.783000,259.613500,-3671.761200,629.037800,283.479100,-3679.985800,625.783000,283.343100,-3674.861300,622.528100,271.331500,-3668.194800,580.260700,268.284200,-3601.738800,661.622600,277.400800,-3547.678200,663.886700,277.495800,-3553.301300,663.886700,254.942800,-3550.025400,697.849600,255.760300,-3634.253200,700.113800,279.557900,-3643.466300,697.849600,279.544600,-3637.842300,695.585400,267.487900,-3630.405300,666.182700,266.424400,-3557.377700,765.378100,273.990600,-3514.084700,766.780900,273.876200,-3519.975100,766.780900,251.494000,-3516.244600,787.822100,249.592300,-3604.564900,789.225000,273.324500,-3614.471200,787.822100,273.464700,-3608.581100,786.419400,261.335900,-3600.627900,768.203400,262.622900,-3524.091100,886.478600,264.628100,-3490.806600,887.155200,264.409100,-3496.821800,887.155200,242.142500,-3492.895500,897.304200,238.887700,-3583.127200,897.980700,262.628500,-3593.366900,897.304200,262.845100,-3587.351600,896.627600,250.599900,-3579.138700,887.841300,253.058600,-3500.959200,1013.057800,247.749900,-3486.780800,1012.464500,247.626800,-3492.801300,1012.464500,225.497100,-3489.123000,1003.564600,223.446400,-3579.400900,1002.971300,247.439400,-3589.502900,1003.564600,247.591400,-3583.479000,1004.158000,234.927700,-3575.293000,1011.862800,236.350300,-3497.051800,1126.662100,225.936900,-3508.910600,1124.731000,226.076200,-3514.630600,1124.731000,203.713900,-3511.435100,1095.764000,205.019900,-3597.102100,1093.832900,229.414000,-3606.534200,1095.764000,229.380800,-3600.804200,1097.695100,216.496800,-3593.130600,1122.772700,215.020800,-3518.825400,1225.974400,202.449600,-3554.241500,1222.819000,202.869200,-3559.357400,1222.819000,180.241700,-3556.795400,1175.487500,185.275100,-3633.287100,1172.332300,210.099900,-3641.617200,1175.487500,209.852300,-3636.482400,1178.643100,196.741000,-3629.691200,1219.619100,192.042700,-3563.260300,1310.155800,180.393600,-3618.872800,1306.014900,180.990700,-3623.185800,1306.014900,158.109800,-3621.322000,1243.902600,165.701700,-3685.649900,1239.761700,190.882200,-3692.588900,1243.902600,190.475900,-3688.249800,1248.043500,177.198100,-3682.582500,1301.815900,170.284500,-3626.621800,1379.198700,161.994200,-3698.582000,1374.338900,162.621600,-3702.028800,1374.338900,139.553200,-3700.778600,1301.439800,147.801400,-3752.000500,1296.579800,173.203000,-3757.418500,1301.439800,172.740900,-3753.948500,1306.299800,159.408200,-3749.504400,1369.410600,151.918000,-3704.867900,1433.666500,148.045600,-3789.102500,1428.314000,148.613100,-3791.725800,1428.314000,125.236500,-3790.932100,1348.026900,132.886900,-3829.720200,1342.674400,158.375100,-3833.627900,1348.026900,157.929500,-3830.999300,1353.379400,144.674500,-3827.771700,1422.886200,137.682700,-3793.938000,1474.270800,137.681000,-3886.712400,1468.595200,138.202000,-3888.582000,1468.595200,114.563100,-3888.210900,1383.461900,121.543600,-3915.583000,1377.786400,147.038800,-3918.104000,1383.461900,146.629500,-3916.258300,1389.137500,133.524100,-3914.145500,1462.839800,127.086600,-3890.252400,1501.631800,129.138400,-3987.682400,1495.756300,129.698000,-3988.872600,1495.756300,105.997100,-3988.798100,1407.623400,113.158300,-4005.834000,1401.748000,138.674300,-4007.182400,1407.623400,138.266800,-4006.057100,1413.499000,125.248000,-4004.892600,1489.798200,118.608800,-3990.021500,1516.206800,120.453800,-4088.627400,1510.227200,121.019100,-4089.121600,1510.227200,97.318300,-4089.121600,1420.533200,105.854100,-4096.378400,1414.553600,131.519400,-4096.834000,1420.533200,131.021800,-4096.382800,1426.512700,117.855600,-4095.956100,1504.163500,109.966500,-4089.623000,1518.278400,112.751500,-4187.338400,1512.283900,113.264200,-4187.082000,1512.283900,89.471200,-4187.082000,1422.366300,97.630500,-4183.231000,1416.371800,123.426800,-4182.974600,1422.366300,122.847000,-4183.231000,1428.360800,109.562700,-4183.487800,1506.205100,102.091900,-4186.821300,1507.906000,106.284600,-4281.083500,1502.005500,106.743900,-4279.995600,1502.005500,82.865100,-4279.995600,1413.496500,90.255100,-4263.681600,1407.595900,115.974800,-4262.593800,1413.496500,115.442600,-4263.681600,1419.397100,102.265900,-4264.769000,1496.021900,95.450300,-4278.893100,1484.781300,101.102700,-4367.180700,1479.146200,101.510700,-4365.120100,1479.146200,77.549200,-4365.120100,1394.620500,84.191200,-4334.210900,1388.985400,109.838800,-4332.150400,1394.620500,109.352900,-4334.210900,1400.255600,96.280800,-4336.271500,1473.431900,90.099900,-4363.030800,1448.646200,97.077700,-4441.918900,1443.514900,97.437700,-4438.809100,1443.514900,73.401500,-4438.809100,1366.544400,79.341000,-4392.166500,1361.413100,104.922200,-4389.057100,1366.544400,104.479700,-4392.166500,1371.675800,91.505600,-4395.275900,1438.311400,85.917800,-4435.655800,1410.457200,93.531900,-4500.747600,1405.521100,93.840800,-4497.336400,1405.521100,69.791100,-4497.336400,1331.479200,74.988200,-4446.172400,1326.543200,100.422500,-4442.761200,1331.479200,100.026600,-4446.172400,1336.415400,87.157500,-4449.583000,1400.515600,82.204300,-4493.877900,1372.395800,90.674300,-4553.400400,1367.595000,90.932000,-4549.801800,1367.595000,66.880500,-4549.801800,1295.582400,71.334200,-4495.818400,1290.781500,96.607800,-4492.219700,1295.582400,96.258700,-4495.818400,1300.383300,83.495300,-4499.417500,1362.726600,79.178800,-4546.152300,1335.395300,88.388800,-4601.937500,1330.634300,88.593800,-4598.286100,1330.634300,64.550400,-4598.286100,1259.218300,68.241300,-4543.516100,1254.457300,93.337200,-4539.864700,1259.218300,93.036500,-4543.516100,1263.979400,80.382000,-4547.167500,1325.806200,76.720600,-4594.583500,1300.226700,86.679800,-4648.490700,1295.393300,86.828300,-4644.936000,1295.393300,62.796100,-4644.936000,1222.891200,65.639500,-4591.611800,1218.057700,90.539300,-4588.057100,1222.891200,90.294600,-4591.611800,1227.724600,77.759500,-4595.167000,1290.491800,74.829600,-4641.331100,1267.422600,85.521000,-4695.284200,1262.416100,85.611100,-4691.977100,1262.416100,61.590300,-4691.977100,1187.320600,63.518100,-4642.372100,1182.314200,88.203400,-4639.064900,1187.320600,88.022300,-4642.372100,1192.326900,75.618700,-4645.679200,1257.339400,73.482800,-4688.623500,1237.275100,84.887400,-4744.691900,1232.035200,84.921000,-4741.769500,1232.035200,60.912400,-4741.769500,1153.434800,61.922900,-4697.928700,1148.194800,86.376500,-4695.005900,1153.434800,86.261600,-4697.928700,1158.674800,73.998300,-4700.851600,1226.721400,72.660800,-4738.805700,1209.975500,84.776600,-4799.260300,1204.492700,84.776600,-4796.823200,1204.492700,60.776600,-4796.823200,1122.252200,60.965700,-4760.265100,1116.769500,85.169700,-4757.827600,1122.252200,85.118800,-4760.265100,1127.734900,73.002200,-4762.702100,1198.933000,72.412200,-4794.351600,1185.773700,84.776600,-4861.695300,1180.084000,84.776600,-4859.790500,1180.084000,60.776600,-4859.790500,1094.739000,60.776600,-4831.220700,1089.049300,84.776600,-4829.316400,1094.739000,84.776600,-4831.220700,1100.428600,72.776600,-4833.125500,1174.314200,72.412300,-4857.859400,1165.118700,84.776600,-4934.695300,1159.279100,84.776600,-4933.317400,1159.279100,60.776600,-4933.317400,1071.685500,60.776600,-4912.644500,1065.845900,84.776600,-4911.266100,1071.685500,84.776600,-4912.644500,1077.525000,72.776600,-4914.022500,1153.357400,72.412300,-4931.919400,1148.641800,84.520800,-5020.844700,1142.709400,84.541300,-5019.947300,1142.709400,60.442100,-5019.947300,1053.722300,60.705400,-5006.482400,1047.789800,84.714400,-5005.585000,1053.722300,84.703500,-5006.482400,1059.654800,72.683300,-5007.379900,1136.693400,72.081500,-5019.037100,1137.079100,80.826200,-5122.538100,1131.098300,80.885400,-5122.057600,1131.098300,56.504400,-5122.057600,1041.387200,57.381300,-5114.852100,1035.406500,81.420900,-5114.371600,1041.387200,81.365900,-5114.852100,1047.367900,69.247700,-5115.332500,1125.033400,68.113900,-5121.570800,1131.181000,70.769200,-5242.062000,1125.182400,70.841700,-5241.930700,1125.182400,46.141300,-5241.930700,1035.204000,47.233700,-5239.962400,1029.205400,71.271200,-5239.831100,1035.204000,71.199700,-5239.962400,1041.202600,58.992700,-5240.093800,1119.099600,57.675700,-5241.797900,1131.894200,52.115200,-5379.680200,1125.900400,52.157300,-5379.954600,1125.900400,27.124500,-5379.954600,1035.994800,27.763200,-5384.074200,1030.001000,51.752200,-5384.348600,1035.994800,51.709800,-5384.074200,1041.988500,39.456400,-5383.799300,1119.822500,38.535500,-5380.233400,1146.835000,29.750400,-5501.276900,1140.965800,29.604300,-5502.523900,1140.965800,4.305700,-5502.523900,1052.931600,2.073200,-5521.231000,1047.062600,25.853100,-5522.478000,1052.931600,26.003300,-5521.231000,1058.800500,13.878300,-5519.983900,1135.014400,15.449800,-5503.788600,1176.717000,7.595700,-5598.008800,1171.188000,7.161200,-5600.338900,1171.188000,-18.335100,-5600.338900,1088.251000,-25.020100,-5635.288100,1082.721900,-1.556200,-5637.618200,1088.251000,-1.102600,-5635.288100,1093.780200,-12.974000,-5632.958000,1165.581100,-7.541300,-5602.701200,1218.178100,-13.837600,-5674.505400,1213.220600,-14.626200,-5677.885300,1213.220600,-40.276300,-5677.885300,1138.857700,-52.465300,-5728.582000,1133.900100,-29.389400,-5731.961900,1138.857700,-28.557700,-5728.582000,1143.815200,-40.091100,-5725.202100,1208.193400,-29.887600,-5681.312500,1268.802000,-35.114300,-5735.539100,1264.553500,-36.273800,-5739.775400,1264.553500,-62.050700,-5739.775400,1200.823500,-80.011400,-5803.324700,1196.574800,-57.340400,-5807.561500,1200.823500,-56.111800,-5803.324700,1205.072100,-67.280800,-5799.087900,1260.245000,-52.076400,-5744.071800,1326.748800,-57.002400,-5785.153300,1323.183800,-58.501200,-5789.979500,1323.183800,-84.387800,-5789.979500,1268.791900,-107.918900,-5862.370600,1264.469000,-85.877700,-5867.196800,1268.436800,-84.067100,-5862.370600,1272.548100,-94.681800,-5857.544900,1319.568800,-74.790300,-5794.873000,1389.558100,-79.924600,-5826.575200,1386.316700,-81.720700,-5831.745100,1386.308200,-107.868000,-5831.745100,1331.076700,-141.956200,-5909.294900,1325.414600,-121.051500,-5914.464800,1329.562900,-118.338500,-5909.294900,1334.561800,-127.814600,-5904.125000,1382.858500,-98.696000,-5836.987800,1451.053200,-105.614400,-5862.763700,1447.566800,-107.892300,-5868.085400,1447.554900,-134.420900,-5868.085400,1392.971700,-173.963200,-5947.908700,1385.999000,-153.590500,-5953.230500,1389.952400,-150.598800,-5947.908700,1395.572300,-159.684900,-5942.586900,1443.675000,-125.740900,-5873.481400,1512.358900,-129.682800,-5896.906700,1508.792400,-131.982900,-5902.213900,1509.795200,-157.960800,-5902.213900,1457.782200,-196.581500,-5981.821300,1449.307600,-176.317900,-5987.128900,1452.955100,-173.447000,-5981.821300,1459.198000,-182.640800,-5976.514200,1505.354400,-149.437700,-5907.595700,1575.513700,-144.681000,-5932.776400,1571.732400,-146.875600,-5937.860800,1575.179700,-172.046900,-5937.860800,1522.226100,-209.193000,-6014.127400,1511.886500,-188.910300,-6019.211900,1515.520600,-186.119200,-6014.127400,1522.705900,-195.678700,-6009.043000,1569.803000,-163.720200,-5943.016600,1638.826000,-149.092100,-5975.137700,1634.492900,-151.388000,-5979.631800,1640.563200,-176.018700,-5979.631800,1579.325600,-215.394900,-6047.044900,1566.719700,-195.152000,-6051.539100,1570.884900,-192.181100,-6047.044900,1579.669200,-202.149700,-6042.550800,1633.771200,-168.265300,-5984.189000,1698.340600,-150.231200,-6029.682600,1693.082200,-153.113500,-6032.950700,1699.817700,-172.498700,-6032.950700,1622.685800,-219.976400,-6081.974100,1607.590900,-199.794000,-6085.242200,1612.807900,-196.352000,-6081.974100,1623.794700,-206.865800,-6078.706100,1691.256000,-166.001300,-6036.264600,1745.467900,-158.060800,-6099.844200,1739.068700,-161.140300,-6101.248000,1747.092300,-179.636200,-6101.248000,1651.251200,-227.395600,-6122.308600,1634.077000,-207.097000,-6123.712900,1640.511500,-203.814400,-6122.308600,1653.291600,-214.515600,-6120.904800,1736.582300,-173.474200,-6102.671900,1767.388900,-179.855000,-6182.482400,1760.444900,-182.671600,-6182.026400,1769.139800,-201.047800,-6182.026400,1664.983900,-243.300600,-6175.182600,1646.901600,-222.576400,-6174.726600,1653.844800,-219.758700,-6175.182600,1667.393200,-230.900500,-6175.639200,1757.726100,-194.663500,-6181.563500,1754.849400,-217.139200,-6258.654300,1748.384200,-218.805600,-6256.264600,1756.442700,-237.230900,-6256.264600,1658.721300,-263.779100,-6220.416000,1641.282500,-242.064500,-6218.026400,1647.891100,-240.200700,-6220.416000,1660.902100,-252.334600,-6222.806200,1745.838500,-229.668500,-6253.841300,1708.856900,-263.116400,-6319.442400,1704.081700,-263.145900,-6315.302700,1710.680700,-281.734100,-6315.302700,1636.138200,-286.232100,-6253.199700,1620.679200,-263.136900,-6249.059600,1625.999400,-262.576900,-6253.199700,1637.254600,-276.083000,-6257.339800,1702.532000,-272.450000,-6311.104000,1642.107400,-309.553800,-6362.657200,1639.203700,-308.363000,-6357.464800,1644.541400,-327.139700,-6357.464800,1597.419900,-313.732200,-6279.572800,1584.719800,-289.377700,-6274.379900,1588.397000,-289.953300,-6279.572800,1597.259400,-304.679600,-6284.765600,1639.056600,-316.513500,-6352.198700,1567.022100,-350.330400,-6391.544400,1565.356800,-348.720600,-6385.871600,1569.582900,-367.563300,-6385.871600,1542.169400,-346.242900,-6300.781300,1532.461800,-321.075000,-6295.108400,1534.815600,-322.270600,-6300.781300,1541.212800,-337.731600,-6306.454100,1565.935400,-356.436000,-6380.119100,1487.295000,-385.154400,-6410.711900,1486.349500,-383.484000,-6404.846700,1489.027800,-402.893400,-6404.846700,1473.929600,-379.679200,-6316.868700,1467.035800,-354.163000,-6311.003400,1468.482400,-355.545100,-6316.868700,1472.835600,-371.144300,-6322.733900,1486.817100,-391.481300,-6398.898900,1407.693100,-413.111100,-6423.759300,1406.784900,-411.489100,-6417.822300,1407.943500,-431.413500,-6417.822300,1398.499500,-409.183400,-6328.768100,1393.850100,-383.599100,-6322.831100,1394.789900,-384.904400,-6328.768100,1397.769500,-400.296900,-6334.705100,1406.591700,-419.821400,-6411.801800,1340.499600,-439.207100,-6433.475100,1338.526900,-436.811200,-6427.516100,1338.309300,-456.657100,-6427.516100,1321.176000,-432.475900,-6338.129400,1318.162800,-406.800500,-6332.170400,1318.901100,-408.019700,-6338.129400,1320.915500,-423.294900,-6344.088900,1336.140300,-444.296100,-6421.473100,1278.569500,-471.675100,-6442.244100,1276.213900,-468.558400,-6436.288600,1274.993400,-488.048400,-6436.288600,1248.114400,-452.194900,-6346.957500,1244.679800,-425.893000,-6341.002000,1245.937300,-427.342100,-6346.957500,1249.008800,-443.290900,-6352.913100,1272.810500,-474.830500,-6430.249500,1211.839400,-503.060600,-6452.216800,1209.623800,-499.904400,-6446.294900,1207.523200,-519.392600,-6446.294900,1176.993400,-476.828600,-6357.463900,1173.845200,-448.409500,-6351.541500,1175.718500,-450.872000,-6357.463900,1179.007300,-468.859100,-6363.385700,1206.053500,-506.030400,-6440.289600,1139.014900,-525.211400,-6465.287600,1136.822300,-522.331700,-6459.462400,1133.486300,-541.997100,-6459.462400,1102.366700,-501.873600,-6372.085900,1100.815900,-473.612700,-6366.260700,1102.948100,-476.083000,-6372.085900,1105.123500,-493.742600,-6377.911100,1132.856400,-528.871100,-6453.555200,1066.570300,-533.497300,-6482.877000,1063.860100,-530.860400,-6477.301800,1059.090300,-550.855800,-6477.301800,1021.322100,-514.994400,-6393.678700,1021.384500,-487.943900,-6388.103500,1023.974800,-490.126700,-6393.678700,1025.258800,-506.484600,-6399.253400,1058.793000,-537.946900,-6471.648400,1003.775400,-531.069700,-6505.526900,999.756300,-528.253400,-6500.548300,993.705800,-548.565700,-6500.548300,936.692100,-512.410600,-6425.873000,938.090300,-485.530500,-6420.894500,941.918000,-487.561100,-6425.873000,942.757900,-503.446000,-6430.851600,992.820800,-535.227400,-6495.500000,956.011300,-525.920200,-6533.548800,950.249000,-522.404500,-6529.691400,943.251800,-543.104100,-6529.691400,859.619100,-494.901900,-6471.834000,861.496200,-467.118600,-6467.977100,867.004300,-469.986400,-6471.834000,868.452000,-486.458800,-6475.691400,941.131100,-528.650300,-6525.780300,923.945700,-523.588300,-6564.971700,916.805400,-519.409100,-6562.550300,909.242300,-540.519300,-6562.550300,803.462600,-478.522600,-6526.231400,805.212300,-449.367200,-6523.810500,812.199500,-453.433400,-6526.231400,814.520300,-470.895500,-6528.652800,906.063800,-524.978600,-6560.094700,907.615600,-526.481700,-6597.908200,899.745100,-522.003900,-6597.147000,891.901800,-543.553200,-6597.147000,774.263600,-475.237300,-6585.729500,775.695600,-445.201300,-6584.967800,783.508400,-449.837400,-6585.729500,786.486500,-467.756800,-6586.490200,888.181600,-527.305800,-6596.375000,905.142900,-534.929400,-6633.474600,897.282500,-530.554000,-6634.306200,889.560200,-552.802000,-6634.306200,774.449800,-489.343700,-6646.781300,775.669700,-459.885900,-6647.612800,783.297400,-464.112300,-6646.781300,786.283300,-481.596800,-6645.949200,885.656100,-536.709000,-6635.149400,917.088000,-549.877700,-6671.878900,909.944300,-546.128800,-6674.051300,902.967700,-569.355300,-6674.051300,800.696500,-518.555700,-6706.638700,801.700600,-490.463700,-6708.811000,808.439700,-493.625000,-6706.638700,811.066300,-510.080800,-6704.465800,899.157900,-553.835700,-6676.253900,944.883600,-571.969400,-6712.037100,938.717300,-568.868000,-6715.265600,932.750200,-592.704000,-6715.265600,847.913800,-556.204800,-6763.696300,848.023700,-531.122400,-6766.924800,853.600500,-533.147600,-6763.696300,856.283600,-546.797400,-6760.467300,929.252600,-577.926100,-6718.540000,988.085300,-598.178000,-6752.213900,982.876600,-595.775600,-6756.257800,978.175800,-619.410500,-6756.257800,909.348400,-594.209400,-6816.920400,908.548000,-569.437700,-6820.964800,912.884700,-570.644500,-6816.920400,913.849600,-582.527200,-6812.876000,975.005500,-605.522200,-6760.358900,1044.496300,-622.832000,-6790.581100,1040.176600,-620.892800,-6795.254900,1036.683100,-643.762800,-6795.254900,979.588200,-623.543800,-6865.360800,978.106400,-598.875200,-6870.034200,981.753600,-599.870000,-6865.360800,983.121900,-612.309400,-6860.687000,1033.861100,-630.850300,-6799.994600,1110.002200,-640.627000,-6825.427700,1106.432600,-638.969100,-6830.586400,1103.698700,-660.964200,-6830.586400,1055.929000,-643.874800,-6907.963900,1053.856400,-619.265400,-6913.122100,1056.958700,-620.115800,-6907.963900,1059.033300,-633.054400,-6902.805700,1101.392600,-648.871500,-6835.817400,1179.218900,-649.981400,-6855.169400,1176.260300,-648.567500,-6860.694300,1173.674600,-670.176800,-6860.694300,1133.452000,-656.726700,-6943.563500,1131.220500,-632.221600,-6949.088400,1133.847400,-632.826900,-6943.563500,1136.529300,-645.766500,-6938.039100,1172.096200,-658.525400,-6866.296400,1247.748900,-653.306200,-6878.339800,1245.363600,-652.246600,-6884.124000,1242.701300,-674.187600,-6884.124000,1210.889200,-666.979100,-6970.890600,1209.144800,-642.783200,-6976.675800,1211.087400,-642.979100,-6970.890600,1213.614000,-655.192900,-6965.106400,1241.858600,-662.699300,-6889.990200,1315.389900,-654.505400,-6893.537100,1313.786400,-654.016600,-6899.479500,1311.616200,-677.151900,-6899.479500,1295.803200,-675.878800,-6988.618200,1294.975100,-651.807100,-6994.560500,1295.803200,-651.878800,-6988.618200,1296.631300,-663.950100,-6982.675800,1311.305900,-665.610600,-6905.505900,1389.284100,-657.791900,-6899.393100,1389.231400,-657.788300,-6905.392600,1389.231400,-681.788300,-6905.392600,1388.515100,-685.012300,-6993.704100,1387.602400,-662.595000,-6997.115200,1387.789800,-661.857500,-6991.745100,1388.048800,-672.315800,-6986.789100,1389.178300,-670.149300,-6911.476600,1479.653600,-661.611700,-6893.701200,1479.716300,-662.139500,-6899.029300,1480.168500,-686.983900,-6899.711400,1482.640000,-700.059300,-6975.265100,1481.231900,-679.005000,-6974.971700,1481.145400,-677.928100,-6970.219200,1481.419100,-687.054000,-6966.847700,1479.945100,-675.915600,-6903.144500,1572.694000,-669.232400,-6887.645500,1571.856300,-670.102500,-6892.114700,1573.179800,-695.397900,-6893.555700,1562.719600,-709.585700,-6961.000000,1559.718300,-688.757200,-6958.453600,1560.566800,-687.775100,-6953.896500,1562.199200,-696.668300,-6951.498000,1572.075900,-684.481800,-6894.214800,1658.052700,-674.112100,-6893.482400,1656.172000,-674.942000,-6897.243200,1658.742100,-699.952500,-6898.311500,1631.829500,-712.357200,-6958.864300,1626.517600,-691.524500,-6955.606900,1628.619100,-690.665300,-6951.309600,1632.036300,-699.678200,-6950.006800,1656.493700,-688.973100,-6898.367700,1733.520800,-673.533100,-6915.413100,1730.516200,-674.222300,-6918.377000,1734.815600,-698.089600,-6918.578600,1689.553200,-709.077400,-6969.689900,1681.317600,-688.379500,-6965.902800,1684.795400,-687.517300,-6962.165000,1690.228500,-697.044600,-6962.507800,1730.777100,-687.517300,-6919.131800,1797.145600,-666.721800,-6950.713900,1793.135100,-667.290300,-6952.743200,1799.007200,-689.980600,-6953.602100,1737.156900,-700.891400,-6992.364300,1725.770800,-680.589500,-6987.814500,1730.463400,-679.596100,-6984.900400,1738.134500,-689.224500,-6986.061500,1793.154900,-679.727800,-6953.578600,1851.827000,-653.615700,-6991.214800,1846.887300,-654.198600,-6992.523900,1851.744400,-675.921000,-6998.945800,1775.843000,-688.317300,-7026.292500,1761.299800,-668.659200,-7020.675800,1767.011000,-667.471100,-7018.483400,1776.966700,-676.772700,-7020.208500,1844.476900,-665.988300,-6997.253900,1893.246500,-632.827300,-7042.406300,1887.403100,-633.681300,-7043.345700,1895.155600,-654.697300,-7050.578100,1805.617900,-671.677500,-7071.226600,1787.974400,-652.848900,-7064.272500,1794.500700,-651.351800,-7062.630900,1806.445300,-660.079000,-7065.286100,1885.555800,-645.391500,-7048.114300,1921.155600,-606.104900,-7103.534700,1914.601700,-607.440600,-7104.139200,1925.516100,-627.764600,-7112.532200,1825.664100,-651.738400,-7126.616700,1805.046900,-633.846600,-7118.100600,1812.132400,-631.927500,-7116.991700,1825.877600,-639.964700,-7120.688500,1913.644500,-619.286000,-7109.152300,1935.366200,-576.141400,-7173.967800,1928.282200,-578.077300,-7174.215300,1942.307900,-597.763900,-7184.033200,1835.082600,-630.002600,-7191.147500,1811.775800,-613.067100,-7180.913100,1819.215200,-610.668800,-7180.347700,1834.515600,-617.975500,-7185.170400,1928.372100,-590.200900,-7179.582000,1935.746700,-546.237200,-7252.405300,1928.335000,-548.800800,-7252.199700,1945.098900,-567.947000,-7263.485400,1833.502800,-608.616800,-7262.356900,1808.007000,-592.562900,-7250.372600,1815.613600,-589.685200,-7250.409200,1832.121900,-596.298000,-7256.409200,1929.485600,-561.278200,-7257.841800,1922.902000,-519.899000,-7336.063000,1915.392300,-523.033600,-7335.249000,1934.244300,-541.773400,-7347.782200,1821.506000,-589.986200,-7336.427700,1794.524900,-574.651400,-7322.809600,1802.114600,-571.350100,-7323.555200,1819.380100,-577.379300,-7330.731400,1917.504800,-535.874300,-7340.897500,1898.488400,-500.253300,-7420.714800,1891.125500,-503.823000,-7419.095700,1911.243700,-522.316000,-7432.437500,1800.803000,-576.226100,-7408.364700,1773.157200,-561.381200,-7393.323200,1780.538300,-557.761500,-7394.928200,1798.046500,-563.377700,-7403.247600,1894.028000,-516.972700,-7424.332500,1864.115100,-488.928800,-7501.033200,1857.184200,-492.736800,-7498.385700,1877.713000,-511.149100,-7511.997100,1774.126100,-568.602100,-7472.539600,1746.650300,-553.982800,-7456.270500,1753.597300,-550.189600,-7458.928200,1770.808500,-555.602700,-7468.391600,1860.732100,-506.084000,-7502.713900,1820.049100,-484.187300,-7571.915000,1813.977200,-488.099000,-7568.063500,1834.409100,-506.511300,-7581.610400,1743.993400,-566.021600,-7524.292000,1717.349000,-551.470000,-7506.802200,1723.517000,-547.609400,-7510.715300,1739.919100,-552.954500,-7521.415000,1818.344000,-501.550300,-7571.135700,1766.161900,-485.970000,-7634.050300,1761.162800,-489.804500,-7629.216300,1781.077600,-508.285500,-7642.419900,1706.989700,-567.522900,-7570.272500,1681.596200,-552.876200,-7551.887700,1686.794100,-549.073900,-7556.882800,1702.074500,-554.499300,-7568.561500,1766.390900,-503.248300,-7631.138200,1705.595500,-495.288200,-7686.860400,1701.718300,-498.885100,-7681.428700,1720.831800,-517.877300,-7694.087900,1662.798300,-573.544400,-7611.692400,1639.045000,-558.575600,-7592.957000,1643.252100,-554.983500,-7598.735800,1657.200800,-560.684200,-7610.965800,1708.135700,-512.800000,-7682.764200,1641.706500,-511.083800,-7729.423300,1638.812500,-514.319100,-7723.736800,1656.390300,-533.747300,-7735.315900,1612.473500,-583.543800,-7647.291000,1590.667100,-568.081500,-7628.774900,1593.944200,-564.793200,-7635.030300,1606.437400,-570.904400,-7647.365700,1645.354900,-528.030800,-7724.192900,1576.219600,-530.596200,-7760.546400,1574.002900,-533.324300,-7754.837900,1589.670400,-553.310500,-7764.976600,1557.418900,-596.597700,-7675.794900,1537.775900,-580.530900,-7658.061000,1540.244600,-577.577900,-7664.503400,1551.235100,-584.171600,-7676.512700,1580.266400,-546.859900,-7754.525400,1511.000500,-551.235700,-7780.148400,1509.257000,-553.510700,-7774.640600,1522.814200,-574.164400,-7783.033200,1499.325600,-611.395000,-7696.184100,1481.955900,-594.672200,-7679.743200,1483.770900,-592.028000,-7686.129400,1493.287800,-599.115100,-7697.436500,1514.913200,-566.976300,-7773.612800,1447.582500,-570.475500,-7788.972200,1446.132900,-572.414200,-7783.778800,1457.570200,-593.829500,-7790.216800,1439.979400,-626.323200,-7707.906300,1424.866100,-608.949000,-7693.176800,1426.195800,-606.536300,-7699.326200,1434.337500,-614.073200,-7709.634300,1450.977400,-585.971900,-7782.038100,1386.929400,-585.924700,-7788.334000,1385.680100,-587.681400,-7783.396500,1394.418200,-609.933100,-7789.872600,1381.080800,-639.607200,-7710.940400,1368.080100,-621.636400,-7698.206500,1369.057100,-619.337600,-7704.058100,1376.008100,-627.234900,-7713.128900,1389.120800,-601.521200,-7782.323200,1329.535400,-595.561000,-7779.613300,1328.474600,-597.300700,-7774.852500,1334.205800,-620.438800,-7781.237800,1324.109900,-649.492200,-7705.739300,1312.978100,-631.019900,-7695.124000,1313.699500,-628.746500,-7700.703600,1319.685100,-636.827000,-7708.390100,1330.032000,-611.609900,-7774.595200,1275.461700,-598.001100,-7764.291000,1274.635700,-599.867100,-7759.635700,1277.472200,-623.911300,-7765.480500,1270.288100,-654.446700,-7693.112300,1260.739500,-635.594000,-7684.558100,1261.267600,-633.232700,-7689.857400,1266.501600,-641.321800,-7696.216800,1274.314000,-614.794800,-7759.668900,1223.391500,-592.771500,-7744.965800,1222.917100,-594.825700,-7740.309600,1224.235000,-620.101800,-7744.382800,1220.469100,-653.372600,-7674.128400,1212.257800,-634.267900,-7667.396000,1212.605800,-631.760000,-7672.446300,1216.803200,-639.647800,-7678.043500,1221.592800,-610.792100,-7739.587900,1172.881200,-580.803200,-7722.131800,1172.965600,-583.009900,-7717.346700,1173.493800,-609.804600,-7719.846700,1175.007400,-645.782300,-7650.116200,1168.042000,-626.537800,-7644.793900,1168.151600,-623.866000,-7649.656300,1171.082600,-631.373400,-7654.807600,1171.365200,-600.241600,-7715.673800,1121.808300,-564.289600,-7697.558100,1122.757100,-566.542100,-7692.510700,1123.054700,-594.229400,-7693.683600,1133.348400,-631.949200,-7622.612800,1127.817700,-612.631700,-7618.155300,1127.539100,-609.826300,-7622.912100,1129.099200,-616.860400,-7627.773400,1122.075200,-584.324700,-7689.402800,1064.872600,-546.868800,-7670.542500,1067.361900,-548.981700,-7665.327600,1067.637800,-577.014600,-7665.674800,1096.582300,-614.402700,-7594.307600,1093.190200,-595.171000,-7590.362300,1091.928000,-592.352700,-7594.928700,1091.662400,-598.794800,-7599.479500,1069.129200,-566.670700,-7660.826200,1009.715500,-532.358400,-7635.724600,1013.376200,-534.114600,-7630.975100,1013.412600,-561.371100,-7631.025400,1065.090200,-596.088900,-7563.493200,1064.786100,-577.006000,-7559.751000,1062.168300,-574.278300,-7563.941900,1060.077100,-580.854900,-7568.080100,1017.132300,-550.991100,-7626.231400,963.804100,-518.952000,-7594.115200,968.148800,-520.717200,-7589.976600,968.148800,-547.521200,-7589.976600,1033.775400,-577.039100,-7528.721700,1036.894500,-557.762000,-7524.955100,1032.944100,-555.264500,-7528.836900,1029.061300,-562.346800,-7532.700700,972.554600,-537.200900,-7585.780300,925.327600,-504.352300,-7548.862300,930.082600,-506.178500,-7545.203100,930.082600,-532.888700,-7545.203100,1001.431500,-559.381500,-7490.347700,1006.219800,-539.315200,-7486.757800,1001.438700,-537.310900,-7490.371100,996.659900,-545.303500,-7493.985400,934.904500,-522.810900,-7541.492200,892.152500,-488.555800,-7502.723600,897.109700,-490.441200,-7499.342800,897.109700,-517.131000,-7499.342800,971.467300,-544.412100,-7448.638700,976.424400,-524.053100,-7445.258300,971.467300,-522.302900,-7448.638700,966.510100,-530.478900,-7452.018600,902.136500,-507.218000,-7495.915000,862.366100,-471.777700,-7458.155300,867.358800,-473.718900,-7454.828100,867.358800,-500.466500,-7454.828100,942.249000,-528.670000,-7404.913100,947.241600,-508.468500,-7401.585900,942.249000,-506.651500,-7404.913100,937.256300,-514.689500,-7408.241200,872.421700,-490.632100,-7451.453100,834.441200,-455.617500,-7417.568400,839.298900,-457.527800,-7414.046400,839.298900,-484.344300,-7414.046400,912.164900,-512.228300,-7361.220700,917.022600,-492.081800,-7357.699200,912.164900,-490.276500,-7361.220700,907.307100,-498.256600,-7364.742200,844.224900,-474.477000,-7410.475600,807.357200,-440.994600,-7383.354500,811.845900,-442.743000,-7379.373000,811.845900,-469.615300,-7379.373000,879.178300,-495.263300,-7319.654300,883.667200,-475.042600,-7315.672900,879.178300,-473.372500,-7319.654300,874.689500,-481.425400,-7323.635700,816.397900,-459.582900,-7375.335900,780.729100,-428.366600,-7357.572300,784.476800,-429.790100,-7352.886700,784.476800,-456.706300,-7352.886700,840.693600,-477.709100,-7282.604000,844.441400,-457.250300,-7277.918500,840.693600,-455.874000,-7282.604000,836.945900,-464.164500,-7287.289100,788.277300,-446.345500,-7348.135300,754.263100,-417.588800,-7340.980000,756.748800,-418.514900,-7335.519000,756.748800,-445.465500,-7335.519000,794.033800,-459.210700,-7253.605500,796.519500,-438.333100,-7248.144500,794.033800,-437.426400,-7253.605500,791.548200,-446.135300,-7259.066400,759.269400,-434.601500,-7329.981400,725.612400,-407.197500,-7332.749000,726.407500,-407.516900,-7326.801800,726.407500,-434.498000,-7326.801800,738.333500,-439.263000,-7237.595200,739.128500,-417.842000,-7231.648400,738.333500,-417.525800,-7237.595200,737.538500,-426.777200,-7243.542500,727.213700,-423.019400,-7320.771000,689.313500,-394.415600,-7333.355000,688.448700,-394.150900,-7327.418000,688.448700,-421.165100,-7327.418000,675.476100,-417.195900,-7238.357400,674.611200,-395.237000,-7232.419900,675.476100,-395.501600,-7238.357400,676.340900,-405.288800,-7244.294900,687.571700,-409.093600,-7321.397000,640.659300,-376.461200,-7346.562000,638.535300,-375.727200,-7340.950200,638.535300,-402.780100,-7340.950200,606.675500,-391.749800,-7256.778300,604.551500,-369.357300,-7251.167000,606.675500,-370.094300,-7256.778300,608.799400,-380.312400,-7262.389600,636.381500,-390.230900,-7335.259800,573.873200,-350.087400,-7376.256800,571.401300,-349.206600,-7370.789100,571.401300,-376.301900,-7370.789100,534.322800,-363.068200,-7288.782200,531.850900,-340.559200,-7283.314900,534.322800,-341.443100,-7288.782200,536.794700,-351.775000,-7294.249000,568.894700,-363.601000,-7365.245100,493.125300,-317.847900,-7411.962900,490.743900,-316.994500,-7406.456100,490.743900,-344.121100,-7406.456100,455.022800,-331.314100,-7323.848600,452.641400,-308.852800,-7318.341300,455.022800,-309.707300,-7323.848600,457.404200,-319.989500,-7329.355500,488.329000,-331.445700,-7400.871100,403.295200,-282.015900,-7449.849600,401.013500,-281.200000,-7444.300800,401.013500,-308.336200,-7444.300800,366.787900,-296.101200,-7361.062500,364.506200,-273.680700,-7355.513200,366.787900,-274.496200,-7361.062500,369.069600,-284.736800,-7366.611800,398.699700,-295.697300,-7438.673800,305.612000,-243.414500,-7488.886700,303.441500,-242.647600,-7483.293000,303.441500,-269.764900,-7483.293000,270.884200,-258.272600,-7399.388200,268.713700,-235.882700,-7393.794900,270.884200,-236.647900,-7399.388200,273.054700,-246.858600,-7404.981900,301.240500,-257.175700,-7477.621100,201.301000,-203.006900,-7528.042000,199.256000,-202.301500,-7522.401400,199.256000,-229.365600,-7522.401400,168.580800,-218.801300,-7437.790000,166.535800,-196.428400,-7432.149400,168.580800,-197.131300,-7437.790000,170.625800,-207.327300,-7443.430700,197.182300,-216.840600,-7516.681200,91.583600,-161.864600,-7566.281700,89.681600,-161.233300,-7560.591300,89.681600,-188.205800,-7560.591300,61.150500,-178.755200,-7475.233400,59.248400,-156.383200,-7469.543000,61.150500,-157.011600,-7475.233400,63.052600,-167.211200,-7480.923800,87.752700,-175.759700,-7554.820800,-22.328900,-121.116800,-7602.573700,-24.066200,-120.571600,-7596.831100,-24.066200,-147.411400,-7596.831100,-50.124800,-139.249700,-7510.686000,-51.862000,-116.859800,-7504.942900,-50.124800,-117.402300,-7510.686000,-48.387500,-127.626300,-7516.428700,-25.827900,-135.058500,-7591.006800,-139.224200,-81.896700,-7635.877000,-140.770300,-81.447200,-7630.080100,-140.770300,-108.112500,-7630.080100,-163.961400,-101.383400,-7543.119100,-165.507400,-78.954700,-7537.321800,-163.961400,-79.401900,-7543.119100,-162.415300,-89.673600,-7548.916500,-142.338100,-95.865100,-7624.201200,-257.918800,-45.266700,-7665.151400,-259.240000,-44.920200,-7659.298800,-259.240000,-71.369900,-7659.298800,-279.058600,-66.178400,-7571.507800,-280.379800,-43.688600,-7565.655300,-279.058600,-44.033800,-7571.507800,-277.737400,-54.377600,-7577.360400,-260.579800,-59.237700,-7653.363800,-377.231800,-12.168500,-7689.341300,-378.286400,-11.928100,-7683.434600,-378.286400,-38.123600,-7683.434600,-394.105200,-34.514100,-7594.835900,-395.159800,-11.939100,-7588.929700,-394.105200,-12.179600,-7594.835900,-393.050600,-22.621600,-7600.742200,-379.355800,-26.111800,-7677.445300,-496.003200,16.635600,-7707.377900,-496.738900,16.772400,-7701.422900,-496.738900,-9.134000,-7701.422900,-507.774000,-7.073300,-7612.102500,-508.509700,15.612000,-7606.147500,-507.774000,15.474400,-7612.102500,-507.038300,4.906800,-7618.056600,-497.484900,2.757500,-7695.384800,-613.116600,40.573700,-7718.174800,-613.491800,40.558700,-7712.206100,-613.495500,14.974800,-7712.208000,-620.874300,10.837500,-7624.154800,-621.216200,33.020900,-7618.249500,-620.646900,33.573300,-7624.040000,-620.185700,23.423900,-7629.891100,-613.890300,26.663000,-7706.167000,-729.874900,54.079400,-7722.601600,-729.954700,53.553100,-7716.776400,-730.369900,28.421900,-7716.981400,-732.894900,17.655400,-7630.703600,-732.138300,39.527700,-7624.520500,-731.962300,40.463400,-7630.238300,-732.216700,30.521700,-7636.175300,-730.281100,39.536200,-7710.993700,-841.594400,60.210500,-7720.329100,-841.449100,59.485000,-7714.562000,-842.744300,34.924400,-7715.205600,-841.713000,21.545300,-7629.653300,-839.646500,43.265600,-7622.981400,-839.745100,44.354500,-7628.673300,-840.769700,34.417300,-7634.830600,-842.016700,45.719700,-7709.072300,-946.214200,65.887800,-7714.418000,-945.882200,65.107600,-7708.663100,-948.290600,41.182800,-7709.861300,-944.349000,27.127100,-7624.418000,-940.852200,48.777900,-7617.135700,-941.165600,49.902900,-7622.834000,-943.007100,39.866900,-7629.294900,-946.838700,51.772500,-7703.474600,-1044.299100,74.324200,-7703.837400,-1043.685900,73.537000,-7698.089800,-1047.289400,50.261300,-7699.882800,-1039.025400,36.141000,-7614.478500,-1033.972900,57.747100,-7606.567900,-1034.582400,58.871100,-7612.268100,-1037.363200,48.706900,-7619.051300,-1044.961400,60.673700,-7693.209000,-1135.693000,87.088100,-7687.708000,-1134.718900,86.250100,-7681.996100,-1139.523700,63.430600,-7684.386700,-1125.722000,48.674600,-7599.443400,-1119.111800,70.136800,-7590.971200,-1120.089200,71.290700,-7596.640600,-1123.855200,61.110700,-7603.701200,-1136.235200,73.630900,-7677.453100,-1220.020600,105.623300,-7665.227100,-1218.609100,104.635700,-7659.609400,-1224.562600,82.098300,-7662.571800,-1204.094800,65.204200,-7578.971200,-1196.032200,86.287100,-7570.085400,-1197.443400,87.570000,-7575.662100,-1202.157600,77.646900,-7582.883800,-1220.269900,92.009900,-7655.454100,-1297.322900,127.919200,-7635.875000,-1295.398400,126.678100,-7630.442900,-1302.366500,104.390100,-7633.909700,-1274.074500,83.945400,-7552.985400,-1264.658800,104.607600,-7543.861800,-1266.577800,106.103600,-7549.255900,-1272.228400,96.501500,-7556.508300,-1297.056600,113.924600,-7626.732400,-1367.734500,151.244900,-7599.224600,-1365.231000,149.660200,-7594.102100,-1373.041500,127.579100,-7597.988300,-1335.904900,102.421600,-7521.563500,-1325.255200,122.643000,-7512.414600,-1327.750000,124.418000,-7517.506300,-1334.311800,115.181400,-7524.623000,-1366.729700,136.667400,-7590.918000,-1431.304600,172.782100,-7554.884800,-1428.177400,170.815300,-7550.222700,-1436.629800,148.891800,-7554.428700,-1389.956800,118.583500,-7484.729500,-1378.210800,138.388200,-7475.793900,-1381.330100,140.464100,-7480.437500,-1388.757900,131.592100,-7487.224600,-1429.367700,157.520100,-7547.666000,-1487.908100,189.796400,-7502.581500,-1484.150500,187.495500,-7498.534200,-1493.017500,165.673900,-7502.945300,-1436.726800,130.910900,-7442.308600,-1424.057000,150.386000,-7433.831100,-1427.811200,152.720500,-7437.872100,-1436.022200,144.147800,-7444.130900,-1484.910200,173.918300,-7496.704100,-1537.288600,199.765600,-7442.302700,-1532.944000,197.285400,-7438.990200,-1541.960700,175.500600,-7443.476600,-1476.792700,138.295800,-7393.787600,-1463.431600,157.600200,-7385.988800,-1467.776200,160.080600,-7389.301800,-1476.629200,151.668500,-7394.857400,-1533.183200,183.547000,-7437.942400,-1579.245500,200.795400,-7374.306200,-1574.399900,198.369600,-7371.775400,-1583.259000,176.546200,-7376.182600,-1510.663000,139.887000,-7338.298800,-1496.913500,159.235800,-7331.342800,-1501.753900,161.698000,-7333.866200,-1511.047900,153.252400,-7338.606000,-1574.052400,184.664700,-7371.480500,-1613.713300,192.643500,-7298.742200,-1608.472400,190.488900,-7296.960900,-1616.867300,168.551500,-7301.138200,-1538.598500,135.279700,-7274.731400,-1524.800800,154.888900,-7268.710900,-1530.021000,157.172300,-7270.463900,-1539.525400,148.500500,-7274.348600,-1607.491200,176.995100,-7297.312000,-1640.806900,176.332500,-7215.467300,-1635.272200,174.589600,-7214.346700,-1642.898200,152.463200,-7218.140600,-1560.571300,124.545900,-7201.947300,-1547.084800,144.596700,-7196.905300,-1552.577000,146.581800,-7197.969700,-1562.057400,137.532000,-7201.020500,-1633.604700,161.409800,-7215.175800,-1661.037000,155.772700,-7129.460900,-1655.340300,154.411000,-7128.638700,-1661.961500,132.037700,-7131.933100,-1577.477100,109.324600,-7120.435500,-1564.697800,129.891500,-7116.135700,-1570.335400,131.570100,-7116.882300,-1579.531300,122.103100,-7119.402300,-1652.997100,141.487600,-7129.516600,-1677.038600,136.284700,-7047.531700,-1671.213900,135.256200,-7046.927700,-1676.746800,112.615600,-7049.680700,-1590.539700,94.584200,-7041.597700,-1578.614600,115.674600,-7038.011200,-1584.369600,117.068400,-7038.527300,-1593.193200,107.192600,-7040.573700,-1668.185300,122.531200,-7047.750000,-1688.549100,119.255200,-6969.121100,-1682.610600,118.519300,-6968.795900,-1687.050800,95.610200,-6971.005400,-1599.277200,81.766800,-6967.210400,-1588.240100,103.361000,-6964.406300,-1594.101900,104.495300,-6964.635700,-1602.532100,94.234400,-6966.145500,-1678.906300,105.951800,-6969.623000,-1694.860800,105.504900,-6894.229500,-1688.836400,105.004900,-6894.262200,-1692.242900,81.841800,-6895.957000,-1603.274700,71.458600,-6897.586400,-1593.110600,93.506500,-6895.619600,-1599.055200,94.421900,-6895.487300,-1607.087500,83.822500,-6896.397000,-1684.514900,92.546000,-6895.188500,-1695.246800,95.337100,-6822.921900,-1689.185300,95.007600,-6823.410200,-1691.661100,71.615900,-6824.642100,-1602.159900,63.832400,-6833.121100,-1592.830100,86.264000,-6832.043900,-1598.814600,87.010500,-6831.456100,-1606.447100,76.133100,-6831.692900,-1684.347400,82.604900,-6824.560500,-1688.963600,88.642500,-6755.357400,-1682.942600,88.416500,-6756.418000,-1684.619100,64.828400,-6757.252000,-1595.663000,58.742500,-6774.263700,-1587.131100,81.478200,-6774.133800,-1593.085100,82.109200,-6772.981400,-1600.301400,71.021200,-6772.460400,-1677.733200,76.019400,-6757.943400,-1675.237800,85.001600,-6691.832000,-1669.376500,84.819100,-6693.591800,-1670.400100,61.070600,-6694.101600,-1583.655800,55.835700,-6721.473600,-1575.913600,78.794700,-6722.353000,-1581.728800,79.362300,-6720.514600,-1588.478600,68.131000,-6719.146000,-1663.988800,72.385700,-6695.656300,-1653.146700,83.693900,-6632.789600,-1647.634400,83.521000,-6635.377000,-1648.037500,59.535700,-6635.588900,-1566.158000,54.663000,-6675.138700,-1559.250500,77.770900,-6677.084000,-1564.744600,78.282500,-6674.440400,-1570.949800,67.007300,-6672.145000,-1642.187300,70.912500,-6638.085400,-1621.990200,83.654000,-6579.143600,-1617.031000,83.487200,-6582.620600,-1617.186300,59.330000,-6582.725100,-1543.247400,54.776400,-6635.411100,-1537.282700,77.973300,-6638.442400,-1542.250100,78.436700,-6634.928200,-1547.747700,67.190800,-6631.655300,-1612.040300,70.780100,-6586.191400,-1581.616500,84.241600,-6532.269000,-1577.435700,84.111000,-6536.611800,-1577.454200,59.886300,-6536.652800,-1514.840300,55.797800,-6602.140600,-1509.969000,79.049400,-6606.202100,-1514.182700,79.467500,-6601.836900,-1518.771400,68.282400,-6597.616200,-1573.181900,71.418300,-6541.035200,-1532.121500,84.756000,-6493.610400,-1528.905300,84.718000,-6498.681600,-1528.891100,60.603800,-6498.689900,-1480.426800,57.420000,-6575.007800,-1476.779500,80.733800,-6579.940400,-1480.049100,81.098900,-6574.851600,-1483.543600,69.886200,-6569.824200,-1525.623400,72.196900,-6503.830100,-1474.233000,84.776800,-6464.397000,-1472.039600,84.776800,-6469.981400,-1472.039600,60.776800,-6469.981400,-1439.027500,59.281300,-6553.901400,-1436.638900,82.734300,-6559.458500,-1438.871600,83.015200,-6553.855500,-1441.195300,71.590600,-6548.259800,-1469.815200,72.412500,-6475.644500,-1408.855000,84.776800,-6445.201200,-1407.649300,84.776800,-6451.078600,-1407.649300,60.776800,-6451.078600,-1389.560100,60.660100,-6539.256800,-1388.323900,84.435100,-6545.149400,-1389.541700,84.557000,-6539.261700,-1390.767000,72.735100,-6533.369600,-1406.426600,72.412500,-6457.039100,-1342.563400,84.776800,-6433.767600,-1341.575800,84.776800,-6439.686000,-1341.575800,60.776800,-6439.686000,-1326.762200,60.776800,-6528.458500,-1325.774500,84.776800,-6534.376500,-1326.762200,84.776800,-6528.458500,-1327.749800,72.776800,-6522.540000,-1340.574300,72.412500,-6445.687500,-1271.990000,84.776800,-6422.339800,-1271.068700,84.776800,-6428.268600,-1271.068700,60.776800,-6428.268600,-1257.250000,60.776800,-6517.201200,-1256.328700,84.776800,-6523.129900,-1257.250000,84.776800,-6517.201200,-1258.171100,72.776800,-6511.272500,-1270.134500,72.412500,-6434.280800,-1197.077100,84.776800,-6411.443800,-1196.280400,84.776800,-6417.390600,-1196.280400,60.776800,-6417.390600,-1184.328900,60.776800,-6506.593800,-1183.532000,84.776800,-6512.540500,-1184.328900,84.776800,-6506.593800,-1185.125600,72.776800,-6500.647000,-1195.472400,72.412500,-6423.421400,-1119.501300,84.776800,-6402.208000,-1118.890100,84.776800,-6408.176800,-1118.890100,60.776800,-6408.176800,-1109.721900,60.776800,-6497.709000,-1109.110700,84.776800,-6503.677700,-1109.721900,84.776800,-6497.709000,-1110.333100,72.776800,-6491.740200,-1118.270300,72.412500,-6414.229500,-1040.869000,84.776800,-6395.775400,-1040.515700,84.776800,-6401.765100,-1040.515700,60.776800,-6401.765100,-1035.215500,60.776800,-6491.608900,-1034.862200,84.776800,-6497.598600,-1035.215500,84.776800,-6491.608900,-1035.568800,72.776800,-6485.619100,-1040.157300,72.412500,-6407.838900,-962.716300,84.776800,-6393.323200,-962.712500,84.776800,-6399.323200,-962.712500,60.776800,-6399.323200,-962.654700,60.778000,-6489.323200,-962.650900,84.777100,-6495.323200,-962.654700,84.776800,-6489.323200,-962.658600,72.776800,-6483.323200,-962.708600,72.412500,-6405.407700,-886.479600,84.776800,-6396.106900,-886.948000,84.776800,-6402.088900,-886.948000,60.776800,-6402.088900,-893.938400,61.663900,-6491.802700,-894.343000,85.619200,-6497.739300,-893.890600,85.472200,-6491.768100,-893.456100,73.409500,-6485.809600,-887.423100,72.412500,-6408.154300,-813.479900,84.856000,-6405.547400,-814.580300,84.894300,-6411.444300,-814.588500,60.990000,-6411.462900,-831.123700,63.239300,-6499.975600,-832.003400,87.152800,-6505.709000,-830.922500,86.905700,-6499.826200,-829.927200,74.841800,-6494.006300,-815.696900,72.647700,-6417.434600,-744.910000,85.273200,-6423.455600,-746.856300,85.364600,-6429.130900,-746.970800,61.464100,-6429.232400,-776.339200,64.669600,-6514.438500,-777.855800,88.554300,-6519.782200,-775.927600,88.229200,-6514.129400,-774.178800,76.195100,-6508.615700,-748.891100,73.160500,-6434.940400,-682.323500,85.623100,-6452.242200,-685.357400,85.767200,-6457.413100,-685.696700,61.792600,-6457.626000,-731.452400,65.791100,-6535.213900,-733.824700,89.660400,-6539.867700,-730.808500,89.277300,-6534.730000,-728.078200,77.259900,-6529.818800,-688.630500,73.530100,-6462.755400,-628.372700,85.727300,-6494.535600,-632.631500,85.945900,-6498.727500,-633.280900,62.025800,-6499.143600,-697.372200,66.877100,-6561.988300,-700.734400,90.727300,-6565.491200,-696.490100,90.312500,-6561.332500,-692.650600,78.290700,-6557.489300,-637.309000,73.818700,-6503.173300,-587.415800,86.197600,-6551.626000,-592.719000,86.522700,-6554.329600,-593.762700,62.662200,-6555.006800,-673.437500,68.445700,-6595.525400,-677.602900,92.239600,-6597.379900,-672.307700,91.809500,-6594.696800,-667.542700,79.811400,-6592.418000,-598.660000,74.524500,-6557.395000,-563.702400,88.371400,-6621.792500,-569.561600,88.790900,-6622.812000,-571.088100,64.986200,-6623.815400,-659.002200,71.359400,-6639.119600,-663.436800,95.023800,-6639.112800,-657.577400,94.606200,-6638.092800,-652.396700,82.690400,-6637.577600,-576.318100,76.880200,-6624.340300,-558.780800,93.464200,-6694.698200,-564.724500,93.902500,-6694.179700,-566.777800,70.142800,-6695.543000,-655.854400,76.140400,-6687.795900,-660.050900,99.582100,-6686.054700,-654.099400,99.227800,-6686.554700,-648.991700,87.475600,-6687.666000,-571.844100,81.973400,-6694.342800,-571.187000,101.551400,-6758.260700,-576.815400,101.853200,-6756.167000,-579.360000,78.124500,-6757.869100,-663.568800,81.668300,-6726.456500,-667.179800,104.772800,-6722.977500,-661.538000,104.601900,-6725.042000,-656.878800,93.133800,-6727.802700,-583.874600,89.731300,-6754.920900,-596.953100,112.433400,-6810.935500,-601.971500,112.475700,-6807.588900,-604.970800,88.770500,-6809.606400,-679.889300,88.392300,-6759.305700,-682.631200,111.081300,-6754.413600,-677.597200,111.166900,-6757.730500,-673.676400,100.062600,-6761.819300,-608.653100,100.033000,-6805.251500,-630.496200,125.377500,-6853.164600,-634.903900,125.140200,-6849.049800,-638.319500,101.458000,-6851.356400,-703.997100,96.993900,-6789.429700,-705.852900,119.253300,-6783.596200,-701.427400,119.598300,-6787.686500,-698.251600,108.867800,-6792.627000,-641.188800,112.364200,-6846.098600,-667.022100,139.568600,-6887.526400,-671.027000,139.123600,-6883.041000,-674.816300,115.468200,-6885.607900,-734.461300,107.854900,-6818.099100,-735.618400,129.732100,-6811.711900,-731.590000,130.285500,-6816.172900,-728.958400,119.876200,-6821.568400,-677.103900,126.101800,-6879.863300,-702.950900,154.170000,-6916.921400,-706.835000,153.644400,-6912.348600,-710.949000,130.021100,-6915.140600,-768.877900,120.964400,-6846.390100,-769.604700,142.568800,-6839.728500,-765.687000,143.234400,-6844.269000,-763.321800,133.035900,-6849.834500,-712.962600,140.525200,-6909.210400,-735.195900,168.208500,-6943.614300,-739.271900,167.737200,-6939.211900,-743.646600,144.179700,-6942.183100,-804.582900,135.511900,-6876.129900,-805.206800,157.011800,-6869.464400,-801.085400,157.684200,-6873.820300,-798.664100,147.570100,-6879.286100,-745.721900,154.737300,-6936.339800,-760.906100,180.640500,-6968.954100,-765.491000,180.364000,-6965.070300,-770.054400,156.923900,-6968.167000,-838.741900,150.599400,-6910.041500,-839.610000,172.214400,-6903.736300,-834.969200,172.777100,-6907.556600,-832.156600,162.609000,-6912.561500,-772.528200,167.746100,-6962.767600,-778.113900,190.675200,-6993.444300,-783.415900,190.760300,-6990.612300,-788.104500,167.494700,-6993.788100,-867.643800,165.601700,-6951.513200,-868.863800,188.253900,-6945.978500,-863.499900,188.563200,-6948.736300,-860.197900,177.528100,-6952.866700,-791.203600,178.790600,-6989.374000,-786.856800,198.438000,-7018.475600,-792.698500,199.128800,-7017.262700,-797.505600,175.997100,-7020.559600,-885.147500,183.334700,-7002.318400,-886.516500,206.966900,-6998.090800,-880.633900,206.622700,-6999.264600,-877.021600,194.618000,-7001.976600,-801.092500,187.892400,-7017.727500,-787.229600,205.308500,-7049.406700,-793.095700,206.527200,-7049.984400,-798.019400,183.463700,-7053.452100,-886.005900,199.652800,-7061.765100,-887.098100,223.882800,-7059.090800,-881.215100,222.897100,-7058.523400,-877.733400,210.280900,-7059.583000,-801.578000,195.893400,-7052.363800,-775.412400,211.679500,-7092.626500,-780.903300,213.222700,-7094.631800,-785.944900,190.198200,-7098.376000,-868.302200,212.080400,-7128.022500,-868.788200,236.694100,-7126.601600,-863.293800,235.297400,-7124.642600,-860.304900,222.276500,-7124.355500,-789.068100,202.955400,-7098.623500,-746.107500,214.689500,-7150.399400,-751.139400,216.646100,-7153.447300,-756.246200,193.738600,-7157.819800,-831.721300,218.421400,-7202.192900,-831.645900,243.095000,-7201.660200,-826.614300,241.561000,-7198.703100,-824.135900,228.465500,-7197.439500,-758.872900,206.808400,-7158.828600,-702.728100,211.190900,-7201.696300,-706.527100,213.121200,-7206.254900,-711.560500,190.432100,-7211.785200,-768.520300,213.683100,-7280.085000,-767.361800,238.030200,-7280.696800,-763.556900,236.747600,-7276.018600,-762.236600,223.942300,-7273.383800,-712.970700,203.320900,-7213.705100,-641.898600,202.060900,-7238.940400,-644.231800,203.807400,-7244.318400,-649.046100,181.503000,-7251.373500,-683.856900,201.128300,-7332.659200,-681.627700,224.927400,-7332.469700,-679.288300,223.982500,-7326.860800,-679.242600,211.589100,-7324.209000,-649.071300,194.018300,-7253.394500,-564.002800,187.965200,-7265.010700,-565.030000,189.667800,-7270.693800,-569.451000,167.840300,-7279.341800,-584.286400,187.960500,-7365.247100,-581.336500,211.288900,-7363.330600,-580.327300,210.252100,-7357.454100,-581.312600,198.056100,-7355.518600,-568.334100,180.091200,-7280.907200,-472.234100,168.425900,-7280.151400,-472.154300,170.148600,-7285.893600,-475.995500,148.601100,-7295.508800,-473.779800,170.803100,-7382.044400,-470.455400,193.373500,-7379.119100,-470.591600,192.090800,-7373.249000,-472.331500,180.408800,-7371.709000,-474.031600,160.704500,-7296.683600,-370.665600,143.236100,-7280.258300,-369.618900,144.806400,-7285.895500,-372.708600,122.922900,-7294.918000,-355.788600,143.439400,-7379.356900,-352.218700,165.883200,-7376.989700,-353.341200,164.666700,-7371.286100,-355.709800,153.156500,-7369.548300,-370.117900,134.916500,-7296.297900,-263.587400,116.300400,-7258.489300,-261.671400,117.523500,-7263.896000,-263.890500,94.900500,-7270.921900,-233.948900,110.323300,-7351.617200,-230.257900,133.473600,-7350.863800,-232.245100,132.570700,-7345.407200,-235.123700,120.734900,-7343.072300,-260.805700,106.882400,-7272.976600,-155.635800,94.593500,-7213.521500,-152.918200,95.488700,-7218.630900,-154.258100,72.204000,-7223.373000,-112.568500,83.877800,-7300.073200,-108.806100,107.819500,-7300.779300,-111.564500,107.083900,-7295.597700,-114.867900,94.821100,-7292.696300,-150.743600,84.284600,-7226.147900,-51.910700,79.925500,-7151.785200,-48.450600,80.670400,-7156.502000,-49.040300,57.163100,-7159.849600,3.279500,67.184600,-7230.488300,7.149600,91.574500,-7232.035600,3.699900,90.961700,-7227.261700,0.007700,78.455400,-7224.152300,-45.114900,69.370800,-7162.836900,42.158300,74.638000,-7074.551800,46.301300,75.258500,-7078.740200,46.194600,51.691200,-7080.739700,108.100500,58.940600,-7144.064500,112.201600,83.136500,-7146.658200,108.127700,82.791900,-7142.332000,104.026300,70.498600,-7138.906300,50.529400,63.875400,-7083.893600,121.315000,76.150800,-6985.678700,126.070400,76.520400,-6989.243200,126.070400,52.802700,-6990.251000,197.387800,57.120100,-7043.578100,202.142300,81.194000,-7046.494600,197.387800,80.967500,-7042.906700,192.633300,68.815200,-7039.668900,130.891800,64.658900,-6993.376000,181.907600,80.371100,-6887.237800,187.278900,80.687000,-6889.830100,187.278900,56.906200,-6890.114300,267.847200,60.005600,-6929.097700,273.218400,84.056300,-6931.676300,267.847200,83.931700,-6929.040000,262.476000,71.839100,-6926.441900,192.725600,68.731900,-6892.602500,221.356800,84.605900,-6779.447300,227.179100,84.687300,-6780.877900,227.179100,60.721300,-6780.874000,314.513500,60.776800,-6802.599100,320.335800,84.776800,-6804.048800,314.513500,84.776800,-6802.599100,308.691200,72.776800,-6801.149400,233.083300,72.389100,-6782.333500,236.315600,84.776800,-6662.682100,242.315100,84.776800,-6662.760700,242.315100,60.776800,-6662.760700,332.307400,60.776800,-6663.940400,338.306900,84.776800,-6664.019000,332.307400,84.776800,-6663.940400,326.307900,72.776800,-6663.861800,248.399000,72.412400,-6662.840300,226.734300,84.776800,-6546.109400,232.636100,84.776800,-6545.028800,232.636100,60.776800,-6545.028800,321.163800,60.776800,-6528.815900,327.065600,84.776800,-6527.734900,321.163800,84.776800,-6528.815900,315.261900,72.776800,-6529.896500,238.621000,72.412400,-6543.932600,197.777600,84.776800,-6445.282700,203.346600,84.776800,-6443.049300,203.346600,60.776800,-6443.049300,286.880600,60.776800,-6409.552200,292.449600,84.776800,-6407.318800,286.880600,84.776800,-6409.552200,281.311700,72.776800,-6411.785200,208.993800,72.412400,-6440.785200,152.642600,84.776800,-6358.331500,157.676100,84.776800,-6355.065900,157.676100,60.776800,-6355.065900,233.178700,60.776800,-6306.083000,238.212200,84.776800,-6302.817400,233.178700,84.776800,-6306.083000,228.145200,72.776800,-6309.348100,162.780400,72.412400,-6351.754400,94.047900,84.776800,-6283.633800,98.431700,84.776800,-6279.537100,98.431700,60.776800,-6279.537100,164.190000,60.776800,-6218.089400,168.573900,84.776800,-6213.992700,164.190000,84.776800,-6218.089400,159.806100,72.776800,-6222.185500,102.877300,72.412400,-6275.382800,24.683900,84.776800,-6220.160200,28.395800,84.776800,-6215.446300,28.395800,60.776800,-6215.446300,84.075100,60.776800,-6144.736800,87.787000,84.776700,-6140.022900,84.075100,84.776700,-6144.736800,80.363200,72.776800,-6149.450700,32.160000,72.412400,-6210.666000,-52.483400,84.776800,-6167.264600,-49.406300,84.776800,-6162.113800,-49.406300,60.776800,-6162.113800,-3.249500,60.776800,-6084.850600,-0.172300,84.776700,-6079.700200,-3.249500,84.776700,-6084.850600,-6.326600,72.776700,-6090.001500,-46.285900,72.412400,-6156.890600,-134.190500,84.776800,-6124.405300,-131.686800,84.776800,-6118.952600,-131.686800,60.776800,-6118.952600,-94.132000,60.776800,-6037.162100,-91.628300,84.776700,-6031.710000,-94.132000,84.776700,-6037.162100,-96.635600,72.776700,-6042.615200,-129.148000,72.412400,-6113.423300,-216.964700,84.776800,-6091.000000,-214.973000,84.776800,-6085.339800,-214.973000,60.776800,-6085.339800,-185.096700,60.776800,-6000.443800,-183.104900,84.776800,-5994.784200,-185.096700,84.776800,-6000.443800,-187.088400,72.776800,-6006.103500,-212.953200,72.412400,-6079.600600,-297.221300,84.776800,-6066.376000,-295.693500,84.776800,-6060.574200,-295.693500,60.776800,-6060.574200,-272.777000,60.776800,-5973.540500,-271.249300,84.776800,-5967.738300,-272.777000,84.776800,-5973.540500,-274.304800,72.776800,-5979.342800,-294.144300,72.412400,-6054.690400,-371.286700,84.776800,-6049.781300,-370.199100,84.776800,-6043.880400,-370.199100,60.776800,-6043.880400,-353.884200,60.776800,-5955.371600,-352.796600,84.776800,-5949.470700,-353.884200,84.776800,-5955.371600,-354.971900,72.776800,-5961.272000,-369.096100,72.412400,-6037.897000,-435.328800,84.776800,-6040.390600,-434.699400,84.776800,-6034.423800,-434.699400,60.776800,-6034.423800,-425.258700,60.776800,-5944.919900,-424.629300,84.776800,-5938.953100,-425.258700,84.776800,-5944.919900,-425.888100,72.776800,-5950.887200,-434.061200,72.412400,-6028.373000,-485.051900,84.784400,-6037.184600,-484.996300,84.729500,-6031.202100,-484.996300,60.767600,-6031.421900,-484.163100,60.732100,-5941.285200,-484.107500,84.751800,-5935.272000,-484.163100,84.735400,-5941.272900,-484.218600,72.715100,-5947.283200,-484.940000,72.337400,-6025.234400,-514.540300,84.880300,-6038.514200,-515.462300,84.624100,-6032.633800,-515.462300,60.806500,-6033.672400,-529.292300,57.426700,-5945.246100,-530.214300,81.121900,-5938.438500,-529.292300,81.307100,-5944.331500,-528.370300,69.558600,-5950.682600,-516.397200,72.096200,-6027.198200,-538.302600,85.338100,-6042.454100,-539.527500,84.847700,-6036.666500,-539.527500,61.203600,-6038.679200,-557.901000,53.680400,-5951.925800,-559.125900,76.866600,-5944.085000,-557.901000,77.370600,-5949.870100,-556.676100,66.030600,-5956.678700,-540.769600,72.166700,-6031.833000,-557.490800,86.146200,-6046.539600,-559.043700,85.445300,-6040.861300,-559.043700,61.967900,-6043.807600,-582.336200,50.357700,-5959.122100,-583.889000,72.996900,-5950.228000,-582.336200,73.841100,-5955.880900,-580.783400,62.935100,-5963.142100,-560.618300,72.629900,-6036.630400,-572.552100,87.209800,-6050.627000,-574.477700,86.350500,-6045.083000,-574.477700,63.016300,-6048.828100,-603.361400,47.959300,-5966.656300,-605.287000,70.093100,-5956.821800,-603.361400,71.245100,-5962.314000,-601.435900,60.734700,-5969.956500,-576.430300,73.440600,-6041.411600,-584.249300,88.419700,-6054.617700,-586.574800,87.459400,-6049.235400,-586.574800,64.242200,-6053.631800,-621.457600,46.632900,-5974.400400,-623.783100,68.348900,-5963.794900,-621.457600,69.743200,-5969.099100,-619.132100,59.552900,-5977.025400,-588.933000,74.499600,-6046.077100,-593.513500,89.713900,-6058.504400,-596.228900,88.699900,-6053.306200,-596.228900,65.578300,-6058.233400,-636.960400,46.323300,-5982.188500,-639.675800,67.729400,-5970.989300,-636.960400,69.285000,-5976.089800,-634.244900,59.324200,-5984.204100,-598.982500,75.728200,-6050.619100,-601.431900,91.122700,-6062.451200,-604.471600,90.079600,-6057.429700,-604.471600,67.040700,-6062.815900,-650.066500,46.835100,-5989.720700,-653.106100,68.035800,-5978.079600,-650.066500,69.677200,-5982.989300,-647.026900,59.860700,-5991.227100,-607.554000,77.116600,-6055.168900,-609.148200,92.777300,-6066.781300,-612.384100,91.697800,-6061.884800,-612.384100,68.738100,-6067.710000,-660.922100,47.880400,-5996.556600,-664.158000,68.984700,-5984.573700,-660.922100,70.632800,-5989.357400,-657.686300,60.885800,-5997.706100,-615.665500,78.736700,-6059.980500,-617.708100,94.855200,-6071.805700,-620.961400,93.697700,-6066.935500,-620.961400,70.820300,-6073.219700,-669.761000,49.245000,-6002.232900,-673.014300,70.325200,-5989.990200,-669.761000,71.942800,-5994.759800,-666.507700,62.204400,-6003.243200,-624.260400,80.701000,-6065.291500,-627.922800,97.461200,-6077.550300,-630.991500,96.160900,-6072.596700,-630.991500,73.371000,-6079.371100,-677.022800,50.588100,-6006.631300,-680.091600,71.636300,-5994.146500,-677.022700,73.259600,-5999.023400,-673.954000,63.548700,-6007.692400,-634.103500,83.069200,-6071.110800,-640.258500,100.500600,-6083.633300,-642.958100,98.995900,-6078.522500,-642.958100,76.293200,-6085.793900,-683.452800,51.782300,-6010.006300,-686.152300,72.777900,-5997.278800,-683.452800,74.445500,-6002.346200,-680.753200,64.788500,-6011.241200,-645.695800,85.749800,-6077.116700,-654.800700,103.547600,-6089.500000,-657.008800,101.825700,-6084.220700,-657.008800,79.180000,-6091.853500,-690.130000,52.907200,-6012.796400,-692.338000,73.848400,-5999.867700,-690.130000,75.575700,-6005.143100,-687.921900,65.978300,-6014.248000,-659.247900,88.404000,-6082.807600,-671.433200,105.969700,-6094.754900,-673.113300,104.115100,-6089.323200,-673.113300,81.467900,-6097.050300,-698.313500,54.102400,-6015.305700,-699.993400,75.021000,-6002.287600,-698.313500,76.794100,-6007.737300,-696.633400,67.230600,-6016.976100,-674.816900,90.568300,-6087.791500,-690.317400,107.179700,-6099.316400,-691.483600,105.342600,-6093.750000,-691.483600,82.620700,-6101.195300,-708.977500,55.453600,-6017.497600,-710.143800,76.417700,-6004.579600,-708.977500,78.199000,-6010.158200,-707.811300,68.611800,-6019.409700,-692.666400,91.776400,-6091.936500,-711.177100,106.475600,-6102.665000,-711.637200,104.866500,-6096.943800,-711.637200,81.998300,-6103.636700,-718.538000,56.449000,-6018.432100,-718.998000,77.470500,-6005.722700,-718.538000,79.260900,-6011.408200,-718.077900,69.634600,-6020.598100,-712.103800,91.441500,-6094.606000,-730.918500,104.038800,-6103.840800,-730.671300,102.826100,-6098.024900,-730.671300,79.786300,-6103.661600,-726.963600,57.097800,-6018.228500,-726.716400,78.197800,-6005.843300,-726.963600,79.978200,-6011.558600,-727.210800,70.286900,-6020.585900,-730.420700,89.687500,-6095.078600,-749.141800,100.689800,-6103.063000,-748.266100,99.939000,-6097.227100,-748.266100,76.732700,-6101.650400,-735.130500,57.556500,-6017.094200,-734.254900,78.762900,-6005.152800,-735.130500,80.509600,-6010.834000,-736.006200,70.725600,-6019.603500,-747.378100,87.153000,-6093.670400,-765.562000,97.193100,-6100.841800,-764.202900,96.876100,-6095.040000,-764.202900,73.529100,-6098.209000,-743.816000,57.960600,-6015.028300,-742.456900,79.307300,-6003.653800,-743.816000,80.994600,-6009.272900,-745.175200,71.089200,-6017.710000,-762.824700,84.433000,-6090.899900,-780.149000,94.052900,-6097.827100,-778.487900,94.090200,-6092.071800,-778.487900,70.639000,-6094.026400,-753.570700,58.462300,-6011.983900,-751.909500,79.988700,-6001.300300,-753.570700,81.587100,-6006.876000,-755.231800,71.529200,-6014.929200,-776.803300,81.937800,-6087.370600,-793.105100,91.473000,-6094.612800,-791.332400,91.778400,-6088.880900,-791.332400,68.261500,-6089.705100,-764.741900,59.263500,-6008.026900,-762.969400,81.017200,-5998.166000,-764.741900,82.484600,-6003.746600,-766.514600,72.234900,-6011.379900,-789.534800,79.858700,-6083.627000,-804.767000,89.443100,-6091.632300,-803.066300,89.948300,-6085.885700,-803.066300,66.399600,-6085.679700,-777.556400,60.600600,-6003.412600,-775.855700,82.641900,-5994.521500,-777.556400,83.913500,-6000.162600,-779.257100,73.416300,-6007.336900,-801.341700,78.218500,-6080.080100,-815.555800,87.841700,-6089.148400,-814.094100,88.503200,-6083.355000,-814.094100,64.950000,-6082.210900,-792.168800,62.676800,-5998.589400,-790.707200,85.079200,-5990.834000,-792.168800,86.062900,-5996.575200,-793.630500,75.244700,-6003.235800,-812.611900,76.941000,-6077.004900,-825.964200,86.510800,-6087.297900,-824.883300,87.306400,-6081.449200,-824.883300,63.769800,-6079.437500,-808.668300,65.560800,-5994.155800,-807.587400,88.398900,-5987.710000,-808.668300,88.987200,-5993.555700,-809.749400,77.767200,-5999.626500,-823.787100,75.906000,-6074.574700,-836.580900,85.289200,-6086.173800,-835.986000,86.210600,-6080.288600,-835.986000,62.708000,-6077.449700,-827.061000,69.084100,-5990.769500,-826.466100,92.408700,-5985.791000,-827.061000,92.508300,-5991.704100,-827.656100,80.823600,-5997.095700,-835.382600,74.977300,-6072.926800,-848.072400,84.020000,-6085.910200,-848.023200,85.066200,-6080.028300,-848.023200,61.612800,-6076.382800,-847.284800,72.786400,-5989.036100,-847.235600,96.594600,-5985.616200,-847.284800,96.166000,-5991.530300,-847.334000,84.002600,-5996.167000,-847.973300,74.008100,-6072.231000,-861.117600,82.551900,-6086.739300,-861.626700,83.720200,-6080.910200,-861.626700,60.329000,-6076.480000,-869.264500,75.940100,-5989.408200,-869.773800,100.156000,-5987.503900,-869.264500,99.245000,-5993.349100,-868.755400,86.661300,-5997.216300,-862.143100,72.839100,-6072.742200,-877.747200,80.620300,-6089.147500,-878.649200,81.923500,-6083.390100,-878.649200,58.603500,-6078.208000,-892.179700,77.636900,-5991.958000,-893.081700,102.104900,-5991.246100,-892.179700,100.869500,-5997.005900,-891.277700,88.010500,-6000.245100,-879.563800,71.227600,-6074.893600,-891.925500,78.968900,-6092.249000,-893.547600,80.292200,-6086.658700,-893.547600,57.013700,-6081.070800,-917.877400,77.008400,-5997.182600,-919.499400,101.552200,-5997.204600,-917.877400,100.237500,-6002.797900,-916.255400,87.303000,-6005.585400,-895.192400,69.646700,-6078.113800,-903.375200,77.463300,-6096.204100,-905.722300,78.727000,-6090.858900,-905.722300,55.455300,-6085.169900,-940.928500,72.057900,-6005.318800,-943.275500,96.263400,-6004.950200,-940.928500,95.416600,-6010.344700,-938.581300,82.852000,-6013.184600,-908.102300,68.012900,-6082.516600,-913.299700,75.940100,-6100.990200,-916.297700,77.090600,-6095.940400,-916.297700,53.807000,-6090.460400,-961.267900,64.772300,-6016.060500,-964.265900,88.398100,-6014.475600,-961.267900,88.254800,-6019.589400,-958.269900,76.291100,-6022.843300,-919.337900,66.233000,-6088.029800,-922.785000,74.479000,-6106.874500,-926.294600,75.530300,-6102.116700,-926.294600,52.239200,-6097.137700,-978.937700,57.742800,-6028.571300,-982.447300,80.794400,-6025.518600,-978.937700,81.270100,-6030.296900,-975.428200,69.870700,-6034.071300,-929.853500,64.543800,-6094.797900,-932.623000,73.300700,-6114.176300,-936.473900,74.246800,-6109.652300,-936.473900,50.942200,-6105.476100,-994.236200,52.236400,-6041.869600,-998.087000,74.801700,-6037.243700,-994.236200,75.704300,-6041.717300,-990.385400,64.741800,-6046.091800,-940.378800,63.108100,-6103.020500,-943.348900,72.590000,-6123.070300,-947.370200,73.440500,-6118.674800,-947.370200,50.152600,-6115.586400,-1007.690800,48.694600,-6055.069800,-1011.712200,70.853300,-6048.831100,-1007.690800,72.001800,-6053.105500,-1003.669400,61.356400,-6058.168500,-951.448100,62.200400,-6112.761200,-955.403300,72.919900,-6133.445300,-959.435100,73.678600,-6129.047900,-959.435100,50.476100,-6127.368200,-1019.911100,47.016100,-6067.542500,-1023.942700,68.800800,-6059.694800,-1019.911100,70.087300,-6063.911100,-1015.879400,59.697400,-6069.748500,-963.523600,62.380800,-6123.874000,-969.225200,75.025900,-6144.901400,-973.117800,75.632100,-6140.380900,-973.117800,52.618200,-6140.431200,-1031.507000,46.847000,-6078.952600,-1035.399500,68.244800,-6069.533200,-1031.507000,69.641200,-6073.827100,-1027.614400,59.507300,-6080.503900,-977.065200,64.271600,-6135.972200,-985.273100,79.574400,-6156.793000,-988.885600,79.884700,-6152.063500,-988.885600,57.181300,-6154.120100,-1043.074100,47.786700,-6089.200200,-1046.686600,68.759200,-6078.277800,-1043.074100,70.293500,-6082.751500,-1039.461500,60.458200,-6090.296900,-992.549000,68.383400,-6148.459500,-1003.950900,86.862300,-6168.291500,-1007.157200,86.672100,-6163.330100,-1007.157200,64.376900,-6167.565900,-1055.252600,49.504000,-6098.341800,-1058.459000,70.044500,-6086.022500,-1055.252600,71.738100,-6090.727100,-1052.046300,62.245400,-6099.123500,-1010.408700,74.881600,-6160.583000,-1025.555200,96.473700,-6178.577100,-1028.256700,95.588900,-6173.429700,-1028.256700,73.712900,-6179.851100,-1068.780600,52.008200,-6106.341300,-1071.482200,72.187700,-6092.892100,-1068.780600,74.032100,-6097.836900,-1066.079100,64.833200,-6106.968300,-1030.996300,83.331300,-6171.581100,-1050.262200,106.935200,-6187.151400,-1052.402100,105.271900,-6181.909200,-1052.402100,83.657900,-6190.235400,-1084.499600,55.067600,-6113.107900,-1086.639400,75.008300,-6098.950200,-1084.499600,77.016700,-6104.106400,-1082.359700,68.054300,-6113.742200,-1054.572000,92.398400,-6180.901900,-1078.165000,114.804300,-6194.473600,-1079.719400,112.612500,-6189.168000,-1079.719400,90.775200,-6198.343800,-1103.034200,58.200800,-6118.366200,-1104.588500,78.176100,-6104.092800,-1103.034200,80.262700,-6109.429700,-1101.479900,71.335300,-6119.242200,-1081.295500,99.139500,-6188.503900,-1106.143700,116.554100,-6200.320300,-1107.027100,114.389600,-6194.855500,-1107.027100,92.233300,-6203.487300,-1120.278000,60.556400,-6121.070300,-1121.161300,80.721100,-6107.161100,-1120.278000,82.770900,-6112.656300,-1119.394500,73.722900,-6122.364300,-1107.922900,100.785300,-6193.751500,-1132.366100,113.654800,-6203.920400,-1132.539600,111.955900,-6198.269000,-1132.539600,89.475300,-6205.470200,-1135.142500,62.039500,-6121.548300,-1135.315900,82.489900,-6108.295400,-1135.142500,84.441700,-6113.895500,-1134.968900,75.176600,-6123.311500,-1132.715600,98.635300,-6196.269000,-1156.592800,107.972900,-6205.027300,-1156.090800,106.980400,-6199.252400,-1156.090800,84.168000,-6204.544900,-1148.561300,62.972700,-6120.385700,-1148.059300,83.759000,-6107.997100,-1148.561300,85.564600,-6113.635700,-1149.063400,76.024900,-6122.614700,-1155.581800,94.168200,-6196.187500,-1178.529200,101.406700,-6203.853500,-1177.465900,101.149800,-6198.051800,-1177.465900,78.071600,-6201.271500,-1161.515900,63.681400,-6117.880900,-1160.452500,84.837400,-6106.541500,-1161.515900,86.456500,-6112.171900,-1162.579200,76.605600,-6120.596200,-1176.387600,88.911100,-6193.930700,-1198.038200,95.340600,-6201.094200,-1196.589000,95.703900,-6195.330100,-1196.589000,72.460400,-6196.531300,-1174.850200,64.478000,-6114.174300,-1173.401000,86.031900,-6104.070800,-1174.850200,87.422800,-6109.687000,-1176.299400,77.232900,-6117.463900,-1195.119300,83.985200,-6190.232400,-1215.211100,90.439100,-6197.641100,-1213.585600,91.257800,-6191.924300,-1213.585600,67.951300,-6191.295900,-1189.204300,65.693000,-6109.455100,-1187.578900,87.672500,-6100.776400,-1189.204300,88.778700,-6106.410600,-1190.829700,78.219100,-6113.468800,-1211.937300,79.960400,-6185.939500,-1230.319300,86.772300,-6194.293000,-1228.740800,87.900200,-6188.592800,-1228.740800,64.612300,-6186.387200,-1205.063100,67.645000,-6104.119100,-1203.484600,90.082300,-6097.053700,-1205.063100,90.818000,-6102.751000,-1206.641600,79.844000,-6109.032200,-1227.140100,76.932900,-6181.802700,-1243.747900,84.078900,-6191.603500,-1242.439200,85.412200,-6185.881800,-1242.439200,62.194800,-6182.358900,-1222.808100,70.509200,-6098.843800,-1221.499400,93.440700,-6093.570800,-1222.808100,93.690100,-6099.354000,-1224.116800,82.241300,-6104.794400,-1241.112100,74.708300,-6178.370100,-1256.025800,81.984700,-6189.868200,-1255.192600,83.456300,-6184.113300,-1255.192600,60.335900,-6179.502000,-1242.695800,74.108700,-6094.551800,-1241.862700,97.554500,-6091.207000,-1242.695800,97.206700,-6097.046900,-1243.528900,85.231300,-6101.579100,-1254.347800,72.970000,-6175.979000,-1267.911700,80.120700,-6189.231900,-1267.715900,81.686900,-6183.476100,-1267.715900,58.674000,-6177.951700,-1264.778000,77.728700,-6092.241200,-1264.582200,101.648300,-6090.842800,-1264.778000,100.670700,-6096.657700,-1264.973900,88.179300,-6100.239700,-1267.517200,71.383000,-6174.839800,-1280.425700,78.157000,-6189.883300,-1280.953900,79.787300,-6184.192400,-1280.953900,56.882200,-6177.892600,-1288.878200,80.131600,-6092.727100,-1289.406500,104.381400,-6093.044400,-1288.878200,102.899400,-6098.743200,-1288.350000,90.019700,-6101.439500,-1281.489600,69.630900,-6175.199200,-1294.687600,75.827900,-6192.230000,-1295.940400,77.497900,-6186.676800,-1295.940400,54.685600,-6179.760700,-1314.731400,79.984400,-6096.473600,-1315.984100,104.346300,-6097.899900,-1314.731400,102.651700,-6103.444300,-1313.478800,89.618900,-6105.516600,-1297.210800,67.444700,-6177.491700,-1312.270400,72.966200,-6197.072300,-1314.115000,74.666800,-6191.681600,-1314.115000,51.903500,-6184.423800,-1341.783600,76.832900,-6103.580100,-1343.628200,101.142200,-6105.160200,-1341.783600,99.563100,-6110.591800,-1339.939000,86.604000,-6112.505900,-1315.985500,64.666500,-6182.487300,-1336.178300,70.309900,-6205.187000,-1338.259300,72.029000,-6199.850100,-1338.259300,49.229300,-6192.899400,-1369.473400,71.861100,-6113.116200,-1371.554100,95.978300,-6113.650400,-1369.473400,94.788200,-6119.097200,-1367.392500,82.040600,-6121.499000,-1340.369500,62.005100,-6190.881800,-1364.725500,70.240600,-6215.532700,-1366.869400,71.762500,-6210.167000,-1366.869400,48.763400,-6204.490700,-1399.104000,66.222600,-6124.334500,-1401.170900,89.868000,-6123.181600,-1399.026700,89.262700,-6128.712900,-1396.906400,77.174600,-6132.010700,-1369.043500,61.414100,-6201.835900,-1396.882100,72.451600,-6227.440400,-1398.969600,73.630000,-6221.991700,-1398.969600,50.332100,-6218.009800,-1430.561600,60.898200,-6136.406300,-1432.350100,84.315600,-6133.349100,-1430.258400,84.180900,-6138.981000,-1428.292200,72.544900,-6143.296400,-1401.086700,62.776100,-6214.450200,-1431.924800,76.782800,-6240.003900,-1433.854400,77.528500,-6234.428700,-1433.859100,53.853400,-6232.236800,-1463.313000,57.253900,-6148.462400,-1464.598400,80.597900,-6143.592800,-1462.656700,80.804500,-6149.328100,-1461.013500,69.398700,-6154.615200,-1435.810300,65.978400,-6227.659200,-1469.217300,81.567900,-6252.022500,-1470.859900,81.765400,-6246.264600,-1470.957500,57.698700,-6245.591300,-1496.662200,55.718100,-6159.435500,-1497.250200,79.141800,-6153.196300,-1495.557900,79.537800,-6159.027800,-1494.386200,68.193600,-6165.059100,-1472.568600,69.448700,-6240.071300,-1508.124100,84.240800,-6262.086900,-1509.360500,84.135100,-6256.174800,-1509.673000,60.025600,-6256.330100,-1528.576500,53.063000,-6168.484400,-1528.990400,78.553900,-6161.182600,-1527.846900,79.344800,-6167.163600,-1527.560900,68.256800,-6173.625000,-1510.760400,71.526400,-6250.237800,-1548.288100,84.886600,-6269.073200,-1548.987400,84.824000,-6263.069300,-1549.621300,60.910800,-6263.451200,-1558.696500,51.906300,-6175.638700,-1556.707200,77.209200,-6166.483900,-1556.618300,78.302900,-6172.647500,-1558.095100,67.615300,-6179.796900,-1549.999800,72.421400,-6257.160200,-1587.855300,87.768700,-6272.665000,-1587.602300,87.813400,-6266.678700,-1589.348100,64.030600,-6267.655800,-1585.764900,54.587600,-6180.501000,-1581.125400,78.227900,-6168.932600,-1581.684300,79.495900,-6175.403800,-1584.670400,69.157300,-6183.728000,-1588.318000,75.595200,-6261.178200,-1625.121500,97.461100,-6272.711400,-1623.964400,97.182400,-6266.908200,-1627.649900,73.787000,-6269.860400,-1612.591900,60.032000,-6181.501500,-1605.519000,81.753600,-6167.600600,-1606.578400,83.292800,-6174.403300,-1610.807700,73.473800,-6184.144500,-1624.784900,84.798900,-6262.649900,-1663.160300,112.982000,-6270.746100,-1661.228000,111.808600,-6264.800800,-1667.188000,89.155900,-6270.839400,-1640.493000,65.931800,-6176.740200,-1630.899500,86.253400,-6161.415500,-1632.745100,88.173700,-6168.339400,-1638.445200,78.965900,-6179.183600,-1662.415300,98.914000,-6261.912100,-1709.710400,126.392300,-6258.694300,-1706.645000,124.400300,-6252.447800,-1714.585200,102.280600,-6260.906700,-1669.052500,70.473000,-6165.138700,-1657.302700,90.191300,-6149.538100,-1660.395500,92.439600,-6156.108400,-1667.797900,83.688300,-6167.164100,-1707.654100,110.971300,-6250.470700,-1761.428000,132.881700,-6227.438000,-1756.870100,130.560800,-6221.745100,-1765.679200,108.601300,-6230.927200,-1697.872100,73.024000,-6145.803200,-1684.392300,92.515700,-6130.845700,-1688.902100,94.934500,-6136.517600,-1697.894800,86.392600,-6146.831500,-1756.796600,116.888200,-6220.708000,-1803.232900,133.632600,-6176.205100,-1797.881800,131.210700,-6172.309600,-1806.478500,109.320800,-6181.189500,-1722.754600,72.991700,-6120.820300,-1708.041500,92.459700,-6107.475600,-1713.858600,94.881500,-6111.636700,-1724.094200,86.358700,-6120.371600,-1796.862100,117.477400,-6172.924800,-1818.393300,120.005500,-6119.802700,-1813.134300,118.640800,-6118.149900,-1819.231400,96.213900,-6124.473600,-1732.888900,70.009600,-6098.793900,-1717.811000,89.917400,-6088.223100,-1724.519300,91.992500,-6090.193400,-1735.257100,83.043200,-6096.405300,-1810.984900,105.660800,-6119.787600,-1814.275600,103.836200,-6068.818400,-1808.721200,103.386800,-6069.185100,-1812.118700,80.059300,-6072.416000,-1732.667700,64.386300,-6072.608900,-1719.255100,84.983100,-6064.716800,-1725.610800,86.672500,-6065.268100,-1735.187000,77.137000,-6069.385700,-1804.932900,90.866100,-6071.322300,-1801.739300,94.978000,-6018.169400,-1796.008500,94.894100,-6019.927700,-1798.175800,71.112200,-6021.218800,-1720.810500,58.786600,-6042.089400,-1710.398200,79.950300,-6036.582500,-1715.955600,81.624600,-6036.364700,-1723.569100,71.759100,-6039.044400,-1791.375000,82.502100,-6022.415000,-1783.623300,88.608300,-5967.224600,-1778.145800,88.591300,-5969.611800,-1779.555900,64.733100,-5970.451700,-1700.244600,58.099600,-6006.052700,-1692.206500,79.906800,-6004.717300,-1697.319300,81.528800,-6003.223100,-1703.806900,71.224700,-6002.690400,-1773.359900,76.259500,-5972.485400,-1760.011000,85.194600,-5915.828100,-1754.690200,85.128500,-5918.494100,-1755.386200,61.201500,-5918.909200,-1676.855200,57.208800,-5959.088400,-1669.622800,80.515700,-5960.536100,-1674.945300,81.015500,-5957.950700,-1681.177200,69.581300,-5955.901900,-1749.695300,72.716600,-5921.432100,-1733.541500,84.590700,-5863.304700,-1728.231200,84.508400,-5866.004900,-1728.401400,60.508600,-5866.103000,-1650.248700,56.193100,-5906.908700,-1643.898400,79.536800,-5908.903800,-1649.151600,80.077400,-5906.254400,-1654.911300,68.646400,-5903.902300,-1722.968000,72.032900,-5868.808100,-1707.104700,84.776800,-5809.380400,-1701.672400,84.776800,-5811.927700,-1701.672400,60.776800,-5811.927700,-1621.360700,58.285600,-5850.361300,-1615.672200,81.791800,-5852.670400,-1620.988200,82.242300,-5850.138200,-1626.467200,70.679400,-5847.697800,-1696.163600,72.412400,-5814.510700,-1682.713900,84.776800,-5753.788100,-1677.149700,84.776800,-5756.033200,-1677.149700,60.776800,-5756.033200,-1593.707300,60.726000,-5789.708500,-1588.164100,84.633600,-5791.948700,-1593.702000,84.724300,-5789.705100,-1599.252600,72.771000,-5787.460900,-1671.507300,72.412400,-5758.309600,-1662.224400,84.776800,-5696.575200,-1656.491000,84.776800,-5698.343800,-1656.491000,60.776800,-5698.343800,-1570.489700,60.776800,-5724.872600,-1564.756200,84.776800,-5726.641100,-1570.489700,84.776800,-5724.872600,-1576.223100,72.776800,-5723.104000,-1650.676900,72.412400,-5700.137200,-1647.554800,84.776800,-5637.897500,-1641.658000,84.776800,-5639.004900,-1641.658000,60.776800,-5639.004900,-1553.204300,60.776800,-5655.617200,-1547.307500,84.776800,-5656.724600,-1553.204300,84.776800,-5655.617200,-1559.101300,72.776800,-5654.509800,-1635.678100,72.412400,-5640.127900,-1640.477100,84.776800,-5577.775400,-1634.483000,84.776800,-5578.042500,-1634.483000,60.776800,-5578.042500,-1544.572300,60.776800,-5582.047900,-1538.578100,84.776800,-5582.314900,-1544.572300,84.776800,-5582.047900,-1550.566300,72.776800,-5581.780800,-1628.404700,72.412400,-5578.313500,-1642.707200,84.776800,-5515.900900,-1636.749300,84.776800,-5515.191900,-1636.749300,60.776800,-5515.191900,-1547.379900,60.776800,-5504.555700,-1541.422000,84.776800,-5503.846700,-1547.379900,84.776800,-5504.555700,-1553.337900,72.776800,-5505.264600,-1630.707500,72.412400,-5514.472700,-1655.763100,84.776800,-5452.339400,-1649.996800,84.776800,-5450.680700,-1649.996800,60.776800,-5450.680700,-1563.503900,60.776800,-5425.801800,-1557.737700,84.776800,-5424.143600,-1563.503900,84.776800,-5425.801800,-1569.270000,72.776800,-5427.460400,-1644.149500,72.412400,-5448.999000,-1676.011700,84.776800,-5397.654300,-1670.568800,84.776800,-5395.128900,-1670.568800,60.776800,-5395.128900,-1588.926600,60.776800,-5357.253900,-1583.483800,84.776800,-5354.729000,-1588.926600,84.776800,-5357.253900,-1594.369400,72.776800,-5359.778800,-1665.049600,72.412400,-5392.568400,-1701.199500,84.776800,-5352.736300,-1696.209500,84.776800,-5349.404800,-1696.209500,60.776800,-5349.404800,-1621.357200,60.776800,-5299.433100,-1616.367100,84.776800,-5296.101600,-1621.357200,84.776800,-5299.433100,-1626.347400,72.776800,-5302.764600,-1691.149200,72.412400,-5346.026400,-1730.658400,84.776800,-5314.673800,-1726.167500,84.776800,-5310.694800,-1726.167500,60.776800,-5310.694800,-1658.801500,60.776800,-5251.014200,-1654.310400,84.776800,-5247.035200,-1658.801500,84.776800,-5251.014200,-1663.292500,72.776800,-5254.992700,-1721.613300,72.412400,-5306.660200,-1763.972400,84.776800,-5280.993700,-1759.914600,84.776800,-5276.574200,-1759.914600,60.776800,-5276.574200,-1699.048800,60.776800,-5210.276400,-1694.991200,84.776800,-5205.856400,-1699.048800,84.776800,-5210.276400,-1703.106400,72.776800,-5214.696300,-1755.799800,72.412400,-5272.091800,-1800.560500,84.776800,-5249.645000,-1796.777300,84.776800,-5244.988300,-1796.777300,60.776800,-5244.988300,-1740.028100,60.776800,-5175.134800,-1736.244600,84.776800,-5170.478000,-1740.028100,84.776800,-5175.134800,-1743.811300,72.776800,-5179.791500,-1792.940900,72.412400,-5240.265600,-1839.512500,84.776800,-5218.693800,-1835.790800,84.776800,-5213.987800,-1835.790800,60.776800,-5213.987800,-1779.965100,60.776800,-5143.393600,-1776.243400,84.776800,-5138.687500,-1779.965100,84.776800,-5143.393600,-1783.686800,72.776800,-5148.100100,-1832.016600,72.412400,-5209.215300,-1879.603500,84.776800,-5186.068400,-1875.713100,84.776800,-5181.501000,-1875.713100,60.776800,-5181.501000,-1817.356200,60.776800,-5112.984400,-1813.465800,84.776800,-5108.417000,-1817.356200,84.776800,-5112.984400,-1821.246800,72.776800,-5117.552200,-1871.767800,72.412400,-5176.868700,-1919.297900,84.776800,-5149.473600,-1915.027800,84.776800,-5145.258800,-1915.027800,60.776800,-5145.258800,-1850.977500,60.771700,-5082.032200,-1846.711700,84.625300,-5077.803700,-1850.977300,84.759300,-5082.031300,-1855.247100,72.776800,-5086.248000,-1910.697800,72.412400,-5140.984400,-1956.614500,84.776800,-5106.556600,-1951.825900,84.776800,-5102.941400,-1951.825900,60.776800,-5102.941400,-1880.403100,58.124700,-5048.299300,-1875.212200,81.155800,-5044.813000,-1879.984400,81.951400,-5048.499000,-1884.920700,70.806000,-5052.106000,-1946.970000,72.412400,-5099.275900,-1989.089400,84.776500,-5055.337900,-1983.764200,84.755700,-5052.561500,-1983.772700,60.757900,-5052.557100,-1905.102800,54.048200,-5009.792500,-1898.325400,76.617600,-5007.645000,-1903.619100,77.682800,-5010.519500,-1909.585700,66.826800,-5013.057600,-1978.369100,72.336600,-5049.740700,-2013.214400,84.854600,-4995.084000,-2007.405300,84.678700,-4993.311500,-2008.356900,60.913100,-4992.844700,-1924.350600,52.061300,-4964.171400,-1915.577100,74.135600,-4963.772000,-1921.227500,75.292200,-4965.702600,-1928.369900,64.741300,-4966.895500,-2002.069100,72.225800,-4991.238300,-2025.786600,91.901200,-4926.209000,-2019.820100,91.470600,-4925.349600,-2023.068600,68.270600,-4923.757300,-1937.096400,55.083100,-4908.542000,-1926.038800,76.375500,-4910.098100,-1931.801800,77.779200,-4911.137700,-1940.157000,67.757600,-4910.901400,-2015.524200,79.040100,-4923.613300,-2026.153800,110.754200,-4850.439000,-2020.318400,109.615900,-4850.343300,-2026.555200,87.151800,-4847.286100,-1941.567400,64.653600,-4844.125000,-1928.330100,84.920800,-4847.596700,-1934.008100,86.792100,-4847.830600,-1943.435100,77.545000,-4846.223100,-2017.674600,96.849100,-4848.636700,-2015.407500,130.213400,-4782.695300,-2009.902600,128.156300,-4783.607400,-2018.252700,106.212700,-4779.514200,-1936.542500,73.247200,-4792.589800,-1922.325900,92.759500,-4797.750000,-1927.775600,95.088200,-4796.887700,-1937.599900,86.480600,-4793.879400,-2008.643600,114.748400,-4782.411600,-1994.825000,138.608900,-4723.466300,-1989.863000,136.080200,-4725.698700,-1998.949500,114.317900,-4721.244600,-1924.519000,76.387300,-4754.732400,-1910.470700,95.621000,-4761.418900,-1915.432600,98.149600,-4759.186500,-1924.938000,89.797300,-4754.727100,-1989.512200,122.304500,-4725.668000,-1965.409900,132.474400,-4673.032700,-1961.183800,130.362100,-4676.641100,-1969.645300,108.445800,-4672.493200,-1907.008100,74.637400,-4726.063500,-1893.969500,94.075100,-4733.969200,-1898.151600,96.456400,-4730.404800,-1906.753700,87.913500,-4724.672400,-1961.277300,116.911600,-4678.151400,-1928.987500,117.985400,-4633.004400,-1925.571300,116.684400,-4637.646000,-1932.569600,94.407800,-4634.215800,-1883.384800,69.328600,-4702.360400,-1871.844700,89.272700,-4710.925800,-1875.157000,91.302400,-4706.393600,-1882.554200,82.301300,-4699.856400,-1925.769000,103.846200,-4640.554200,-1888.042500,102.746500,-4602.637200,-1885.313200,102.080500,-4607.858900,-1890.461400,79.348300,-4605.335000,-1852.514200,61.914000,-4681.549800,-1842.739000,82.461300,-4690.142600,-1845.343000,84.148100,-4685.064900,-1851.478500,74.647500,-4678.251500,-1885.281000,89.643000,-4611.807100,-1844.219200,90.945200,-4579.414600,-1841.990200,90.821800,-4584.826200,-1845.215600,67.715800,-4583.236800,-1814.360400,54.926000,-4662.889200,-1806.516100,76.063600,-4670.993200,-1808.680400,77.527300,-4665.673300,-1813.611800,67.603300,-4658.991700,-1841.472900,78.662100,-4589.460000,-1797.926300,81.190600,-4561.229000,-1795.974400,81.722700,-4566.567400,-1796.701400,58.426900,-4566.252000,-1769.832000,51.318300,-4645.420400,-1763.933300,73.053100,-4652.702100,-1765.952600,74.362900,-4647.322300,-1769.836200,64.056300,-4641.022500,-1794.486100,70.117900,-4571.763700,-1751.933100,76.344800,-4544.157200,-1749.851800,77.324300,-4549.378400,-1747.768600,54.159000,-4550.542500,-1719.726800,53.049500,-4627.777300,-1715.962900,75.446500,-4633.845200,-1718.077400,76.483600,-4628.557100,-1720.898700,65.692300,-4622.939000,-1746.787100,66.233500,-4555.217800,-1709.695300,76.302700,-4524.940400,-1707.140100,77.716300,-4529.928700,-1702.528800,55.071300,-4532.176800,-1666.379200,62.331800,-4606.778300,-1665.172500,85.230500,-4611.136700,-1667.816200,85.668300,-4606.004400,-1669.619100,74.335400,-4601.303700,-1702.252900,67.365800,-4536.104000,-1673.218300,79.258300,-4502.517600,-1670.035400,81.037000,-4507.092300,-1663.343400,58.988900,-4510.171400,-1616.279100,76.287800,-4578.668000,-1617.374000,99.499700,-4581.518600,-1620.756300,98.889200,-4576.802200,-1621.819200,86.925900,-4573.063000,-1663.426900,71.387700,-4513.282700,-1642.181300,83.495800,-4475.007300,-1638.308200,85.716900,-4478.961400,-1629.828900,64.157800,-4482.840300,-1571.764000,91.100100,-4541.916500,-1574.699000,114.314400,-4542.973100,-1578.760600,112.924000,-4538.939500,-1579.267500,100.573500,-4536.431200,-1630.054100,76.801400,-4484.947800,-1616.021900,86.502600,-4440.151400,-1611.502800,89.098000,-4443.280800,-1601.685500,67.821900,-4447.754900,-1533.056600,103.788900,-4494.636200,-1537.436500,127.308500,-4493.851100,-1542.155600,125.109400,-4490.671900,-1542.295300,112.220100,-4489.498500,-1601.878400,80.739400,-4448.749500,-1595.086400,85.969700,-4396.571800,-1590.030900,88.629300,-4398.804700,-1579.778900,67.305700,-4403.415000,-1502.106200,105.370700,-4437.018100,-1506.547900,129.136700,-4435.055700,-1511.901100,126.712300,-4432.770500,-1512.331200,113.596900,-4432.627000,-1579.625700,80.319100,-4403.439500,-1581.909400,82.346200,-4350.902300,-1576.432600,84.680200,-4352.315400,-1567.114100,62.974300,-4356.403300,-1482.536700,93.807100,-4377.729500,-1484.915800,117.454600,-4375.772000,-1490.840100,115.662700,-4374.265600,-1492.559900,102.907200,-4374.519000,-1566.091600,75.821300,-4355.841800,-1574.796900,78.881800,-4302.904300,-1568.998900,80.729600,-4303.669900,-1561.719600,58.496000,-4306.711900,-1472.332600,78.974600,-4318.043500,-1471.391700,102.353400,-4316.932100,-1477.740600,101.448900,-4316.053700,-1481.299100,89.251000,-4316.210400,-1559.403600,71.079200,-4305.985400,-1571.624600,79.295500,-4251.454600,-1565.554800,80.632800,-4251.824200,-1561.123800,57.893200,-4253.407200,-1468.107800,68.940900,-4258.348600,-1463.455400,92.052900,-4258.602500,-1470.083100,91.883500,-4258.140600,-1475.618500,80.175900,-4257.830100,-1557.170300,70.189700,-4252.972200,-1569.750900,86.169700,-4196.052200,-1563.424900,86.940600,-4196.345700,-1562.275500,63.835200,-4196.203100,-1465.995600,66.471600,-4199.723100,-1457.915200,89.288600,-4201.611300,-1464.713500,89.662600,-4201.261700,-1472.055500,78.377500,-4200.187000,-1556.474900,75.736900,-4196.522900,-1565.778800,99.262900,-4136.558100,-1559.244800,99.316700,-4137.163600,-1561.289100,76.032100,-4135.280300,-1462.378400,69.923300,-4143.578600,-1451.699500,92.368200,-4147.156700,-1458.560200,93.190000,-4146.524400,-1467.262300,82.331300,-4144.450700,-1553.715700,87.312000,-4136.770000,-1555.763400,114.363400,-4073.062500,-1549.190100,113.606100,-4074.425800,-1553.674000,90.297700,-4071.153100,-1454.381800,75.438700,-4091.209500,-1442.315700,97.496700,-4096.394000,-1449.075800,98.693200,-4095.015900,-1458.456700,88.239200,-4091.749500,-1544.853000,100.798400,-4074.102500,-1535.874400,123.954300,-4006.228800,-1529.558700,122.713200,-4008.775900,-1535.022200,99.458000,-4004.882600,-1439.812100,79.569500,-4043.097900,-1427.642500,101.385700,-4049.776900,-1434.053700,102.790200,-4047.201200,-1443.330900,92.575100,-4042.581800,-1525.972900,109.463200,-4009.346700,-1500.407700,128.505600,-3939.029100,-1494.752200,127.037200,-3942.994900,-1500.635000,103.830900,-3938.802700,-1415.697100,81.420600,-3998.141600,-1404.050000,103.099600,-4006.210900,-1409.729200,104.617000,-4002.324200,-1418.388500,94.533500,-3996.329600,-1492.049700,113.589300,-3944.855500,-1445.687000,127.702400,-3876.042700,-1441.059300,126.189900,-3881.223100,-1447.115200,103.003600,-3876.939200,-1377.700200,80.315000,-3953.902300,-1367.016400,101.988600,-3963.106700,-1371.644300,103.501200,-3958.057100,-1379.299800,93.420700,-3950.915500,-1439.486600,112.710900,-3884.268100,-1370.966300,120.182600,-3821.545900,-1367.450300,118.839600,-3827.407700,-1373.285600,95.627900,-3823.338100,-1320.497600,75.298500,-3910.654800,-1311.035400,97.166700,-3920.397000,-1314.575000,98.507400,-3914.628900,-1321.080100,88.211600,-3906.859400,-1366.893400,105.516800,-3831.253400,-1276.678200,106.761000,-3780.232200,-1274.088500,105.711000,-3786.171400,-1279.209100,82.464700,-3782.694600,-1240.233200,66.703900,-3871.852500,-1232.175800,88.901900,-3881.322800,-1234.816000,89.968800,-3875.371600,-1240.183100,79.273200,-3867.643800,-1274.107300,92.672000,-3790.403800,-1164.162700,91.826100,-3755.413100,-1162.192700,91.156600,-3760.968800,-1166.103100,68.006500,-3758.544700,-1136.608600,57.387300,-3842.543500,-1130.148700,79.990500,-3850.902800,-1132.170700,80.757300,-3845.226800,-1136.440100,69.582300,-3838.195300,-1162.224100,78.541900,-3765.352500,-1040.067300,83.866400,-3746.374000,-1038.368700,83.523500,-3751.365000,-1040.876100,60.465900,-3750.221700,-1015.408600,54.440400,-3825.823500,-1010.537100,77.492200,-3832.498500,-1012.302600,77.978400,-3827.355700,-1015.646500,66.291400,-3821.441200,-1037.953700,71.271700,-3755.832000,-916.488400,89.177000,-3744.749000,-915.047100,89.133700,-3749.359400,-916.329500,66.184400,-3749.180700,-894.279700,64.583300,-3818.686500,-890.897100,88.103600,-3823.892100,-892.458600,88.303200,-3819.183100,-894.936800,76.089200,-3814.228300,-914.256300,77.223200,-3753.937000,-787.422100,103.247800,-3737.661100,-786.564800,103.570600,-3742.323700,-786.804100,80.801100,-3742.396700,-772.557900,84.756100,-3811.121300,-770.783700,108.772100,-3815.691400,-771.877600,108.597800,-3811.085400,-773.291300,95.807300,-3806.497600,-785.818500,92.102300,-3747.084700,-643.952100,115.049900,-3728.576700,-643.541500,115.579400,-3733.499500,-643.541500,93.080600,-3733.492900,-637.381600,101.604900,-3807.173800,-636.970900,126.034100,-3812.072000,-637.381600,125.439300,-3807.173800,-637.792300,112.121500,-3802.273400,-643.125000,104.445200,-3738.486800,-500.307200,128.147000,-3718.560500,-500.225800,128.756500,-3723.808100,-500.225800,106.512600,-3723.796900,-499.005800,116.152100,-3802.088900,-498.924400,140.595200,-3807.277100,-499.005800,139.930400,-3802.090800,-499.087100,126.453900,-3796.898400,-500.143400,117.803900,-3729.120400,-360.731900,142.339600,-3715.054200,-361.054000,143.014300,-3720.652100,-361.054000,120.999700,-3720.640100,-365.884800,131.537000,-3803.958000,-366.206800,155.968700,-3809.464400,-365.884800,155.248100,-3803.959200,-365.562700,141.645100,-3798.446300,-361.380600,132.209600,-3726.317600,-228.616300,156.807300,-3722.542700,-229.457600,157.532700,-3728.369600,-229.457600,135.698900,-3728.361600,-241.824500,146.568500,-3815.080600,-242.625900,170.878200,-3820.807100,-241.860500,170.221300,-3815.078900,-241.100300,156.664800,-3809.343500,-230.310800,146.842700,-3734.269300,-106.889800,170.921400,-3744.479000,-108.348400,171.715600,-3750.280800,-108.093000,149.949600,-3750.278800,-128.493600,161.971100,-3836.980700,-130.823900,186.360400,-3842.725100,-129.425900,185.593900,-3836.977500,-127.598700,171.967200,-3831.226100,-109.626100,161.208400,-3756.161400,2.587400,189.892800,-3782.129400,0.206700,191.006700,-3787.587900,1.234300,169.168900,-3787.587900,-33.706900,184.865700,-3869.469000,-38.332700,209.079800,-3874.927700,-35.901800,208.152700,-3869.469000,-32.345200,194.734500,-3864.010300,-1.640500,180.800500,-3793.123500,93.979500,218.974900,-3836.668200,90.253400,219.973100,-3841.357200,92.550500,198.116500,-3841.357200,37.051600,210.648600,-3911.690700,30.091500,234.220000,-3916.379600,33.865800,233.568400,-3911.690700,39.276900,220.898200,-3907.002000,87.681300,209.740700,-3846.112100,161.024800,250.928500,-3911.841600,155.888800,251.237600,-3915.017600,159.287500,229.274100,-3915.017600,82.393200,232.472200,-3962.655300,73.492200,255.144900,-3965.831300,78.642100,255.025300,-3962.655300,85.677800,243.501800,-3959.479500,152.415500,240.397300,-3918.238000,195.146600,275.570900,-4008.097200,189.183400,275.325300,-4009.102100,193.417300,251.313500,-4009.102100,103.963200,247.665000,-4024.176000,94.077800,269.663500,-4025.180900,100.041700,269.905300,-4024.176000,107.911000,259.340700,-4023.171100,185.417100,262.141800,-4010.121100,190.966300,290.536600,-4119.938000,185.057300,290.017600,-4118.899400,189.291500,266.003800,-4118.899400,100.655200,258.218000,-4103.322800,90.824600,279.939000,-4102.284200,96.733600,280.458200,-4103.322800,104.548100,270.171400,-4104.361300,181.346500,276.552600,-4117.846700,153.866700,300.530900,-4232.335000,148.439100,299.881300,-4229.842800,152.673200,275.869000,-4229.842800,71.261200,266.119600,-4192.458000,61.910700,287.718100,-4189.965800,67.338100,288.368200,-4192.458000,74.672000,278.206400,-4194.950200,145.216200,286.287100,-4227.315400,98.319700,299.324800,-4316.164600,93.965500,298.871600,-4312.061500,97.700500,274.806300,-4312.061500,32.736200,267.017700,-4250.517100,24.712200,288.721100,-4246.414100,29.051200,289.304700,-4250.517100,35.175900,279.046600,-4254.620100,91.571900,285.446300,-4307.900900,26.498700,292.803700,-4369.673800,23.864900,292.644700,-4364.258800,26.570600,268.430300,-4364.258800,-11.793200,264.391900,-4283.032200,-17.595200,286.362300,-4277.617200,-15.016100,286.757500,-4283.032200,-10.887100,276.259800,-4288.447300,22.683100,279.444300,-4358.767600,-54.783700,290.946600,-4393.728000,-55.711500,290.683700,-4387.781700,-54.175400,266.276200,-4387.781700,-66.463800,261.904800,-4298.588900,-69.904600,284.034900,-4292.642600,-69.046100,284.392700,-4298.588900,-66.960500,273.799900,-4304.535200,-55.789900,277.288600,-4381.752000,-140.240600,296.561700,-4395.754400,-139.943400,295.942000,-4389.768600,-139.445700,271.632700,-4389.768600,-133.882600,262.668400,-4299.981000,-135.314500,284.726600,-4293.995100,-135.634900,285.315200,-4299.981000,-135.098300,274.892300,-4305.966800,-139.429500,282.330000,-4383.698200,-228.893900,307.635000,-4383.845700,-227.855200,306.880900,-4377.943800,-227.857900,282.378300,-4377.943800,-212.300000,269.751600,-4289.415000,-212.140800,291.610000,-4283.513200,-213.117200,292.485100,-4289.415000,-213.675700,282.392300,-4295.316900,-226.838300,292.942000,-4371.959000,-320.919100,318.916400,-4364.238800,-319.559400,318.220800,-4358.394500,-319.559400,293.898400,-4358.394500,-299.268400,282.578300,-4270.735800,-298.076300,304.435500,-4264.892100,-299.379000,305.345400,-4270.735800,-300.623700,295.220800,-4276.580100,-318.180700,304.496200,-4352.468800,-414.522000,329.706400,-4342.203100,-413.178300,329.053900,-4336.355500,-413.178300,304.753100,-4336.355500,-393.022100,294.615800,-4248.641600,-391.678300,316.727500,-4242.793900,-393.022100,317.428400,-4248.641600,-394.365800,306.986800,-4254.489300,-411.815700,315.415800,-4330.425800,-508.257600,339.713500,-4322.641600,-507.197300,339.109900,-4316.735800,-507.197300,314.860600,-4316.735800,-491.293600,305.411700,-4228.152300,-490.233300,327.670700,-4222.246600,-491.293600,328.329300,-4228.152300,-492.353800,317.791500,-4234.057600,-506.122200,325.624900,-4310.747100,-600.345700,348.632400,-4310.198200,-599.856900,348.081800,-4304.218300,-599.856900,323.907400,-4304.218300,-592.524200,315.214100,-4214.517600,-592.035300,337.658000,-4208.537600,-592.524200,338.269300,-4214.517600,-593.013100,327.624600,-4220.497600,-599.361200,334.801700,-4298.154300,-688.859100,356.323100,-4309.116200,-689.268400,355.828200,-4303.130400,-689.268400,331.745900,-4303.130400,-695.406500,323.853800,-4213.339800,-695.815700,346.511900,-4207.353500,-695.406500,347.072600,-4213.339800,-694.997200,336.313400,-4219.325700,-689.683300,342.790800,-4297.060100,-772.260400,362.866800,-4323.103500,-773.886000,362.447400,-4317.327600,-773.886000,338.447400,-4317.327600,-798.271600,331.697800,-4230.694300,-799.897300,355.218000,-4224.918900,-798.271600,355.697800,-4230.694300,-796.645900,344.173800,-4236.470200,-775.534500,349.653900,-4311.471200,-850.742800,366.884300,-4355.849100,-853.653000,366.992600,-4350.650400,-853.779200,343.020600,-4350.650400,-898.282800,340.034000,-4272.670900,-901.278600,363.731600,-4267.472700,-898.282800,364.034000,-4272.670900,-895.287100,352.334100,-4277.869600,-856.664100,354.696800,-4345.378900,-925.416300,363.152000,-4411.104000,-929.416600,363.737200,-4406.767100,-930.755200,340.033900,-4406.767100,-990.619100,344.977200,-4341.711900,-994.191500,368.988100,-4337.375000,-990.105000,368.863200,-4341.711900,-986.302400,356.776200,-4346.048800,-934.135400,352.078000,-4402.369100,-990.687000,360.127000,-4486.765600,-995.384300,361.097200,-4483.300800,-998.998400,337.898400,-4483.300800,-1069.210000,349.221700,-4431.331500,-1071.245200,373.184800,-4427.866700,-1066.466400,372.613500,-4431.331500,-1063.092200,360.328600,-4434.796400,-1001.983800,350.096200,-4479.787600,-1043.691400,364.080300,-4579.384300,-1048.740800,365.605800,-4576.710400,-1055.196200,343.036800,-4576.710400,-1130.819500,363.820500,-4536.605000,-1130.025600,387.772500,-4533.931200,-1124.917800,386.512100,-4536.605000,-1122.783100,373.893300,-4539.278800,-1057.171500,355.504800,-4573.999500,-1084.107400,375.117600,-4684.912600,-1089.305800,377.254400,-4682.940900,-1098.318100,355.252400,-4682.940900,-1176.267300,386.592700,-4653.362300,-1172.652800,410.680100,-4651.390600,-1167.433700,408.634200,-4653.362300,-1166.639000,395.563100,-4655.334500,-1099.215600,368.079300,-4680.941400,-1113.316200,388.041600,-4799.029300,-1118.618000,390.513900,-4797.695800,-1128.760900,368.762500,-4797.695800,-1208.288800,405.847100,-4777.694800,-1203.447900,430.070800,-4776.361800,-1198.146000,427.598500,-4777.694800,-1197.915600,414.250500,-4779.028300,-1129.220000,381.815100,-4796.343800,-1131.963900,396.737200,-4917.325700,-1137.362100,399.254400,-4916.602100,-1147.504900,377.503000,-4916.602100,-1228.477500,415.261200,-4905.750500,-1223.732800,439.529800,-4905.026900,-1218.334700,437.012600,-4905.750500,-1218.007900,423.619700,-4906.473600,-1148.061500,390.601100,-4915.868700,-1139.426600,400.217200,-5035.366200,-1144.863600,402.752600,-5035.263200,-1155.006500,381.001200,-5035.263200,-1236.562100,419.031100,-5033.720700,-1231.856400,443.317900,-5033.618200,-1226.419300,440.782500,-5033.720700,-1226.053800,427.371600,-5033.823700,-1155.602500,394.117600,-5035.159200,-1136.420200,390.155600,-5149.249000,-1141.899900,393.157700,-5149.702600,-1151.003100,372.021900,-5150.065900,-1233.183000,409.970600,-5157.833000,-1229.757900,434.141900,-5158.406700,-1224.256300,431.991600,-5157.833000,-1223.225700,418.826000,-5157.258800,-1152.141700,385.662600,-5150.308100,-1122.677600,373.333100,-5253.931600,-1128.177900,375.799600,-5255.057600,-1134.996700,354.313700,-5256.964400,-1217.430900,385.716600,-5274.643600,-1216.741800,410.484100,-5275.420900,-1211.175300,408.740100,-5274.054700,-1208.759900,395.189300,-5273.002900,-1137.253300,367.493000,-5257.130900,-1096.902700,369.300700,-5343.539100,-1102.239300,371.027700,-5345.591300,-1106.567100,348.872300,-5349.474100,-1186.432100,367.851500,-5380.671900,-1188.503500,391.761700,-5380.891600,-1183.064900,390.888600,-5378.580600,-1179.347400,378.363300,-5377.347200,-1109.853100,361.352100,-5349.636700,-1059.305300,379.267400,-5413.117700,-1064.072900,380.689500,-5416.342300,-1066.349500,358.178900,-5422.021500,-1137.530200,371.150000,-5470.928700,-1141.283000,394.632900,-5470.320300,-1136.413800,394.227400,-5466.837900,-1132.141500,382.242900,-5465.473100,-1070.043200,370.447500,-5422.516600,-1011.838500,395.043500,-5459.945300,-1015.360200,396.800200,-5464.389200,-1016.256300,374.202400,-5471.403800,-1068.882700,393.126300,-5539.135700,-1072.435300,416.901900,-5537.667500,-1068.845800,416.038500,-5532.992200,-1065.287000,403.681400,-5531.432100,-1019.354700,386.861100,-5472.506300,-955.532200,408.430800,-5484.851600,-957.096300,410.567000,-5490.210000,-957.228000,388.059400,-5498.054700,-981.082500,415.708300,-5579.588900,-982.691000,440.078900,-5577.405800,-981.082500,438.356800,-5571.923800,-979.474000,425.302600,-5570.284700,-958.717200,401.175600,-5499.664600,-888.621800,413.962600,-5493.047400,-888.817500,416.013600,-5498.682600,-888.817500,393.461000,-5506.890600,-891.752200,424.226500,-5591.418000,-891.947800,448.830200,-5588.844700,-891.752200,446.779100,-5583.210000,-891.556500,433.451800,-5581.678700,-889.015900,406.474800,-5508.625500,-832.096400,411.612200,-5489.085000,-830.905600,413.526300,-5494.631300,-830.905600,390.932300,-5502.605500,-813.044600,418.775300,-5585.769000,-811.853800,443.198100,-5583.550800,-813.044600,441.402300,-5577.982400,-814.235400,428.285800,-5576.315900,-829.698200,403.819900,-5504.359400,-784.628700,404.830400,-5474.837900,-782.097400,406.395700,-5480.011700,-782.097300,383.715500,-5487.439900,-744.132400,404.183000,-5564.854000,-741.614000,427.986800,-5563.328100,-744.143200,426.850200,-5558.088400,-746.666900,414.350400,-5556.259800,-779.530400,396.279800,-5489.069300,-742.759400,394.679000,-5451.408200,-739.172600,395.745100,-5456.020500,-739.160500,373.064100,-5462.557100,-685.374500,383.491300,-5530.930200,-681.839400,406.558300,-5530.562000,-685.419800,406.255000,-5525.862800,-688.977900,394.522900,-5523.751000,-735.527700,385.098600,-5464.021000,-704.414200,383.194700,-5419.319800,-700.121500,383.867700,-5423.358900,-700.089100,361.047100,-5428.525400,-635.696200,364.266400,-5487.470700,-631.497900,387.020000,-5488.681200,-635.784400,387.259900,-5484.566400,-640.027200,375.951800,-5481.981000,-695.749000,372.735900,-5430.042500,-668.585000,374.026000,-5379.793900,-663.874000,374.541400,-5383.381300,-663.808500,351.513700,-5386.757300,-593.102800,352.190300,-5438.315400,-588.541900,374.984200,-5441.383800,-593.249000,375.386600,-5437.735800,-597.884300,364.140800,-5434.469200,-659.059200,363.138300,-5388.662600,-634.472500,370.781100,-5334.983400,-629.552600,371.339100,-5338.314500,-629.435100,348.128200,-5339.620100,-555.568600,349.585500,-5387.115700,-550.868900,372.535700,-5392.133800,-555.786700,372.871800,-5388.753400,-560.597100,361.514600,-5384.646500,-624.498400,359.885300,-5342.259800,-601.051600,375.656000,-5287.632300,-596.087800,376.297100,-5290.931600,-595.900100,353.000900,-5290.093300,-521.356100,355.589200,-5337.238800,-516.686000,378.610800,-5344.072300,-521.649700,378.880300,-5340.745600,-526.468400,367.440700,-5335.741200,-590.952800,364.889300,-5293.744600,-566.942700,388.438400,-5240.572800,-562.098100,389.003400,-5244.066400,-561.831300,365.720500,-5241.238800,-489.049600,366.770400,-5291.616200,-484.559800,389.611800,-5299.957500,-489.409000,389.999600,-5296.478000,-494.080000,378.710300,-5290.616200,-557.043600,377.522700,-5246.068800,-530.247900,406.339500,-5196.287100,-525.737200,406.494800,-5200.190400,-525.395400,383.275100,-5195.739700,-457.598300,378.409800,-5252.777800,-453.485800,400.889400,-5262.243200,-458.005900,401.587100,-5258.389600,-462.323700,390.677700,-5251.752000,-520.983500,394.629400,-5201.798300,-488.317000,424.521100,-5156.996100,-484.486800,423.915300,-5161.505900,-484.084700,400.740400,-5155.974600,-426.541000,388.065900,-5222.897000,-423.142900,410.259200,-5233.380900,-426.978900,411.235200,-5228.896500,-430.596600,400.613300,-5221.423300,-480.393300,411.312100,-5163.203600,-437.967200,438.164400,-5125.840300,-435.363300,436.956700,-5131.078600,-434.920800,413.788600,-5125.020000,-395.832700,394.832400,-5203.422900,-393.679900,416.687000,-5214.854500,-396.286100,417.998400,-5209.621100,-398.665600,407.721700,-5201.291000,-432.494000,423.788300,-5133.263200,-377.692400,446.048600,-5108.540000,-376.865300,444.513700,-5114.281300,-376.407200,421.348900,-5108.021500,-363.999800,398.324800,-5194.137700,-363.630600,419.954700,-5206.138200,-364.457900,421.489600,-5200.397000,-365.056000,411.442100,-5191.526400,-375.790500,431.023100,-5116.877900,-311.644500,443.865700,-5112.358400,-313.299900,442.552300,-5117.934100,-312.858400,419.394000,-5111.892100,-337.645900,398.295400,-5195.266600,-339.752800,419.977700,-5207.052700,-338.100900,421.461100,-5201.487300,-336.221600,411.353900,-5192.814900,-314.750000,429.282300,-5120.466800,-256.920800,429.396400,-5140.844700,-260.868000,429.046100,-5145.274400,-260.468500,406.404400,-5139.969700,-319.574300,395.323200,-5205.165000,-323.963000,417.540000,-5215.660600,-320.023100,418.602900,-5211.290000,-315.859400,407.941900,-5203.865200,-264.662100,417.180600,-5147.010300,-219.589000,410.033200,-5183.792500,-224.713900,410.497800,-5186.912600,-224.362400,388.899800,-5182.715800,-301.137600,388.059500,-5227.444800,-306.692700,411.038200,-5236.332000,-301.572300,411.545500,-5233.290000,-296.235400,400.089100,-5227.341300,-229.731200,400.411700,-5187.909200,-194.372900,393.041800,-5233.575700,-199.958900,393.758600,-5235.785600,-199.647200,371.944500,-5232.838400,-283.353000,376.318300,-5263.554200,-289.343600,399.889500,-5270.902300,-283.758300,400.002100,-5268.745600,-277.972200,387.954300,-5264.022000,-205.462300,383.727500,-5236.477500,-175.728600,380.209800,-5287.142600,-181.483200,380.836800,-5288.851600,-181.225300,358.460200,-5287.504900,-267.453700,363.204800,-5310.397000,-273.565500,386.944500,-5316.128900,-267.810400,386.940900,-5314.450200,-261.881300,374.801800,-5310.793900,-187.183200,370.294100,-5289.835400,-160.235000,374.759200,-5342.203100,-166.038000,375.100200,-5343.731900,-165.845800,352.041800,-5344.206500,-252.782100,353.431500,-5364.191900,-258.877600,376.865200,-5368.175300,-253.075600,377.021100,-5366.668000,-247.132800,365.303000,-5363.989700,-171.820000,363.743800,-5345.454100,-145.497900,377.707700,-5395.821300,-151.276200,377.763200,-5397.451200,-151.152200,354.116100,-5399.729500,-237.712000,350.985400,-5421.262200,-243.713000,373.794600,-5423.530300,-237.937300,374.255300,-5421.920900,-232.053800,363.252600,-5420.050800,-157.069400,365.569900,-5400.206100,-129.725200,386.960300,-5444.546900,-135.380900,386.914600,-5446.565400,-135.313700,362.937000,-5450.375500,-220.067900,357.134500,-5478.127400,-225.884200,379.346700,-5478.999500,-220.229200,380.053700,-5476.990700,-214.495700,369.693000,-5475.613800,-141.081600,374.245500,-5450.529800,-111.913500,398.338700,-5484.628400,-117.236600,398.474500,-5487.382300,-117.207800,374.474800,-5492.298800,-197.028000,370.152800,-5531.795400,-202.461500,392.123100,-5531.848100,-197.134900,392.821600,-5529.075700,-191.753400,382.725000,-5527.709000,-122.621900,385.929400,-5492.687500,-92.539400,407.663300,-5512.536100,-97.038700,408.236700,-5516.432100,-97.029900,384.443500,-5522.006800,-164.528600,386.412400,-5579.463400,-169.094800,408.674600,-5579.450700,-164.590200,408.998400,-5575.496600,-160.050700,398.665300,-5573.546400,-101.599500,396.353200,-5523.244100,-73.257000,413.077100,-5527.472700,-76.022300,414.217700,-5532.649900,-76.021300,390.661900,-5538.568400,-117.505100,403.755600,-5615.979500,-120.295600,427.659300,-5616.020000,-117.528700,427.057400,-5610.781300,-114.746000,415.033400,-5608.170900,-78.828000,403.147800,-5540.946300,-50.137300,415.583600,-5533.202100,-50.493900,417.070800,-5538.997600,-50.494500,393.781800,-5545.118200,-55.846300,415.181700,-5632.015100,-56.203200,439.747100,-5631.875000,-55.846300,438.397900,-5626.061000,-55.489500,425.431300,-5623.231900,-50.856400,406.576400,-5548.026900,-11.842500,414.696800,-5528.141600,-10.219600,416.191900,-5533.721200,-10.219600,393.009600,-5539.933100,14.122600,415.435200,-5623.626000,15.745500,440.112500,-5622.994100,14.122600,438.617400,-5617.414600,12.499800,425.531200,-5614.940900,-8.574000,405.764900,-5542.579600,42.752900,409.035100,-5510.081100,44.992100,410.417000,-5515.466300,44.992100,387.211200,-5521.499000,78.579600,407.681500,-5602.249500,80.818700,432.242900,-5601.668900,78.579600,430.895600,-5596.279300,76.340400,417.939100,-5593.877000,47.262800,399.860900,-5524.033200,91.298500,401.752900,-5488.250500,94.196100,402.926700,-5493.352500,94.196100,379.662300,-5498.940400,137.660100,396.394100,-5575.356900,140.557700,420.745900,-5575.112800,137.660100,419.688100,-5569.995100,134.762500,406.976600,-5567.567400,97.134500,392.123700,-5501.398400,133.693700,393.943200,-5461.962900,137.317800,394.865000,-5466.628400,137.317800,371.520800,-5471.609400,191.680100,383.722000,-5541.335000,195.304300,407.836600,-5541.519000,191.680100,407.128200,-5536.824700,188.056000,394.704900,-5534.403300,140.993000,383.758600,-5473.911600,170.864600,386.331400,-5430.030300,175.193900,387.019600,-5434.102500,175.193900,363.580000,-5438.359400,240.133600,371.694200,-5498.972700,244.462900,395.636500,-5499.577600,240.133600,395.232800,-5495.467800,235.804200,383.045000,-5493.138200,179.584100,375.621000,-5440.401900,203.734800,379.660000,-5390.814500,208.658100,380.193800,-5394.185100,208.658100,356.644600,-5397.608900,282.508200,362.238400,-5447.475600,287.431500,386.150800,-5448.460400,282.508200,385.919100,-5445.049800,277.584800,373.833100,-5442.887200,213.650700,368.579000,-5399.335000,232.863300,375.016300,-5342.362800,238.223100,375.512000,-5345.008800,238.223100,351.839400,-5347.495100,318.619800,356.918100,-5386.338400,323.979600,380.946700,-5387.653300,318.619800,380.738200,-5384.971700,313.260100,368.607800,-5383.010300,243.658200,363.794400,-5348.933600,258.351400,373.804100,-5282.804200,263.997300,374.352700,-5284.777300,263.997300,350.548900,-5286.267100,348.686100,356.224100,-5315.128900,354.332000,380.394100,-5316.662100,348.686100,380.161400,-5314.652800,343.040100,367.945400,-5312.910600,269.722600,362.619400,-5287.506300,280.054700,376.799400,-5210.658200,285.872400,377.331400,-5212.066900,285.872400,353.430100,-5212.633800,373.138500,357.881800,-5233.597700,378.956300,381.981200,-5235.038100,373.138500,381.932900,-5233.575200,367.320800,369.788700,-5232.138200,291.772000,365.557600,-5213.754900,297.808700,381.538000,-5125.101100,303.722600,381.720900,-5126.092800,303.722600,357.743600,-5126.112800,392.430500,358.000900,-5141.255900,398.344400,382.000900,-5142.268600,392.430500,382.000900,-5141.255900,386.516600,370.000900,-5140.242700,309.719600,369.523800,-5127.105500,311.521300,382.000900,-5025.947300,317.485500,382.000900,-5026.602100,317.485500,358.000900,-5026.602100,406.947800,358.000900,-5036.424800,412.912000,382.000900,-5037.079600,406.947800,382.000900,-5036.424800,400.983700,370.000900,-5035.770000,323.533500,369.636500,-5027.266100,321.190200,382.000900,-4911.872600,327.178400,382.000900,-4912.249000,327.178400,358.000900,-4912.249000,417.000800,358.000900,-4917.900900,422.989000,382.000900,-4918.277300,417.000800,382.000900,-4917.900900,411.012600,370.000900,-4917.523900,333.250800,369.636500,-4912.631300,326.875800,380.582800,-4781.925800,332.873600,380.578100,-4782.087400,332.873600,356.578100,-4782.087400,422.840900,356.507800,-4784.515100,428.838700,380.503100,-4784.676800,422.840900,380.507800,-4784.515100,416.843000,368.512500,-4784.353000,338.955800,368.209100,-4782.251500], - - "morphTargets": [], - - "morphColors": [], - - "normals": [0.0027,0.9991,0.0432,0.0027,0.9991,0.0433,0.004,0.998,0.0631,-0.9702,-0.2424,-0.005,-0.9702,-0.2424,-0.0058,-0.97,-0.2423,-0.0184,-0.97,-0.2423,-0.0186,-0.0029,-0.999,-0.0436,-0.0026,-0.999,-0.0437,-0.0038,-0.998,-0.0635,-0.0042,-0.998,-0.0633,0.97,-0.2426,-0.0156,0.97,-0.2426,-0.0162,0.97,-0.2427,-0.0121,0.97,-0.2428,-0.0127,0.0028,0.999,0.0439,0.0028,0.999,0.044,0.004,0.998,0.0638,0.0041,0.998,0.0638,-0.8939,0.4475,0.0247,-0.8939,0.4475,0.0242,-0.8938,0.4478,0.0261,-0.8938,0.4478,0.0254,-0.0017,0.999,0.0437,-0.0021,0.999,0.0436,-0.0008,0.998,0.0633,-0.0005,0.998,0.0635,0.8974,0.441,0.0148,0.8974,0.441,0.014,0.8972,0.4406,0.0309,0.8972,0.4406,0.0308,0.005,0.9968,0.0796,0.0051,0.9968,0.0797,-0.9702,-0.2423,-0.0079,-0.9702,-0.2422,-0.0086,-0.0049,-0.9968,-0.08,-0.0052,-0.9968,-0.0798,0.9696,-0.2427,-0.0301,0.9696,-0.2427,-0.0312,0.0051,0.9968,0.0802,-0.893,0.4477,0.0468,-0.893,0.4477,0.0458,0.0002,0.9968,0.0799,0.0005,0.9968,0.0801,0.8974,0.4405,0.0252,0.8974,0.4405,0.0247,0.0059,0.9956,0.093,-0.9701,-0.2423,0.0153,-0.9701,-0.2423,0.0135,-0.006,-0.9949,-0.1007,-0.0101,-0.9952,-0.0972,0.9682,-0.2426,-0.0608,0.968,-0.2429,-0.0633,0.0062,0.9948,0.1013,0.0069,0.9948,0.1014,-0.8909,0.4471,0.08,-0.8908,0.4477,0.0777,0.0011,0.9956,0.0933,0.0048,0.9954,0.0955,0.8976,0.4407,0.0077,0.8976,0.4408,0.0063,0.007,0.994,0.1091,0.0075,0.994,0.1091,-0.9685,-0.2426,0.057,-0.9687,-0.2423,0.0537,-0.0236,-0.992,-0.1242,-0.0331,-0.9928,-0.1149,0.9627,-0.2463,-0.1125,0.9618,-0.2468,-0.118,0.0506,0.9904,0.1284,0.0517,0.9904,0.1284,-0.8775,0.4592,0.1382,-0.8778,0.4601,0.1332,0.0179,0.9932,0.1147,0.0276,0.9924,0.1202,0.8969,0.4414,-0.026,0.8971,0.441,-0.0288,0.0373,0.9917,0.1232,0.038,0.9917,0.1231,-0.9628,-0.2392,0.126,-0.9637,-0.2387,0.1196,-0.0493,-0.9904,-0.1288,-0.0553,-0.991,-0.1222,0.9502,-0.251,-0.1847,0.9483,-0.2518,-0.1932,0.0711,0.9885,0.1334,0.0715,0.9885,0.1334,-0.8593,0.4666,0.2096,-0.8607,0.4671,0.2027,0.0453,0.9905,0.13,0.0525,0.9896,0.134,0.8981,0.4318,-0.0837,0.8977,0.4314,-0.0893,0.0448,0.9919,0.1192,0.0449,0.9919,0.1192,-0.9437,-0.2373,0.2303,-0.9463,-0.237,0.22,-0.054,-0.9923,-0.1119,-0.0536,-0.9921,-0.1132,0.9249,-0.2584,-0.279,0.921,-0.2599,-0.2901,0.067,0.9917,0.11,0.0669,0.9917,0.1101,-0.8328,0.47,0.2926,-0.8358,0.4701,0.2837,0.051,0.9918,0.117,0.0504,0.9919,0.1169,0.8841,0.4319,-0.1784,0.8821,0.4321,-0.1875,0.032,0.9945,0.0999,0.0317,0.9945,0.1001,-0.899,-0.2323,0.3712,-0.9042,-0.2316,0.3588,-0.0402,-0.9955,-0.0862,-0.0383,-0.995,-0.0918,0.8753,-0.271,-0.4004,0.8687,-0.2735,-0.4131,0.0505,0.9955,0.0803,0.0502,0.9955,0.0805,-0.7853,0.4753,0.3968,-0.7903,0.4754,0.3866,0.0383,0.995,0.0927,0.0338,0.9952,0.0913,0.8444,0.4354,-0.3121,0.8402,0.4352,-0.3235,0.0108,0.9967,0.0805,0.0106,0.9967,0.0807,-0.8154,-0.2162,0.5369,-0.8236,-0.2148,0.5249,-0.021,-0.9975,-0.0681,-0.0201,-0.9972,-0.0718,0.7884,-0.29,-0.5425,0.7788,-0.2934,-0.5544,0.0306,0.9978,0.0592,0.0304,0.9978,0.0593,-0.7031,0.4868,0.5183,-0.7101,0.4872,0.5083,0.0179,0.9973,0.0716,0.0145,0.9974,0.0708,0.7702,0.4281,-0.4728,0.7632,0.4269,-0.485,-0.0023,0.9978,0.0664,-0.0022,0.9978,0.0663,-0.6895,-0.1899,0.699,-0.6989,-0.1878,0.6901,-0.0104,-0.9982,-0.0591,-0.0097,-0.9984,-0.0558,0.6595,-0.3142,-0.6828,0.6481,-0.3182,-0.6919,0.0211,0.9986,0.0489,0.0212,0.9986,0.0488,-0.5828,0.5037,0.6376,-0.5911,0.5045,0.6293,0.0044,0.9982,0.0592,0.0068,0.9982,0.0588,0.6557,0.4093,-0.6344,0.6474,0.4073,-0.6442,0.0005,0.9985,0.0547,0.001,0.9985,0.054,-0.5355,-0.1571,0.8298,-0.5442,-0.1553,0.8245,-0.0159,-0.9984,-0.0537,-0.0119,-0.9992,-0.0392,0.503,-0.3405,-0.7943,0.4916,-0.3445,-0.7997,0.0265,0.9987,0.0436,0.0269,0.9987,0.0428,-0.4378,0.5234,0.7311,-0.4462,0.5243,0.7252,0.0021,0.9988,0.0496,0.0137,0.9988,0.0459,0.5154,0.3823,-0.7669,0.5073,0.3816,-0.7727,0.0212,0.9994,0.0262,0.0218,0.9995,0.025,-0.3826,-0.1349,0.914,-0.3893,-0.1332,0.9114,-0.0371,-0.9988,-0.0335,-0.0294,-0.9995,-0.0124,0.3457,-0.3656,-0.8642,0.3353,-0.369,-0.8668,0.0515,0.9984,0.0239,0.052,0.9984,0.0226,-0.2922,0.5406,0.7889,-0.3003,0.5415,0.7853,0.0236,0.9992,0.0315,0.0408,0.9989,0.0225,0.3674,0.3869,-0.8458,0.3612,0.3864,-0.8486,0.0578,0.9983,-0.0049,0.0578,0.9983,-0.006,-0.2509,-0.1093,0.9618,-0.2569,-0.1077,0.9604,-0.0714,-0.9974,-0.0047,-0.0645,-0.9978,0.0116,0.207,-0.386,-0.899,0.1976,-0.3881,-0.9002,0.0842,0.9964,-0.0029,0.0843,0.9964,-0.0041,-0.1618,0.5536,0.8169,-0.1697,0.5542,0.8149,0.0651,0.9979,0.0066,0.0773,0.997,-0.0032,0.2552,0.3613,-0.8969,0.2503,0.3599,-0.8988,0.108,0.9939,-0.0236,0.1083,0.9938,-0.0242,-0.1133,-0.0958,0.9889,-0.1254,-0.096,0.9874,-0.1165,-0.993,0.0173,-0.1108,-0.9935,0.0267,0.0647,-0.3962,-0.9159,0.0512,-0.3962,-0.9167,0.1225,0.9922,-0.0215,0.1227,0.9922,-0.0223,-0.0214,0.5575,0.8299,-0.0332,0.5575,0.8295,0.1132,0.9935,-0.0137,0.1194,0.9926,-0.0209,0.1457,0.347,-0.9265,0.1361,0.3466,-0.9281,0.1578,0.9868,-0.0355,0.1573,0.9869,-0.0357,0.0744,-0.1058,0.9916,0.054,-0.107,0.9928,-0.1626,-0.9861,0.035,-0.1591,-0.9865,0.0396,-0.124,-0.3882,-0.9132,-0.1451,-0.3856,-0.9112,0.1654,0.9854,-0.0408,0.1649,0.9854,-0.0414,0.1638,0.5414,0.8247,0.1447,0.5414,0.8282,0.1616,0.9864,-0.0308,0.1641,0.9858,-0.0354,-0.0099,0.3531,-0.9355,-0.0254,0.3542,-0.9348,0.1957,0.9798,-0.0422,0.1953,0.9798,-0.0421,0.2904,-0.1318,0.9478,0.2678,-0.1331,0.9542,-0.1996,-0.9786,0.0509,-0.1959,-0.9792,0.0533,-0.3409,-0.3637,-0.8669,-0.3622,-0.3593,-0.8601,0.1972,0.9785,-0.0605,0.1967,0.9786,-0.0609,0.3669,0.5165,0.7737,0.3483,0.5171,0.7819,0.1963,0.9795,-0.0455,0.1971,0.9792,-0.0488,-0.2004,0.3779,-0.9039,-0.2173,0.3803,-0.899,0.212,0.9759,-0.0507,0.2118,0.976,-0.0509,0.4892,-0.1666,0.8561,0.4698,-0.1678,0.8667,-0.2156,-0.9742,0.0668,-0.2079,-0.9757,0.0691,-0.5367,-0.3306,-0.7763,-0.5541,-0.3256,-0.7661,0.2088,0.9746,-0.0809,0.2084,0.9746,-0.0815,0.5438,0.4861,0.6841,0.5291,0.4867,0.6951,0.2103,0.9759,-0.0588,0.2109,0.9753,-0.0653,-0.3857,0.4111,-0.826,-0.4002,0.4136,-0.8178,0.2028,0.9774,-0.059,0.2025,0.9775,-0.0597,0.6516,-0.2002,0.7317,0.6381,-0.2012,0.7432,-0.208,-0.9749,0.0798,-0.1938,-0.9777,0.0807,-0.6921,-0.2969,-0.6579,-0.7041,-0.2925,-0.6471,0.1979,0.9754,-0.0968,0.1974,0.9754,-0.0978,0.6794,0.4575,0.5737,0.6698,0.4579,0.5845,0.2016,0.9771,-0.0682,0.2006,0.9764,-0.0802,-0.5456,0.4419,-0.712,-0.5558,0.4438,-0.7029,0.172,0.9831,-0.0626,0.1714,0.9831,-0.0637,0.7722,-0.2245,0.5943,0.7647,-0.2251,0.6038,-0.1788,-0.9802,0.0847,-0.1607,-0.9835,0.0827,-0.8037,-0.2685,-0.531,-0.8109,-0.2653,-0.5216,0.1672,0.9806,-0.1026,0.1666,0.9806,-0.1037,0.7738,0.4358,0.4597,0.7684,0.436,0.4685,0.1742,0.9821,-0.0718,0.1704,0.9815,-0.0873,-0.6703,0.4624,-0.5804,-0.6762,0.4631,-0.5729,0.135,0.989,-0.0603,0.1344,0.989,-0.0611,0.8565,-0.2374,0.4584,0.8526,-0.2377,0.4653,-0.1404,-0.9869,0.079,-0.1245,-0.9894,0.0747,-0.8788,-0.2481,-0.4077,-0.8827,-0.2461,-0.4003,0.1292,0.9871,-0.0944,0.1285,0.9871,-0.0954,0.8354,0.423,0.351,0.8325,0.4232,0.3576,0.1396,0.9878,-0.0685,0.1341,0.9876,-0.0821,-0.7606,0.4688,-0.4492,-0.7636,0.4689,-0.4439,0.1104,0.9922,-0.0572,0.11,0.9923,-0.0575,0.9112,-0.2449,0.3312,0.9091,-0.2452,0.3368,-0.1089,-0.9917,0.0679,-0.1,-0.9929,0.0643,-0.9271,-0.2358,-0.2914,-0.9292,-0.2348,-0.2855,0.0977,0.9921,-0.0788,0.0971,0.9921,-0.0794,0.8738,0.4184,0.248,0.8721,0.4186,0.2532,0.1119,0.9917,-0.063,0.1077,0.9917,-0.0704,-0.8181,0.4729,-0.3273,-0.8196,0.4731,-0.3231,0.1073,0.9923,-0.0626,0.107,0.9923,-0.0626,0.9444,-0.2499,0.2137,0.9431,-0.25,0.2193,-0.0952,-0.9934,0.0644,-0.0946,-0.9934,0.0645,-0.9566,-0.23,-0.1788,-0.9578,-0.2295,-0.1732,0.0825,0.9942,-0.0695,0.0824,0.9942,-0.0696,0.8969,0.4177,0.145,0.8961,0.4177,0.1503,0.1009,0.9927,-0.0661,0.1008,0.9927,-0.0665,-0.85,0.4792,-0.2189,-0.851,0.4794,-0.2145,0.1001,0.9923,-0.0734,0.0995,0.9923,-0.0734,0.9631,-0.251,0.0971,0.9625,-0.2508,0.1031,-0.0994,-0.9918,0.0804,-0.0971,-0.9922,0.078,-0.9717,-0.2277,-0.0627,-0.9722,-0.2274,-0.0561,0.0885,0.9929,-0.0793,0.0886,0.9929,-0.079,0.9095,0.4143,0.035,0.9093,0.4142,0.0412,0.1053,0.9917,-0.0732,0.1032,0.9919,-0.0747,-0.8688,0.4818,-0.1139,-0.8696,0.4817,-0.1089,0.0821,0.9936,-0.0772,0.0813,0.9937,-0.0772,0.9679,-0.2497,-0.0276,0.9682,-0.2494,-0.0218,-0.0898,-0.9917,0.0923,-0.0817,-0.9932,0.0832,-0.9721,-0.2266,0.0607,-0.9716,-0.2266,0.068,0.0917,0.9911,-0.0963,0.0913,0.9912,-0.0962,0.9079,0.4113,-0.0812,0.9083,0.4116,-0.075,0.0952,0.9919,-0.0836,0.0868,0.9921,-0.0903,-0.8783,0.4782,0.0006,-0.8785,0.4778,0.0057,0.0637,0.995,-0.0769,0.0629,0.9951,-0.0768,0.9542,-0.2483,-0.1666,0.9553,-0.248,-0.1608,-0.0705,-0.9929,0.0958,-0.0625,-0.9946,0.0829,-0.9541,-0.227,0.1955,-0.9524,-0.2272,0.2032,0.0711,0.9922,-0.1026,0.0701,0.9923,-0.1025,0.8867,0.4138,-0.2061,0.8879,0.4144,-0.1998,0.077,0.9933,-0.0862,0.0662,0.9935,-0.093,-0.8707,0.4743,0.1298,-0.8702,0.4739,0.1351,0.0454,0.9962,-0.0744,0.0446,0.9962,-0.0742,0.9116,-0.247,-0.3285,0.9138,-0.2467,-0.3226,-0.0489,-0.9942,0.0961,-0.0433,-0.9958,0.0801,-0.9077,-0.2276,0.3526,-0.9044,-0.2279,0.3608,0.0484,0.9934,-0.1036,0.0473,0.9935,-0.1033,0.8388,0.4165,-0.3507,0.8412,0.4172,-0.3439,0.0575,0.9946,-0.0863,0.0446,0.9947,-0.0923,-0.8365,0.4707,0.2806,-0.835,0.4702,0.286,0.0265,0.997,-0.0725,0.0259,0.9971,-0.072,0.8498,-0.2456,-0.4664,0.8513,-0.2453,-0.4638,-0.0288,-0.9954,0.0909,-0.0262,-0.9967,0.077,-0.8413,-0.2281,0.4901,-0.8382,-0.2285,0.4951,0.0266,0.9947,-0.0989,0.0257,0.9948,-0.0985,0.7742,0.4194,-0.474,0.7767,0.42,-0.4694,0.0369,0.9956,-0.0861,0.025,0.9956,-0.0904,-0.7826,0.4666,0.4121,-0.7818,0.4662,0.4141,0.0155,0.9975,-0.0684,0.015,0.9976,-0.0681,0.8059,-0.2451,-0.539,0.8067,-0.2449,-0.5379,-0.0163,-0.9963,0.0839,-0.016,-0.9972,0.0727,-0.7948,-0.2294,0.5619,-0.7937,-0.2298,0.5633,0.0172,0.9957,-0.0913,0.0166,0.9957,-0.091,0.7316,0.4222,-0.5353,0.7322,0.4227,-0.534,0.0247,0.9964,-0.0811,0.0156,0.9964,-0.0838,-0.7439,0.4634,0.4815,-0.7434,0.4629,0.4827,0.01,0.9982,-0.0586,0.0095,0.9983,-0.0583,0.7843,-0.2446,-0.5701,0.7847,-0.2444,-0.5697,-0.0107,-0.9972,0.0733,-0.011,-0.998,0.063,-0.7735,-0.2308,0.5903,-0.773,-0.2312,0.5908,0.0121,0.9966,-0.0811,0.0116,0.9967,-0.0808,0.7119,0.4251,-0.559,0.7121,0.4256,-0.5584,0.019,0.9973,-0.0716,0.0104,0.9972,-0.0739,-0.7246,0.4598,0.5133,-0.7245,0.4593,0.5138,0.0069,0.9988,-0.0476,0.0064,0.9989,-0.0473,0.7775,-0.2441,-0.5796,0.7774,-0.244,-0.5797,-0.0076,-0.998,0.062,-0.0082,-0.9986,0.0521,-0.7678,-0.2323,0.5971,-0.7679,-0.2327,0.5968,0.0097,0.9975,-0.07,0.0092,0.9975,-0.0697,0.7072,0.4281,-0.5626,0.7068,0.4286,-0.5628,0.0159,0.998,-0.0605,0.0078,0.998,-0.0628,-0.7184,0.4562,0.5251,-0.7187,0.4557,0.5252,0.0053,0.9994,-0.035,0.0048,0.9994,-0.0347,0.7879,-0.2437,-0.5656,0.7876,-0.2436,-0.566,-0.0062,-0.9988,0.0494,-0.0066,-0.9992,0.0395,-0.7802,-0.234,0.5801,-0.7808,-0.2345,0.5792,0.0086,0.9983,-0.0575,0.0081,0.9983,-0.0572,0.7194,0.4315,-0.5443,0.7186,0.4319,-0.545,0.0145,0.9987,-0.0479,0.0065,0.9987,-0.0503,-0.7279,0.4525,0.5152,-0.7284,0.4519,0.5149,0.004,0.9998,-0.0218,0.0034,0.9998,-0.0215,0.8138,-0.2432,-0.5278,0.8135,-0.2431,-0.5283,-0.0053,-0.9993,0.0358,-0.0051,-0.9996,0.026,-0.8087,-0.236,0.5389,-0.8094,-0.2364,0.5376,0.0077,0.999,-0.0435,0.0072,0.999,-0.0433,0.7463,0.4352,-0.5037,0.7453,0.4357,-0.5046,0.0134,0.9993,-0.034,0.0056,0.9993,-0.0368,-0.7519,0.4486,0.4831,-0.7524,0.4481,0.4828,0.0018,1,-0.0088,0.0014,1,-0.0086,0.8494,-0.2428,-0.4685,0.8493,-0.2427,-0.4688,-0.0039,-0.9998,0.0215,-0.0029,-0.9999,0.0124,-0.8469,-0.2381,0.4755,-0.8474,-0.2385,0.4743,0.0062,0.9996,-0.0287,0.0057,0.9996,-0.0285,0.7817,0.4392,-0.4427,0.7809,0.4397,-0.4436,0.0116,0.9997,-0.0196,0.0044,0.9997,-0.0226,-0.7851,0.4448,0.431,-0.7855,0.4443,0.4307,-0.0003,1,-0.0011,-0.0005,1,-0.0011,0.8872,-0.2426,-0.3926,0.8872,-0.2425,-0.3926,-0.0017,-1,0.0073,-0.0007,-1,0.0022,-0.8865,-0.2404,0.3955,-0.8867,-0.2408,0.3948,0.0036,0.9999,-0.0134,0.0031,0.9999,-0.0133,0.8179,0.4435,-0.3666,0.8174,0.4439,-0.367,0.0074,0.9999,-0.0082,0.003,0.9999,-0.0101,-0.8207,0.4417,0.3625,-0.8208,0.4415,0.3624,0,1,0,0.92,-0.2425,-0.3077,-0.0003,-1,0.0009,-0,-1,-0,-0.9199,-0.2423,0.3083,-0.9199,-0.2425,0.3081,-0.0006,1,-0.0025,-0.0008,1,-0.0024,0.848,0.447,-0.2847,0.8479,0.4472,-0.2848,0.0049,1,-0.0024,0.004,1,-0.0029,-0.8509,0.4415,0.2846,-0.0003,1,-0.0014,0.9442,-0.2425,-0.2229,0.9442,-0.2425,-0.223,0.0001,-1,0.0004,-0.0005,-1,0.0012,-0.944,-0.2425,0.2236,-0.0001,1,-0.0004,-0,1,-0.0004,0.8703,0.4472,-0.2063,0.0041,1,-0.0029,0.005,1,-0.0024,-0.8733,0.4415,0.2061,-0.8733,0.4414,0.206,0.0004,0.9998,-0.0197,0.0007,0.9998,-0.0197,0.9601,-0.2418,-0.1406,0.96,-0.2416,-0.1417,0.0003,-0.9999,0.0165,-0.0021,-0.9998,0.0193,-0.9585,-0.2425,0.1502,-0.9586,-0.2424,0.1496,-0.0006,0.9999,-0.0157,-0.0004,0.9999,-0.0157,0.8834,0.4466,-0.1417,0.8834,0.4465,-0.1422,0.0039,0.9998,-0.0211,0.0067,0.9998,-0.0195,-0.8895,0.4389,0.1272,-0.8899,0.4384,0.1262,0.0049,0.9982,-0.0603,0.0052,0.9982,-0.0603,0.9688,-0.2396,-0.0627,0.9687,-0.2393,-0.0656,-0.003,-0.9983,0.0582,-0.0063,-0.9981,0.0613,-0.9658,-0.2422,0.0931,-0.9659,-0.2421,0.0914,0.0045,0.9984,-0.0561,0.0048,0.9984,-0.0561,0.8909,0.4437,-0.0972,0.8909,0.4434,-0.0983,0.0078,0.9981,-0.0612,0.0111,0.9982,-0.0593,-0.9014,0.4303,0.0485,-0.9019,0.4296,0.0457,0.0095,0.994,-0.1092,0.0097,0.994,-0.1091,0.9715,-0.2368,0.0071,0.9716,-0.2365,0.0025,-0.0082,-0.994,0.1091,-0.0104,-0.9938,0.1107,-0.969,-0.2421,0.0488,-0.9692,-0.2421,0.0461,0.0094,0.9941,-0.1076,0.0095,0.9942,-0.1076,0.8951,0.4407,-0.0668,0.8952,0.4405,-0.0683,0.0131,0.9938,-0.1106,0.0151,0.9939,-0.1094,-0.9075,0.4195,-0.0243,-0.9077,0.4187,-0.0287,0.0141,0.9875,-0.1569,0.0141,0.9876,-0.1563,0.9667,-0.2332,0.1051,0.968,-0.233,0.0931,-0.0135,-0.9872,0.1586,-0.014,-0.9871,0.1595,-0.97,-0.2426,-0.0181,-0.9697,-0.2426,-0.0284,0.0142,0.9873,-0.1584,0.0142,0.9874,-0.1578,0.8983,0.4393,-0.0092,0.8983,0.439,-0.0171,0.0183,0.9872,-0.1586,0.0186,0.9873,-0.1579,-0.9058,0.407,-0.1177,-0.9048,0.4059,-0.1285,0.0177,0.98,-0.1981,0.0176,0.98,-0.1982,0.9381,-0.2293,0.2596,0.9439,-0.2292,0.2378,-0.0186,-0.979,0.2031,-0.0166,-0.9792,0.2022,-0.959,-0.2442,-0.1438,-0.9557,-0.2445,-0.1639,0.0182,0.9789,-0.2036,0.0181,0.9789,-0.2037,0.8907,0.4421,0.1061,0.8928,0.4414,0.0899,0.0226,0.9795,-0.2003,0.0214,0.9792,-0.2018,-0.8815,0.3943,-0.2598,-0.8761,0.3929,-0.2794,0.0234,0.9714,-0.2363,0.0233,0.9713,-0.2369,0.8701,-0.2251,0.4384,0.8826,-0.2251,0.4128,-0.0263,-0.9694,0.2441,-0.0213,-0.97,0.2423,-0.919,-0.247,-0.3072,-0.91,-0.2475,-0.3325,0.0243,0.9689,-0.2461,0.0243,0.9688,-0.2467,0.8567,0.4489,0.2542,0.8631,0.4478,0.2335,0.0288,0.9706,-0.2391,0.0268,0.9696,-0.2432,-0.8195,0.3816,-0.4276,-0.8078,0.3801,-0.4506,0.0353,0.9606,-0.2756,0.0355,0.9603,-0.2767,0.765,-0.2209,0.6049,0.7839,-0.221,0.5802,-0.0405,-0.9575,0.2856,-0.0325,-0.9584,0.2834,-0.8455,-0.2506,-0.4715,-0.8305,-0.2513,-0.497,0.0369,0.9566,-0.2892,0.0373,0.9562,-0.2904,0.7933,0.4584,0.4007,0.8043,0.4571,0.3797,0.0407,0.9595,-0.2788,0.0395,0.9576,-0.2853,-0.7211,0.3695,-0.5861,-0.7034,0.3679,-0.6081,0.0557,0.9475,-0.3148,0.0566,0.947,-0.3163,0.641,-0.217,0.7362,0.6626,-0.2171,0.7168,-0.0646,-0.9427,0.3273,-0.0526,-0.944,0.3256,-0.7527,-0.2545,-0.6072,-0.7361,-0.2571,-0.6261,0.0599,0.9412,-0.3326,0.0607,0.9402,-0.3351,0.7143,0.4688,0.5197,0.7268,0.4687,0.502,0.0609,0.946,-0.3184,0.0613,0.943,-0.3272,-0.6015,0.3584,-0.714,-0.5812,0.3569,-0.7313,0.0818,0.9332,-0.3499,0.0831,0.9325,-0.3516,0.5266,-0.2137,0.8229,0.5455,-0.2139,0.8103,-0.1258,-0.9136,0.3867,-0.0803,-0.919,0.386,-0.6897,-0.2793,-0.668,-0.6871,-0.2865,-0.6677,0.0957,0.9041,-0.4165,0.0997,0.9005,-0.4232,0.6754,0.5044,0.538,0.6758,0.5094,0.5327,0.0877,0.9302,-0.3563,0.0942,0.9162,-0.3895,-0.4869,0.3489,-0.8007,-0.4689,0.3479,-0.8118,0.1143,0.9142,-0.3887,0.1161,0.9126,-0.392,0.4505,-0.2127,0.867,0.4611,-0.2132,0.8614,-0.1323,-0.8797,0.4567,-0.0792,-0.8852,0.4585,-0.6621,-0.3386,-0.6686,-0.6467,-0.3477,-0.6788,0.1006,0.847,-0.522,0.1002,0.8453,-0.5248,0.644,0.5958,0.4799,0.6559,0.5994,0.4588,0.1121,0.8907,-0.4405,0.1196,0.8705,-0.4774,-0.4024,0.344,-0.8483,-0.3912,0.3434,-0.8539,0.1065,0.8878,-0.4477,0.1052,0.8873,-0.4489,0.4149,-0.2136,0.8844,0.4198,-0.213,0.8823,-0.0882,-0.8727,0.4802,-0.0768,-0.873,0.4817,-0.5959,-0.3835,-0.7056,-0.5683,-0.388,-0.7257,0.0699,0.8468,-0.5273,0.0677,0.8477,-0.5262,0.5632,0.6466,0.5145,0.5918,0.648,0.4794,0.096,0.8712,-0.4815,0.0965,0.8665,-0.4898,-0.361,0.3412,-0.8679,-0.3583,0.3407,-0.8692,0.0469,0.9047,-0.4234,0.0457,0.905,-0.4229,0.4251,-0.2051,0.8816,0.4247,-0.2006,0.8829,-0.0159,-0.8942,0.4474,-0.0207,-0.8941,0.4474,-0.5138,-0.4087,-0.7543,-0.4976,-0.4117,-0.7635,-0.0037,0.8804,-0.4743,-0.0031,0.8804,-0.4742,0.4759,0.6585,0.583,0.498,0.6618,0.5603,0.021,0.894,-0.4476,0.0197,0.8954,-0.4448,-0.3734,0.3399,-0.8632,-0.3806,0.3376,-0.8609,-0.0734,0.9343,-0.3488,-0.0705,0.9335,-0.3516,0.4929,-0.1686,0.8536,0.4887,-0.1597,0.8577,0.0717,-0.9155,0.396,0.0952,-0.9138,0.3948,-0.4797,-0.4324,-0.7634,-0.483,-0.44,-0.757,-0.0965,0.9001,-0.4249,-0.0946,0.8988,-0.428,0.4403,0.6565,0.6125,0.4427,0.6574,0.6097,-0.0922,0.9205,-0.3796,-0.0836,0.9136,-0.3978,-0.4529,0.3104,-0.8358,-0.4656,0.3028,-0.8316,-0.1897,0.9367,-0.2943,-0.1878,0.9351,-0.3004,0.6144,-0.097,0.783,0.6037,-0.0919,0.7919,0.1654,-0.9163,0.3648,0.2402,-0.9051,0.3509,-0.5213,-0.4777,-0.7072,-0.5439,-0.4943,-0.6781,-0.1944,0.8924,-0.4072,-0.1933,0.8893,-0.4143,0.4806,0.6753,0.5594,0.4628,0.6701,0.5804,-0.2182,0.9228,-0.3176,-0.1984,0.9029,-0.3813,-0.5772,0.2404,-0.7804,-0.591,0.2366,-0.7712,-0.2926,0.9016,-0.3186,-0.2935,0.8994,-0.3239,0.7591,-0.0465,0.6493,0.7429,-0.0447,0.6679,0.2764,-0.8917,0.3585,0.3417,-0.8776,0.3362,-0.6298,-0.5541,-0.5444,-0.6623,-0.5785,-0.4761,-0.3022,0.8589,-0.4135,-0.3018,0.8552,-0.4214,0.5779,0.7217,0.3811,0.5481,0.7123,0.4385,-0.3052,0.8939,-0.3282,-0.2935,0.8699,-0.3964,-0.7164,0.2635,-0.646,-0.7288,0.2642,-0.6317,-0.3483,0.8776,-0.3294,-0.3497,0.8763,-0.3313,0.9221,0.0404,0.3849,0.9001,0.0416,0.4337,0.3388,-0.8706,0.3568,0.3635,-0.8679,0.3386,-0.7366,-0.6336,-0.2366,-0.7493,-0.6471,-0.1405,-0.3544,0.8573,-0.3735,-0.3547,0.8556,-0.3769,0.6381,0.7672,0.065,0.6248,0.7672,0.1447,-0.3467,0.8748,-0.3385,-0.3495,0.8616,-0.368,-0.8597,0.2279,-0.4571,-0.8767,0.2248,-0.4252,-0.3716,0.8624,-0.3437,-0.3719,0.862,-0.3444,0.9964,0.0798,-0.0285,0.9944,0.0821,0.0666,0.3675,-0.865,0.3416,0.3702,-0.8639,0.3415,-0.7446,-0.6499,0.1522,-0.7326,-0.6411,0.2285,-0.3717,0.8609,-0.3474,-0.3719,0.8608,-0.3474,0.6064,0.7465,-0.274,0.6175,0.7575,-0.2116,-0.3648,0.8641,-0.3469,-0.3652,0.8622,-0.3511,-0.9629,0.2131,-0.1656,-0.9712,0.2171,-0.0982,-0.3577,0.8585,-0.3674,-0.3571,0.858,-0.3691,0.889,0.0176,-0.4576,0.934,0.0289,-0.3561,0.3652,-0.8645,0.3453,0.3624,-0.8601,0.3589,-0.6378,-0.5718,0.516,-0.6136,-0.5502,0.5664,-0.368,0.8644,-0.3426,-0.3675,0.8645,-0.343,0.4988,0.6499,-0.5734,0.5233,0.6634,-0.5349,-0.3637,0.8598,-0.3584,-0.3552,0.8649,-0.3547,-0.9459,0.2632,0.1896,-0.9189,0.2788,0.2789,-0.3424,0.8558,-0.3879,-0.342,0.8557,-0.3883,0.6873,-0.0899,-0.7207,0.735,-0.0797,-0.6734,0.3594,-0.8601,0.3621,0.3584,-0.8583,0.3672,-0.4469,-0.4428,0.7773,-0.4263,-0.425,0.7985,-0.3659,0.861,-0.3531,-0.3664,0.8603,-0.3544,0.3358,0.5229,-0.7835,0.3571,0.5312,-0.7684,-0.3557,0.8591,-0.3679,-0.3507,0.8618,-0.3665,-0.7934,0.354,0.4951,-0.7566,0.37,0.5392,-0.3336,0.861,-0.384,-0.3347,0.8607,-0.3837,0.5116,-0.1755,-0.8411,0.5395,-0.1703,-0.8246,0.3606,-0.8576,0.3667,0.3559,-0.8643,0.3554,-0.2713,-0.3369,0.9016,-0.2568,-0.3259,0.9099,-0.3728,0.8557,-0.359,-0.3733,0.8557,-0.3584,0.1838,0.425,-0.8863,0.1995,0.4298,-0.8806,-0.3462,0.8635,-0.3668,-0.356,0.8612,-0.3628,-0.6158,0.4349,0.657,-0.5965,0.4436,0.6689,-0.3225,0.8812,-0.3456,-0.3262,0.8802,-0.3447,0.3804,-0.2363,-0.8941,0.3973,-0.2342,-0.8873,0.3532,-0.8709,0.3416,0.3418,-0.8834,0.3207,-0.1529,-0.2748,0.9493,-0.1432,-0.269,0.9524,-0.3708,0.8654,-0.337,-0.3718,0.8655,-0.3357,0.0812,0.3735,-0.9241,0.0913,0.3762,-0.922,-0.3336,0.8784,-0.3422,-0.3564,0.8734,-0.3319,-0.4758,0.5021,0.7222,-0.466,0.5063,0.7256,-0.2934,0.9057,-0.3061,-0.298,0.9044,-0.3053,0.2848,-0.2747,-0.9184,0.2968,-0.2744,-0.9147,0.3245,-0.8959,0.3034,0.3089,-0.9079,0.2834,-0.0851,-0.2458,0.9656,-0.08,-0.2434,0.9666,-0.3414,0.8923,-0.2955,-0.344,0.8918,-0.294,0.0258,0.358,-0.9334,0.0294,0.3594,-0.9327,-0.3045,0.9022,-0.3054,-0.3288,0.8979,-0.2926,-0.3697,0.5403,0.7559,-0.3617,0.5429,0.7579,-0.2927,0.91,-0.2937,-0.2895,0.9098,-0.2974,0.2436,-0.2954,-0.9238,0.2489,-0.2989,-0.9212,0.2746,-0.9232,0.2688,0.2764,-0.9217,0.2723,-0.0551,-0.2355,0.9703,-0.0536,-0.2347,0.9706,-0.2888,0.9242,-0.2499,-0.2918,0.9236,-0.2487,0.0066,0.3605,-0.9327,0.0063,0.3611,-0.9325,-0.2884,0.9178,-0.2727,-0.288,0.9175,-0.2743,-0.3188,0.5597,0.7649,-0.3186,0.564,0.7618,-0.3134,0.8426,-0.438,-0.3112,0.84,-0.4445,0.2804,-0.3385,-0.8982,0.2754,-0.3441,-0.8977,0.2413,-0.9275,0.2855,0.2925,-0.8928,0.3425,-0.0518,-0.2318,0.9714,-0.0527,-0.2311,0.9715,-0.2416,0.9442,-0.2237,-0.2426,0.9438,-0.2246,0.009,0.3643,-0.9313,0.0084,0.3635,-0.9315,-0.322,0.8988,-0.2976,-0.2582,0.9054,-0.3369,-0.3562,0.649,0.6722,-0.3849,0.6546,0.6506,-0.3094,0.7886,-0.5314,-0.3082,0.7873,-0.534,0.3109,-0.3815,-0.8705,0.3193,-0.3854,-0.8658,0.2564,-0.8843,0.3901,0.3141,-0.8345,0.4527,-0.063,-0.2287,0.9715,-0.0647,-0.2262,0.9719,-0.2394,0.931,-0.2756,-0.2378,0.9297,-0.2814,0.0148,0.3531,-0.9355,0.0178,0.3499,-0.9366,-0.3092,0.8608,-0.4042,-0.2357,0.8635,-0.4458,-0.4269,0.7332,0.5293,-0.4264,0.7371,0.5243,-0.2299,0.8206,-0.5233,-0.23,0.8209,-0.5226,0.2882,-0.3922,-0.8736,0.3018,-0.3947,-0.8678,0.2306,-0.8544,0.4656,0.2465,-0.8402,0.483,-0.0923,-0.215,0.9722,-0.0999,-0.2126,0.972,-0.2167,0.8772,-0.4284,-0.2151,0.8755,-0.4326,0.0566,0.3241,-0.9443,0.0533,0.3208,-0.9456,-0.2328,0.8504,-0.4718,-0.2118,0.8503,-0.4818,-0.3952,0.7497,0.5308,-0.3653,0.7509,0.5502,-0.0882,0.879,-0.4687,-0.083,0.8808,-0.4661,0.2651,-0.3927,-0.8806,0.2703,-0.3941,-0.8784,0.1109,-0.8858,0.4506,0.1048,-0.8919,0.4399,-0.1652,-0.2088,0.9639,-0.1803,-0.2067,0.9616,-0.1322,0.8944,-0.4272,-0.1308,0.8948,-0.4268,0.1435,0.3262,-0.9344,0.1298,0.3251,-0.9367,-0.101,0.8861,-0.4523,-0.1092,0.8883,-0.4461,-0.3013,0.7339,0.6088,-0.2765,0.7302,0.6248,0.075,0.9148,-0.3968,0.089,0.9161,-0.391,0.2802,-0.4007,-0.8723,0.2732,-0.3996,-0.875,-0.0696,-0.9255,0.3723,-0.0641,-0.927,0.3696,-0.2887,-0.1939,0.9376,-0.2995,-0.1883,0.9353,0.039,0.9363,-0.3491,0.0495,0.9378,-0.3436,0.2765,0.3293,-0.9028,0.268,0.3279,-0.9059,0.0624,0.9231,-0.3796,0.0683,0.9259,-0.3716,-0.2363,0.7044,0.6693,-0.2298,0.7023,0.6737,0.2157,0.9145,-0.3422,0.2333,0.9137,-0.3326,0.3622,-0.4412,-0.8211,0.3416,-0.4356,-0.8328,-0.2548,-0.9325,0.256,-0.2195,-0.9258,0.3078,-0.4509,-0.1432,0.881,-0.4501,-0.1354,0.8827,0.2139,0.9508,-0.224,0.2384,0.9491,-0.2059,0.45,0.2906,-0.8445,0.4535,0.2859,-0.8442,0.2057,0.9322,-0.2979,0.2549,0.9241,-0.2848,-0.2419,0.7149,0.656,-0.2542,0.7223,0.6432,0.3239,0.8896,-0.3221,0.3365,0.8877,-0.3142,0.5,-0.5239,-0.6896,0.4703,-0.5128,-0.7182,-0.376,-0.9074,0.1876,-0.3339,-0.8916,0.3057,-0.6281,-0.0694,0.7751,-0.6169,-0.0635,0.7845,0.3613,0.9179,-0.1641,0.3753,0.9148,-0.1496,0.6285,0.2317,-0.7425,0.6424,0.2256,-0.7324,0.3231,0.912,-0.2525,0.3956,0.89,-0.2268,-0.3026,0.7804,0.5472,-0.3248,0.7982,0.5073,0.3998,0.865,-0.3032,0.4085,0.8626,-0.2983,0.6528,-0.6255,-0.4273,0.623,-0.6118,-0.4874,-0.4352,-0.8811,0.185,-0.4179,-0.8558,0.3049,-0.8154,-0.0029,0.5789,-0.8092,0.0017,0.5875,0.4493,0.8772,-0.1693,0.4532,0.8752,-0.1695,0.809,0.1869,-0.5574,0.8197,0.1832,-0.5427,0.4003,0.8822,-0.248,0.4613,0.864,-0.2019,-0.3791,0.867,0.3235,-0.3952,0.882,0.2565,0.4554,0.851,-0.2616,0.4609,0.8488,-0.2589,0.7343,-0.677,-0.0501,0.7297,-0.673,-0.1212,-0.4668,-0.8619,0.1981,-0.4711,-0.8408,0.2667,-0.9701,0.0381,0.2398,-0.978,0.0405,0.2044,0.4862,0.8533,-0.1885,0.4876,0.8522,-0.1898,0.9593,0.1699,-0.2254,0.9539,0.1691,-0.2481,0.4567,0.857,-0.2389,0.4854,0.8516,-0.198,-0.4189,0.908,0.0048,-0.4224,0.9053,-0.0455,0.4907,0.8479,-0.2008,0.4929,0.8457,-0.2045,0.7055,-0.634,0.3167,0.7258,-0.6344,0.266,-0.484,-0.8514,0.2022,-0.4874,-0.8463,0.2148,-0.9845,0.037,-0.1716,-0.9688,0.0301,-0.2461,0.4911,0.8465,-0.2055,0.4907,0.8471,-0.2042,0.9702,0.1737,0.1689,0.9801,0.173,0.0969,0.4862,0.8489,-0.2073,0.4905,0.8481,-0.2004,-0.4248,0.8516,-0.307,-0.4299,0.8416,-0.3268,0.4945,0.8562,-0.15,0.4963,0.8537,-0.1576,0.6232,-0.5264,0.5784,0.6495,-0.5256,0.5495,-0.486,-0.8536,0.1875,-0.4767,-0.8616,0.1742,-0.8741,-0.0029,-0.4857,-0.8442,-0.0167,-0.5358,0.4723,0.8534,-0.2207,0.4714,0.8532,-0.2232,0.8714,0.1974,0.4491,0.902,0.1985,0.3834,0.4834,0.8586,-0.1709,0.483,0.8539,-0.1938,-0.4039,0.7328,-0.5477,-0.4095,0.7244,-0.5545,0.4835,0.8709,-0.0877,0.4889,0.8663,-0.1028,0.5269,-0.4289,0.7338,0.5453,-0.4281,0.7207,-0.466,-0.8724,0.1474,-0.4479,-0.8844,0.1313,-0.7561,-0.0744,-0.6502,-0.7339,-0.088,-0.6736,0.4327,0.8805,-0.1937,0.4391,0.8732,-0.2113,0.7761,0.2814,0.5643,0.8028,0.2813,0.5257,0.4554,0.8807,-0.1302,0.4609,0.8734,-0.1575,-0.3556,0.6277,-0.6925,-0.3577,0.623,-0.6956,0.4325,0.9014,-0.0208,0.4445,0.8948,-0.0414,0.4492,-0.368,0.8141,0.4589,-0.3672,0.8091,-0.4107,-0.9082,0.0801,-0.3925,-0.9175,0.0645,-0.6624,-0.1372,-0.7365,-0.6457,-0.1467,-0.7494,0.3711,0.9204,-0.1229,0.3809,0.9147,-0.135,0.6731,0.2876,0.6814,0.6887,0.2848,0.6668,0.4035,0.9125,-0.0668,0.4147,0.9059,-0.086,-0.3077,0.5708,-0.7613,-0.308,0.5691,-0.7624,0.3513,0.9341,0.0633,0.3671,0.929,0.0457,0.3943,-0.339,0.8541,0.3973,-0.339,0.8528,-0.3299,-0.944,-0.0038,-0.3163,-0.9486,-0.0126,-0.5731,-0.1825,-0.7989,-0.5601,-0.1892,-0.8065,0.3001,0.9534,-0.0317,0.3078,0.9507,-0.0379,0.5743,0.3409,0.7443,0.5863,0.3424,0.7341,0.325,0.9456,0.017,0.3374,0.9414,0.0037,-0.2796,0.5517,-0.7858,-0.2797,0.5517,-0.7857,0.2495,0.9588,0.1359,0.2622,0.9569,0.1252,0.3535,-0.3312,0.8748,0.3533,-0.3319,0.8747,-0.2428,-0.9678,-0.0666,-0.223,-0.9725,-0.0668,-0.4851,-0.2159,-0.8474,-0.4762,-0.2201,-0.8514,0.2213,0.9748,0.0276,0.2255,0.9739,0.0242,0.4782,0.3886,0.7876,0.4874,0.3915,0.7805,0.2299,0.9695,0.0853,0.2424,0.9678,0.068,-0.2675,0.5527,-0.7892,-0.2676,0.5531,-0.789,0.1501,0.974,0.1697,0.1571,0.974,0.1635,0.3118,-0.3289,0.8914,0.3098,-0.3285,0.8922,-0.1733,-0.9813,-0.0841,-0.1378,-0.9877,-0.0734,-0.3995,-0.2346,-0.8862,-0.3918,-0.2367,-0.8891,0.1596,0.9866,0.0329,0.1605,0.9866,0.0304,0.3873,0.427,0.8171,0.3964,0.4303,0.811,0.1428,0.9835,0.1112,0.1605,0.9838,0.0803,-0.2525,0.5524,-0.7944,-0.2537,0.5519,-0.7944,0.075,0.9857,0.1511,0.078,0.9862,0.1458,0.2452,-0.314,0.9172,0.24,-0.3098,0.92,-0.1188,-0.9913,-0.0568,-0.077,-0.9963,-0.0382,-0.2923,-0.2417,-0.9253,-0.2827,-0.2422,-0.9281,0.1173,0.9931,-0.0046,0.1179,0.993,-0.006,0.2841,0.4561,0.8433,0.2965,0.4576,0.8383,0.0878,0.9928,0.0813,0.1124,0.9928,0.0424,-0.2057,0.5312,-0.8219,-0.2104,0.5287,-0.8223,0.0463,0.9963,0.0719,0.0454,0.9967,0.0679,0.1344,-0.2751,0.952,0.1287,-0.2696,0.9543,-0.0908,-0.9958,-0.0122,-0.0615,-0.9981,0.0068,-0.1452,-0.2419,-0.9594,-0.135,-0.2351,-0.9626,0.1059,0.9944,-0.0028,0.1059,0.9944,-0.0054,0.1507,0.4455,0.8825,0.1596,0.4442,0.8816,0.0708,0.9972,0.0237,0.0903,0.9959,-0.0038,-0.1057,0.4786,-0.8716,-0.1118,0.4755,-0.8726,0.0461,0.9989,0.0018,0.0463,0.9989,-0.0017,-0.0075,-0.2445,0.9696,-0.002,-0.2416,0.9704,-0.12,-0.9924,0.0275,-0.09,-0.9938,0.0654,0.0519,-0.156,-0.9864,0.0831,-0.1354,-0.9873,0.158,0.9779,-0.1372,0.152,0.9783,-0.1409,-0.0343,0.428,0.9031,-0.0123,0.4255,0.9049,0.071,0.9973,-0.0209,0.1016,0.9933,-0.0552,0.0188,0.4429,-0.8964,0.0237,0.4339,-0.9007,0.0713,0.9929,-0.0955,0.0707,0.9925,-0.0992,-0.0786,-0.2322,0.9695,-0.0774,-0.2304,0.97,-0.1287,-0.9828,0.1324,-0.0969,-0.9791,0.1788,0.2027,0.015,-0.9791,0.2021,0.0373,-0.9787,0.1874,0.959,-0.2126,0.1933,0.9575,-0.2139,-0.1436,0.3422,0.9286,-0.1486,0.3353,0.9303,0.1217,0.9827,-0.1395,0.1598,0.9712,-0.1769,0.1001,0.2939,-0.9506,0.1014,0.2795,-0.9548,0.0677,0.9773,-0.2008,0.0741,0.9761,-0.2045,-0.0163,-0.2214,0.975,-0.0216,-0.2172,0.9759,-0.0888,-0.9751,0.2031,-0.0699,-0.9736,0.2173,0.1301,0.1288,-0.9831,0.1086,0.1399,-0.9842,0.0983,0.969,-0.2267,0.1198,0.9657,-0.2304,-0.0736,0.251,0.9652,-0.1042,0.2365,0.966,0.0832,0.9741,-0.2102,0.1097,0.9679,-0.2262,0.0323,0.152,-0.9879,0.0246,0.1414,-0.9896,-0.0197,0.9785,-0.2054,-0.0012,0.9767,-0.2147,0.1611,-0.1807,0.9703,0.1548,-0.1718,0.9729,0.0091,-0.9808,0.1948,0.0276,-0.9827,0.1832,-0.058,0.1359,-0.989,-0.0951,0.13,-0.987,-0.0349,0.9831,-0.1795,-0.0025,0.9809,-0.1947,0.1094,0.1878,0.9761,0.0583,0.1578,0.9857,-0.022,0.9812,-0.1916,-0,0.9799,-0.1996,-0.1562,0.0789,-0.9846,-0.1639,0.0739,-0.9837,-0.1161,0.9869,-0.1122,-0.0922,0.9866,-0.1348,0.3843,-0.1044,0.9173,0.3817,-0.0967,0.9192,0.1184,-0.9862,0.1154,0.1276,-0.9882,0.0853,-0.2944,0.0575,-0.954,-0.3406,0.0315,-0.9397,-0.1555,0.9844,-0.0826,-0.125,0.986,-0.1106,0.3283,0.1605,0.9308,0.2716,0.1215,0.9547,-0.127,0.9867,-0.1018,-0.1084,0.9883,-0.1072,-0.3806,0.0462,-0.9236,-0.378,0.0461,-0.9246,-0.162,0.9859,0.0421,-0.143,0.9897,0.0071,0.5752,-0.0571,0.816,0.5739,-0.0774,0.8153,0.1924,-0.9813,-0.0083,0.1853,-0.9818,-0.0415,-0.5157,-0.0934,-0.8517,-0.5521,-0.1351,-0.8228,-0.2296,0.9726,0.0374,-0.2114,0.9774,0.0084,0.5033,0.3023,0.8095,0.4626,0.2732,0.8434,-0.1914,0.9811,0.0274,-0.1791,0.9834,0.0293,-0.5501,0.0541,-0.8334,-0.548,0.076,-0.833,-0.1692,0.9638,0.2062,-0.1583,0.9737,0.1637,0.7116,-0.2112,0.67,0.7091,-0.2281,0.6672,0.2189,-0.9667,-0.1329,0.2147,-0.9634,-0.1603,-0.6617,-0.281,-0.6951,-0.6751,-0.3238,-0.6629,-0.2561,0.9553,0.1474,-0.2489,0.96,0.1284,0.5796,0.493,0.6489,0.5578,0.478,0.6785,-0.2162,0.9619,0.1672,-0.2078,0.9653,0.1582,-0.734,0.3595,-0.5762,-0.7244,0.3775,-0.5768,-0.1842,0.9382,0.2931,-0.1826,0.9448,0.2719,0.8574,-0.1183,0.5009,0.8582,-0.1044,0.5026,0.2313,-0.9471,-0.2226,0.2433,-0.9391,-0.2428,-0.714,-0.4605,-0.5274,-0.709,-0.4941,-0.5032,-0.2701,0.9378,0.218,-0.2687,0.9404,0.2085,0.584,0.639,0.5006,0.5725,0.6334,0.5206,-0.2305,0.938,0.2588,-0.2318,0.9446,0.2324,-0.8663,0.301,-0.3986,-0.8602,0.2999,-0.4124,-0.2168,0.9193,0.3284,-0.2186,0.9218,0.3203,0.9401,0.04,0.3386,0.9373,0.0553,0.3441,0.2527,-0.93,-0.2668,0.2732,-0.9177,-0.2884,-0.6976,-0.6069,-0.3808,-0.6847,-0.6299,-0.3666,-0.2894,0.9219,0.2576,-0.2905,0.9226,0.2538,0.545,0.7482,0.3785,0.5371,0.7476,0.3908,-0.2512,0.9196,0.3021,-0.2629,0.9261,0.2706,-0.9564,0.1787,-0.2309,-0.9557,0.1733,-0.2377,-0.258,0.9053,0.3375,-0.2603,0.9053,0.3355,0.9587,0.2083,0.1935,0.9541,0.2213,0.2018,0.283,-0.9158,-0.285,0.303,-0.9014,-0.3092,-0.6467,-0.7166,-0.2612,-0.633,-0.7313,-0.2538,-0.313,0.9081,0.2781,-0.3147,0.9079,0.2771,0.488,0.8269,0.2796,0.4819,0.8276,0.2878,-0.2788,0.9066,0.3169,-0.2964,0.9104,0.2887,-0.9953,0.0369,-0.0899,-0.9956,0.0279,-0.0895,-0.299,0.8947,0.3317,-0.3011,0.894,0.3317,0.9308,0.36,0.0631,0.9265,0.3692,0.0727,0.3154,-0.9038,-0.2891,0.3304,-0.8903,-0.3134,-0.5848,-0.7952,-0.1604,-0.5734,-0.8042,-0.1567,-0.3371,0.8972,0.2853,-0.3386,0.8967,0.2851,0.4281,0.8826,0.1944,0.4238,0.8833,0.2004,-0.3089,0.8974,0.315,-0.3274,0.8982,0.2932,-0.9943,-0.1018,0.0321,-0.993,-0.112,0.0374,-0.3353,0.8878,0.3154,-0.3368,0.8872,0.3154,0.8758,0.479,-0.0596,0.8735,0.4843,-0.0499,0.3447,-0.8946,-0.2843,0.3534,-0.8844,-0.305,-0.5232,-0.8495,-0.068,-0.5151,-0.8546,-0.0657,-0.3584,0.8898,0.2825,-0.3596,0.8894,0.2823,0.3719,0.9212,0.1139,0.3694,0.9217,0.1185,-0.3375,0.8915,0.3022,-0.353,0.8904,0.2873,-0.9648,-0.2191,0.1453,-0.9616,-0.2278,0.153,-0.3631,0.884,0.2945,-0.3641,0.8837,0.294,0.8071,0.5605,-0.1853,0.8078,0.5624,-0.1764,0.368,-0.8889,-0.273,0.3716,-0.8822,-0.2894,-0.465,-0.8849,0.0254,-0.4602,-0.8874,0.0277,-0.3749,0.8863,0.272,-0.3757,0.8861,0.2716,0.3201,0.9469,0.0307,0.3193,0.947,0.034,-0.3607,0.8879,0.2854,-0.3727,0.8861,0.2755,-0.9157,-0.3044,0.2625,-0.9113,-0.31,0.2712,-0.3743,0.8817,0.2873,-0.3746,0.8814,0.2877,0.7305,0.6033,-0.3199,0.7322,0.6036,-0.3154,0.3825,-0.8837,-0.2698,0.383,-0.8782,-0.2866,-0.4087,-0.9042,0.1243,-0.407,-0.9047,0.126,-0.3817,0.8854,0.2653,-0.382,0.8852,0.2654,0.2726,0.9606,-0.0548,0.2727,0.9606,-0.0537,-0.3741,0.8834,0.2821,-0.3869,0.8804,0.2743,-0.8463,-0.3534,0.3985,-0.8428,-0.3553,0.4044,-0.3769,0.8775,0.2965,-0.3771,0.8773,0.2969,0.6422,0.6131,-0.4602,0.6406,0.6118,-0.464,0.3896,-0.8762,-0.2838,0.3872,-0.8711,-0.302,-0.3472,-0.9098,0.2275,-0.3487,-0.9092,0.2275,-0.3817,0.8839,0.2701,-0.3818,0.8838,0.2703,0.2222,0.9647,-0.1412,0.2219,0.9646,-0.1428,-0.3811,0.8764,0.2945,-0.396,0.8721,0.2876,-0.7522,-0.3688,0.5461,-0.7538,-0.3685,0.5441,-0.3833,0.8746,0.2971,-0.3838,0.8743,0.297,0.5435,0.5893,-0.5977,0.5385,0.584,-0.6075,0.3952,-0.8686,-0.299,0.3928,-0.8662,-0.3088,-0.2783,-0.9014,0.3317,-0.2831,-0.9002,0.331,-0.382,0.8826,0.2742,0.1644,0.9593,-0.2295,0.1632,0.9584,-0.2341,-0.3953,0.8688,0.2981,-0.402,0.8667,0.2953,-0.6449,-0.3485,0.6802,-0.6513,-0.35,0.6732,-0.3987,0.8697,0.291,-0.3993,0.8695,0.2908,0.4422,0.5329,-0.7214,0.4365,0.5223,-0.7326,0.3953,-0.8661,-0.3058,0.398,-0.8666,-0.301,-0.2091,-0.8776,0.4315,-0.2164,-0.8755,0.432,-0.3795,0.8839,0.2733,-0.3793,0.8841,0.2731,0.1063,0.9428,-0.3158,0.1044,0.9406,-0.3229,-0.4025,0.867,0.2938,-0.3962,0.8698,0.2941,-0.5326,-0.3203,0.7834,-0.5422,-0.3219,0.7762,-0.4021,0.8686,0.2895,-0.4016,0.869,0.2891,0.3438,0.4444,-0.8273,0.338,0.4284,-0.838,0.3818,-0.8717,-0.3072,0.3904,-0.8726,-0.2935,-0.1434,-0.839,0.525,-0.1524,-0.8359,0.5273,-0.3692,0.8881,0.2738,-0.3689,0.8883,0.2734,0.0521,0.9162,-0.3974,0.049,0.9122,-0.4068,-0.393,0.872,0.2918,-0.3805,0.8778,0.2909,-0.4255,-0.2348,0.874,-0.4369,-0.2339,0.8685,-0.378,0.8836,0.2765,-0.3759,0.8846,0.2759,0.2435,0.3305,-0.9118,0.2384,0.3111,-0.92,0.3549,-0.8833,-0.3064,0.3677,-0.8834,-0.2906,-0.0805,-0.7855,0.6136,-0.0905,-0.781,0.6179,-0.3494,0.8952,0.2768,-0.3488,0.8955,0.2765,0.0022,0.8794,-0.476,-0.0027,0.8733,-0.4873,-0.3697,0.8826,0.2904,-0.3545,0.8898,0.2875,-0.3166,-0.1283,0.9399,-0.3279,-0.1261,0.9363,-0.3393,0.9022,0.2662,-0.3338,0.904,0.2671,0.1398,0.2033,-0.9691,0.1362,0.183,-0.9736,0.3147,-0.8986,-0.3058,0.3304,-0.8976,-0.2919,-0.0192,-0.7165,0.6974,-0.0293,-0.71,0.7036,-0.317,0.9047,0.2847,-0.3152,0.9051,0.2852,-0.0441,0.8322,-0.5527,-0.0513,0.8233,-0.5653,-0.3307,0.8977,0.2912,-0.3154,0.9044,0.2875,-0.2038,-0.0149,0.9789,-0.2134,-0.011,0.9769,-0.2801,0.9221,0.2668,-0.2662,0.9251,0.2708,0.045,0.0818,-0.9956,0.0394,0.0716,-0.9967,0.2565,-0.9153,-0.3105,0.2737,-0.9137,-0.3004,0.0432,-0.6306,0.7749,0.0335,-0.6222,0.7822,-0.2673,0.9153,0.3013,-0.2619,0.9162,0.3032,-0.0878,0.7734,-0.6278,-0.098,0.7612,-0.6411,-0.2727,0.915,0.2973,-0.2574,0.9199,0.2959,-0.0843,0.0932,0.9921,-0.0911,0.0914,0.9916,-0.1883,0.9393,0.2869,-0.1593,0.9421,0.2952,-0.0804,0.0371,-0.9961,-0.0902,0.0383,-0.9952,0.1732,-0.9306,-0.3225,0.1886,-0.9284,-0.3201,0.1111,-0.5275,0.8423,0.1014,-0.5178,0.8495,-0.1923,0.924,0.3304,-0.1795,0.9253,0.3341,-0.131,0.7004,-0.7016,-0.1455,0.6841,-0.7148,-0.1858,0.9314,0.313,-0.1684,0.9327,0.319,0.0547,0.094,0.9941,0.0515,0.0841,0.9951,-0.0507,0.9418,0.3325,-0.003,0.9392,0.3433,-0.2081,0.0222,-0.9779,-0.2163,0.0247,-0.976,0.0511,-0.9354,-0.35,0.0582,-0.9318,-0.3582,0.1909,-0.4081,0.8928,0.1793,-0.3995,0.899,-0.0823,0.9268,0.3663,-0.0573,0.9267,0.3713,-0.1795,0.6103,-0.7715,-0.2008,0.5888,-0.783,-0.0598,0.9374,0.3431,-0.0373,0.9318,0.3609,0.1977,0.0447,0.9792,0.1971,0.0345,0.9798,0.126,0.9132,0.3875,0.1751,0.9026,0.3933,-0.3173,0.0174,-0.9482,-0.3217,0.0117,-0.9468,-0.1137,-0.9141,-0.3891,-0.1115,-0.9086,-0.4024,0.2889,-0.2778,0.9162,0.2715,-0.2745,0.9225,0.0693,0.9091,0.4107,0.1083,0.9035,0.4147,-0.2387,0.5054,-0.8292,-0.2662,0.4822,-0.8347,0.1012,0.9179,0.3838,0.1291,0.9042,0.4071,0.3054,-0.0046,0.9522,0.3056,-0.0067,0.9521,0.294,0.8633,0.4103,0.3276,0.852,0.4084,-0.3942,-0.025,-0.9187,-0.3986,-0.0393,-0.9163,-0.2984,-0.8597,-0.4146,-0.2843,-0.8598,-0.4242,0.4035,-0.1507,0.9025,0.3765,-0.1566,0.9131,0.2537,0.8598,0.4431,0.2988,0.846,0.4416,-0.3065,0.4384,-0.8449,-0.335,0.4213,-0.8428,0.2709,0.8684,0.4153,0.3014,0.8528,0.4264,0.3886,0.0076,0.9214,0.3892,0.0135,0.9211,0.4037,0.8332,0.3779,0.4143,0.8303,0.3729,-0.4511,-0.0722,-0.8895,-0.454,-0.0881,-0.8866,-0.454,-0.7966,-0.3992,-0.4117,-0.818,-0.4018,0.5155,-0.0531,0.8553,0.481,-0.0678,0.8741,0.4357,0.7851,0.4403,0.4707,0.7689,0.4327,-0.3585,0.4277,-0.8298,-0.3761,0.422,-0.8249,0.4109,0.812,0.4144,0.4414,0.8046,0.3973,0.4451,0.0419,0.8945,0.4497,0.0535,0.8916,0.4195,0.8549,0.3051,0.4168,0.858,0.3002,-0.473,-0.124,-0.8723,-0.4712,-0.1401,-0.8708,-0.5472,-0.7652,-0.3393,-0.4584,-0.8228,-0.3359,0.6021,-0.0116,0.7983,0.5628,-0.0332,0.8259,0.5695,0.722,0.3929,0.5864,0.714,0.3826,-0.3688,0.4694,-0.8023,-0.3722,0.4735,-0.7983,0.4762,0.7936,0.3788,0.5114,0.7988,0.3167,0.4795,0.1252,0.8685,0.491,0.1427,0.8594,0.3718,0.9077,0.1946,0.3701,0.9097,0.1883,-0.5114,-0.175,-0.8413,-0.5242,-0.1853,-0.8312,-0.568,-0.7913,-0.2264,-0.433,-0.8714,-0.2306,0.6936,-0.0216,0.72,0.6264,-0.0579,0.7773,0.6386,0.7198,0.2721,0.6435,0.7202,0.2594,-0.358,0.5453,-0.7579,-0.3958,0.5425,-0.741,0.4752,0.8282,0.297,0.5224,0.8333,0.1809,0.5453,0.2469,0.801,0.5453,0.264,0.7956,0.3358,0.9374,0.0921,0.333,0.9387,0.0893,-0.6193,-0.1989,-0.7595,-0.6367,-0.2024,-0.744,-0.5283,-0.8435,-0.0968,-0.3962,-0.911,-0.1148,0.7208,-0.1134,0.6839,0.6737,-0.1426,0.7251,0.6277,0.7696,0.1169,0.6228,0.7751,0.1069,-0.4127,0.5737,-0.7075,-0.4261,0.5765,-0.6972,0.4467,0.8778,0.173,0.4851,0.8738,0.0355,0.6442,0.3298,0.6901,0.6324,0.3378,0.6971,0.3498,0.9362,0.0335,0.3473,0.9371,0.0344,-0.729,-0.2047,-0.6532,-0.7414,-0.2055,-0.6388,-0.4571,-0.8894,-0.0024,-0.3681,-0.9294,-0.025,0.6873,-0.234,0.6876,0.664,-0.2492,0.705,0.5359,0.8443,0.0071,0.5314,0.8471,-0.0036,-0.438,0.6022,-0.6675,-0.4455,0.603,-0.6617,0.408,0.9117,0.0489,0.4244,0.9041,-0.0498,0.7343,0.3441,0.5852,0.7231,0.3456,0.5981,0.3723,0.9279,-0.0199,0.3705,0.9287,-0.0183,-0.7988,-0.2054,-0.5655,-0.8067,-0.2055,-0.5541,-0.398,-0.9165,0.0409,-0.3655,-0.9303,0.03,0.7051,-0.2807,0.6511,0.6911,-0.2834,0.6649,0.4251,0.9036,-0.0526,0.4227,0.9042,-0.0609,-0.5019,0.5887,-0.6336,-0.5133,0.5883,-0.6248,0.3808,0.9242,-0.0303,0.3836,0.9212,-0.0654,0.7957,0.3422,0.4999,0.7883,0.3425,0.5111,0.391,0.9184,-0.0608,0.3899,0.919,-0.0589,-0.8353,-0.2052,-0.51,-0.8391,-0.2051,-0.5039,-0.3835,-0.9214,0.0622,-0.384,-0.9211,0.0635,0.74,-0.282,0.6107,0.7367,-0.2817,0.6147,0.378,0.9229,-0.0729,0.3767,0.9234,-0.0738,-0.5535,0.5827,-0.5951,-0.5558,0.5826,-0.5929,0.3816,0.9218,-0.0682,0.3809,0.9222,-0.0666,0.8275,0.3394,0.4473,0.8238,0.3394,0.454,0.4056,0.9107,-0.0777,0.4056,0.9108,-0.0768,-0.8455,-0.2045,-0.4933,-0.8445,-0.2042,-0.495,-0.3919,-0.9171,0.0739,-0.3995,-0.9134,0.0778,0.7414,-0.2832,0.6084,0.7429,-0.2837,0.6063,0.3849,0.9199,-0.0757,0.3851,0.9198,-0.0749,-0.5536,0.5876,-0.5901,-0.5513,0.588,-0.5918,0.393,0.9158,-0.0831,0.3926,0.9167,-0.0744,0.8341,0.337,0.4366,0.8347,0.3366,0.4358,0.4094,0.9095,-0.0718,0.4101,0.9092,-0.072,-0.8291,-0.2042,-0.5206,-0.8222,-0.204,-0.5314,-0.3965,-0.9155,0.0687,-0.4042,-0.9119,0.0717,0.7106,-0.2837,0.6439,0.7184,-0.2843,0.6348,0.3905,0.9181,-0.0685,0.3911,0.9178,-0.0685,-0.525,0.5898,-0.6136,-0.5183,0.5894,-0.6196,0.3974,0.9144,-0.0768,0.3971,0.9152,-0.0686,0.8152,0.3365,0.4714,0.821,0.3357,0.4619,0.4019,0.9142,-0.052,0.4031,0.9136,-0.053,-0.7781,-0.2048,-0.5938,-0.7621,-0.2048,-0.6143,-0.3918,-0.9187,0.0507,-0.3979,-0.916,0.052,0.6362,-0.2824,0.7179,0.6539,-0.2834,0.7015,0.3866,0.9209,-0.05,0.3877,0.9204,-0.0507,-0.4625,0.5862,-0.6652,-0.4491,0.5847,-0.6756,0.392,0.9182,-0.0573,0.3916,0.9187,-0.0512,0.7619,0.3385,0.5522,0.7757,0.3373,0.5334,0.3825,0.9236,-0.0256,0.3841,0.9229,-0.0267,-0.6728,-0.2066,-0.7104,-0.6416,-0.2068,-0.7386,-0.3755,-0.9265,0.0256,-0.3797,-0.9247,0.0255,0.4971,-0.2791,0.8216,0.5298,-0.2804,0.8004,0.3713,0.9282,-0.0246,0.3728,0.9276,-0.0255,-0.3501,0.5756,-0.739,-0.3262,0.5728,-0.752,0.3752,0.9264,-0.031,0.3746,0.9268,-0.0271,0.653,0.3438,0.6748,0.6801,0.342,0.6484,0.3558,0.9346,-0.0036,0.3569,0.9341,-0.004,-0.4886,-0.2097,-0.847,-0.4384,-0.2102,-0.8738,-0.3516,-0.9361,0.0041,-0.3542,-0.9352,0.0036,0.2782,-0.2739,0.9207,0.3282,-0.2755,0.9036,0.3491,0.9371,-0.0035,0.35,0.9367,-0.0037,-0.1736,0.5581,-0.8114,-0.137,0.5542,-0.821,0.3512,0.9363,-0.0089,0.3505,0.9365,-0.0068,0.4668,0.3526,0.811,0.5109,0.3502,0.7851,0.337,0.9415,0.0055,0.3371,0.9415,0.0055,-0.2316,-0.2136,-0.9491,-0.1723,-0.2145,-0.9614,-0.3351,-0.9422,-0.0051,-0.3361,-0.9418,-0.0054,0.007,-0.2677,0.9635,0.0647,-0.2693,0.9609,0.334,0.9426,0.0054,0.3341,0.9425,0.0054,0.0527,0.5367,-0.8422,0.0958,0.5326,-0.8409,0.335,0.9422,0.0005,0.3345,0.9424,0.0012,0.2207,0.3636,0.905,0.2731,0.3611,0.8917,0.3381,0.9411,0.0073,0.3382,0.941,0.0073,0.0348,-0.2175,-0.9754,0.0854,-0.2186,-0.9721,-0.3382,-0.9411,-0.0073,-0.3378,-0.9412,-0.0069,-0.2474,-0.2619,0.9328,-0.1982,-0.2632,0.9442,0.3374,0.9413,0.0072,0.3376,0.9412,0.0072,0.276,0.5161,-0.8108,0.3135,0.5127,-0.7993,0.338,0.9411,0.0028,0.3386,0.9409,0.0026,-0.02,0.3746,0.927,0.025,0.3724,0.9278,0.3527,0.9357,0.0111,0.3534,0.9354,0.0113,0.236,-0.2208,-0.9463,0.266,-0.2215,-0.9382,-0.354,-0.9352,-0.0117,-0.3528,-0.9357,-0.0105,-0.4219,-0.2578,0.8692,-0.3925,-0.2585,0.8827,0.3533,0.9354,0.0109,0.354,0.9352,0.0112,0.4399,0.5007,-0.7455,0.4626,0.4987,-0.7329,0.3539,0.9353,0.007,0.3553,0.9347,0.0069,-0.19,0.3829,0.904,-0.1637,0.3813,0.9098,0.3635,0.9315,0.0143,0.3636,0.9314,0.0143,0.3204,-0.2223,-0.9208,0.3198,-0.2222,-0.921,-0.3641,-0.9312,-0.0148,-0.3636,-0.9314,-0.0138,-0.4747,-0.2566,0.8419,-0.4745,-0.2566,0.842,0.3644,0.9311,0.0142,0.3645,0.9311,0.0142,0.5085,0.4946,-0.7049,0.5088,0.4946,-0.7046,0.3652,0.9309,0.0105,0.3659,0.9306,0.0101,-0.2415,0.3851,0.8907,-0.2422,0.3851,0.8905,0.3655,0.9307,0.0139,0.3655,0.9307,0.0138,0.3125,-0.2219,-0.9236,0.3089,-0.2219,-0.9249,-0.3656,-0.9307,-0.0141,-0.3654,-0.9307,-0.0137,-0.4664,-0.257,0.8464,-0.4695,-0.2569,0.8447,0.3659,0.9305,0.0139,0.3659,0.9305,0.0138,0.5048,0.4955,-0.7069,0.5026,0.4958,-0.7083,0.3671,0.9301,0.01,0.3674,0.93,0.0098,-0.231,0.3841,0.8939,-0.2343,0.3842,0.893,0.3644,0.9311,0.013,0.3644,0.9312,0.0129,0.2958,-0.2216,-0.9292,0.292,-0.2215,-0.9304,-0.3641,-0.9313,-0.0129,-0.3642,-0.9312,-0.0131,-0.4509,-0.2574,0.8546,-0.4545,-0.2573,0.8528,0.3643,0.9312,0.0129,0.3642,0.9312,0.0129,0.4924,0.4969,-0.7146,0.4897,0.4972,-0.7162,0.3659,0.9306,0.009,0.3657,0.9307,0.009,-0.215,0.383,0.8984,-0.2183,0.3832,0.8975,0.3604,0.9327,0.0119,0.3602,0.9328,0.0119,0.2778,-0.2213,-0.9348,0.2738,-0.2213,-0.936,-0.3596,-0.933,-0.0116,-0.36,-0.9329,-0.0124,-0.4328,-0.2578,0.8638,-0.4369,-0.2576,0.8618,0.3597,0.933,0.0119,0.3595,0.9331,0.0119,0.477,0.4981,-0.7241,0.4737,0.4984,-0.7261,0.3618,0.9322,0.0078,0.3611,0.9325,0.0081,-0.1982,0.3824,0.9025,-0.2016,0.3826,0.9017,0.3528,0.9356,0.0109,0.3525,0.9357,0.0108,0.2583,-0.2213,-0.9404,0.2539,-0.2212,-0.9416,-0.3517,-0.9361,-0.0102,-0.3523,-0.9358,-0.0116,-0.4115,-0.258,0.8741,-0.4162,-0.2578,0.872,0.3517,0.9361,0.0108,0.3514,0.9361,0.0108,0.4581,0.4989,-0.7357,0.4541,0.4993,-0.738,0.3541,0.9352,0.0065,0.353,0.9356,0.0071,-0.1803,0.3822,0.9063,-0.1838,0.3825,0.9055,0.3412,0.94,0.0097,0.3408,0.9401,0.0097,0.2368,-0.2214,-0.946,0.2321,-0.2214,-0.9472,-0.3398,-0.9404,-0.0088,-0.3407,-0.9401,-0.0107,-0.3862,-0.2581,0.8856,-0.3916,-0.2579,0.8832,0.3398,0.9405,0.0097,0.3395,0.9406,0.0097,0.4347,0.4993,-0.7495,0.4299,0.4996,-0.752,0.3424,0.9395,0.0051,0.341,0.9401,0.006,-0.1612,0.3827,0.9097,-0.1648,0.383,0.9089,0.3252,0.9456,0.0085,0.3248,0.9457,0.0085,0.2128,-0.2218,-0.9516,0.2077,-0.2219,-0.9527,-0.3238,-0.9461,-0.0074,-0.3249,-0.9457,-0.0097,-0.3562,-0.258,0.8981,-0.3624,-0.2578,0.8957,0.3237,0.9461,0.0085,0.3234,0.9462,0.0085,0.406,0.4991,-0.7655,0.4004,0.4994,-0.7683,0.3264,0.9452,0.0037,0.3247,0.9458,0.0049,-0.1402,0.3839,0.9127,-0.1439,0.3842,0.912,0.3047,0.9524,0.0073,0.3044,0.9525,0.0074,0.1854,-0.2225,-0.9571,0.1798,-0.2226,-0.9582,-0.3034,-0.9528,-0.0062,-0.3047,-0.9524,-0.0086,-0.3207,-0.2578,0.9114,-0.3276,-0.2575,0.9091,0.3034,0.9528,0.0073,0.3031,0.9529,0.0074,0.3711,0.4983,-0.7836,0.3647,0.4985,-0.7864,0.306,0.952,0.0024,0.3042,0.9526,0.0038,-0.1167,0.3857,0.9152,-0.1206,0.3862,0.9145,0.2798,0.96,0.0062,0.2795,0.9601,0.0063,0.1536,-0.2235,-0.9625,0.1476,-0.2236,-0.9634,-0.2788,-0.9603,-0.0051,-0.2801,-0.9599,-0.0075,-0.2786,-0.2573,0.9253,-0.2862,-0.2569,0.9231,0.279,0.9603,0.0063,0.2787,0.9604,0.0063,0.3289,0.4967,-0.8032,0.3218,0.4969,-0.806,0.2811,0.9597,0.0011,0.2794,0.9602,0.0026,-0.0898,0.3884,0.9171,-0.094,0.3889,0.9165,0.2506,0.9681,0.0053,0.2503,0.9681,0.0054,0.116,-0.2248,-0.9675,0.1096,-0.2249,-0.9682,-0.2503,-0.9682,-0.0042,-0.2515,-0.9678,-0.0063,-0.2285,-0.2565,0.9391,-0.2367,-0.2561,0.9372,0.2507,0.9681,0.0053,0.2505,0.9681,0.0054,0.278,0.4942,-0.8237,0.2703,0.4943,-0.8262,0.2521,0.9677,0.0001,0.2506,0.9681,0.0015,-0.0583,0.3919,0.9182,-0.0627,0.3925,0.9176,0.2174,0.9761,0.0044,0.2172,0.9761,0.0046,0.0711,-0.2264,-0.9715,0.0644,-0.2265,-0.9719,-0.1965,-0.9805,-0.0008,-0.2053,-0.9786,-0.0155,-0.1699,-0.2555,0.9518,-0.1774,-0.2553,0.9504,0.1971,0.9804,0.0016,0.1969,0.9804,0.0035,0.2122,0.4911,-0.8448,0.204,0.4915,-0.8467,0.2186,0.9758,-0.0009,0.2098,0.9777,0.0102,-0.0208,0.3963,0.9179,-0.0255,0.3968,0.9175,0.1565,0.9876,0.0121,0.1565,0.9876,0.0136,0.0298,-0.2272,-0.9734,0.0268,-0.2264,-0.9737,-0.1193,-0.9919,-0.0437,-0.1383,-0.9877,-0.0728,-0.1038,-0.2573,0.9607,-0.1085,-0.258,0.96,0.0988,0.9898,0.1022,0.098,0.9896,0.1051,0.1278,0.4995,-0.8568,0.1223,0.5002,-0.8573,0.1407,0.9892,0.0421,0.1225,0.9903,0.0656,0.0032,0.3984,0.9172,0.002,0.3979,0.9174,0.0818,0.9926,0.0895,0.0817,0.9925,0.0913,-0.0068,-0.2147,-0.9766,-0.0088,-0.2126,-0.9771,-0.0622,-0.9919,-0.1104,-0.0775,-0.9882,-0.1317,-0.0338,-0.2701,0.9622,-0.0347,-0.2722,0.9616,0.0434,0.9859,0.1616,0.0433,0.9857,0.1631,0.0438,0.5111,-0.8584,0.0433,0.5119,-0.858,0.0664,0.992,0.1076,0.0528,0.9906,0.1263,0.0221,0.3816,0.9241,0.0205,0.3804,0.9246,0.0579,0.9908,0.1226,0.0579,0.9907,0.1233,-0.0457,-0.1976,-0.9792,-0.0463,-0.1949,-0.9797,-0.0557,-0.9875,-0.1476,-0.0616,-0.986,-0.1547,0.0187,-0.2938,0.9557,0.0187,-0.2972,0.9546,0.0505,0.9812,0.1864,0.0507,0.9811,0.1869,-0.0058,0.5267,-0.8501,-0.0054,0.5277,-0.8494,0.0549,0.9881,0.1439,0.0504,0.9873,0.1507,0.0543,0.3685,0.9281,0.0542,0.3675,0.9284,0.0795,0.9884,0.1293,0.0799,0.9884,0.1293,-0.0898,-0.1748,-0.9805,-0.0896,-0.1715,-0.9811,-0.0874,-0.9838,-0.1565,-0.0869,-0.9838,-0.1568,0.0528,-0.3241,0.9446,0.0529,-0.3283,0.9431,0.0893,0.9781,0.1881,0.0898,0.978,0.188,-0.0294,0.5443,-0.8384,-0.0288,0.5455,-0.8376,0.0836,0.9848,0.1525,0.0839,0.9847,0.1527,0.1,0.355,0.9295,0.1009,0.354,0.9298,0.1278,0.9844,0.1213,0.1285,0.9843,0.1211,-0.1512,-0.1439,-0.978,-0.1506,-0.1397,-0.9787,-0.1373,-0.9792,-0.1497,-0.1349,-0.9797,-0.1483,0.09,-0.3587,0.9291,0.0898,-0.3635,0.9273,0.1433,0.9738,0.1768,0.1439,0.9737,0.1765,-0.0525,0.5636,-0.8244,-0.0517,0.5649,-0.8235,0.1346,0.9802,0.1453,0.1363,0.9802,0.1436,0.1679,0.3357,0.9269,0.1693,0.334,0.9272,0.198,0.9741,0.1092,0.1992,0.9739,0.1091,-0.2269,-0.1017,-0.9686,-0.2268,-0.0965,-0.9691,-0.2014,-0.97,-0.1364,-0.202,-0.9697,-0.1374,0.1313,-0.3963,0.9087,0.1298,-0.4012,0.9067,0.2073,0.965,0.1608,0.2081,0.9648,0.1606,-0.0763,0.5863,-0.8065,-0.0755,0.5881,-0.8052,0.2029,0.9704,0.1312,0.2032,0.9701,0.1323,0.2549,0.3012,0.9189,0.2554,0.2988,0.9195,0.2735,0.9567,0.0993,0.2746,0.9564,0.0995,-0.3113,-0.05,-0.949,-0.3128,-0.0437,-0.9488,-0.2698,-0.9548,-0.125,-0.2763,-0.9524,-0.1287,0.1789,-0.4368,0.8816,0.1758,-0.4413,0.88,0.2746,0.95,0.1489,0.2753,0.9497,0.1491,-0.1044,0.616,-0.7808,-0.1038,0.6182,-0.7791,0.2752,0.9541,0.1184,0.2729,0.9539,0.1245,0.3521,0.2519,0.9014,0.3504,0.2494,0.9028,0.3323,0.9382,0.0962,0.3331,0.9379,0.0969,-0.4005,0.0062,-0.9163,-0.4034,0.013,-0.9149,-0.3229,-0.9388,-0.1201,-0.3352,-0.9339,-0.1245,0.2403,-0.4791,0.8442,0.2357,-0.4828,0.8434,0.3277,0.934,0.1421,0.3282,0.9338,0.1427,-0.1478,0.6488,-0.7464,-0.1478,0.6511,-0.7444,0.3314,0.9369,0.1115,0.3274,0.9369,0.1224,0.4499,0.1966,0.8712,0.4463,0.1944,0.8735,0.3708,0.9229,0.1036,0.3714,0.9226,0.1046,-0.4952,0.0628,-0.8665,-0.499,0.0693,-0.8638,-0.3574,-0.9256,-0.1244,-0.374,-0.9186,-0.1276,0.3183,-0.5225,0.791,0.313,-0.5254,0.7912,0.3615,0.9213,0.1435,0.3619,0.921,0.1443,-0.2111,0.6851,-0.6972,-0.2118,0.6874,-0.6947,0.3669,0.9232,0.114,0.3625,0.923,0.1287,0.5466,0.1409,0.8255,0.5421,0.1391,0.8287,0.3901,0.9126,0.1225,0.3906,0.9122,0.1235,-0.5954,0.115,-0.7951,-0.5992,0.1203,-0.7915,-0.3763,-0.9162,-0.1382,-0.3929,-0.9091,-0.1387,0.4112,-0.5643,0.7159,0.4064,-0.5663,0.717,0.3789,0.9127,0.1528,0.3793,0.9124,0.1536,-0.2926,0.7224,-0.6265,-0.2934,0.7243,-0.6239,0.3835,0.9147,0.1277,0.3803,0.9138,0.1429,0.6419,0.0904,0.7614,0.6378,0.089,0.765,0.3912,0.9077,0.1519,0.3917,0.9074,0.1525,-0.6978,0.1566,-0.6989,-0.7002,0.1595,-0.6959,-0.3819,-0.9104,-0.1593,-0.3926,-0.906,-0.1581,0.5125,-0.5993,0.615,0.5096,-0.6005,0.6162,0.3828,0.9084,0.1685,0.3831,0.9081,0.1689,-0.3859,0.7551,-0.53,-0.3864,0.7562,-0.5281,0.3833,0.9109,0.1525,0.3823,0.9096,0.1628,0.7332,0.0514,0.678,0.7309,0.0505,0.6806,0.3741,0.908,0.1887,-0.7941,0.1803,-0.5804,-0.794,0.1802,-0.5806,-0.3746,-0.9086,-0.1847,-0.374,-0.9087,-0.1855,0.6115,-0.6207,0.4906,0.6116,-0.6207,0.4905,0.3746,0.9079,0.1881,-0.4806,0.7756,-0.4093,-0.4806,0.7755,-0.4094,0.3687,0.9107,0.1862,0.3682,0.9109,0.1862,0.8148,0.0304,0.5789,0.8149,0.0304,0.5789,0.3399,0.9131,0.225,0.339,0.9135,0.2249,-0.874,0.1803,-0.4513,-0.8717,0.1776,-0.4567,-0.3541,-0.9114,-0.2096,-0.3406,-0.915,-0.2164,0.6971,-0.6234,0.354,0.6999,-0.6216,0.3518,0.3556,0.9113,0.2076,0.3549,0.9116,0.2073,-0.5649,0.7774,-0.2766,-0.5647,0.7766,-0.2793,0.3429,0.9131,0.2207,0.3395,0.917,0.2093,0.8806,0.032,0.4727,0.8824,0.0336,0.4693,0.2935,0.9217,0.2537,0.2919,0.9223,0.2534,-0.9314,0.1566,-0.3286,-0.9286,0.1521,-0.3385,-0.3218,-0.9187,-0.229,-0.2989,-0.9229,-0.2427,0.7629,-0.6072,0.2221,0.7671,-0.6033,0.2182,0.3274,0.9182,0.2231,0.3262,0.9187,0.2226,-0.6314,0.7608,-0.15,-0.6318,0.7595,-0.155,0.309,0.9184,0.2471,0.2999,0.9262,0.2283,0.9272,0.0565,0.3702,0.9292,0.0599,0.3647,0.2404,0.9327,0.2688,0.2385,0.9334,0.2681,-0.9656,0.1139,-0.2339,-0.9636,0.1079,-0.2446,-0.2801,-0.9298,-0.2387,-0.2531,-0.9327,-0.2568,0.8084,-0.5767,0.1177,0.8129,-0.5711,0.1139,0.2919,0.9284,0.2299,0.2903,0.929,0.2294,-0.6794,0.7319,-0.053,-0.6808,0.7301,-0.0585,0.2685,0.9277,0.2594,0.2541,0.9375,0.2376,0.9526,0.1005,0.287,0.9535,0.1052,0.2824,0.189,0.9457,0.2645,0.187,0.9462,0.264,-0.9807,0.0614,-0.1854,-0.9795,0.054,-0.1939,-0.2347,-0.9437,-0.233,-0.2074,-0.9449,-0.2534,0.8397,-0.5393,0.064,0.844,-0.5327,0.0626,0.2519,0.9417,0.2229,0.2501,0.9423,0.2226,-0.7149,0.6992,-0.0081,-0.7172,0.6967,-0.0114,0.2247,0.9409,0.2533,0.2077,0.9504,0.2316,0.9585,0.1551,0.2393,0.9581,0.1603,0.2373,0.1455,0.9595,0.2413,0.1435,0.9598,0.2413,-0.9878,0.0063,-0.1556,-0.9863,-0.0017,-0.165,-0.1927,-0.9581,-0.2118,-0.168,-0.958,-0.2325,0.8647,-0.5006,0.0412,0.8691,-0.4931,0.0394,0.2144,0.9558,0.2014,0.2126,0.9562,0.2013,-0.745,0.667,0.0076,-0.7476,0.6641,0.0043,0.1841,0.9554,0.2308,0.1672,0.9633,0.2101,0.9552,0.2112,0.2073,0.9546,0.2167,0.2046,0.1102,0.9724,0.2057,0.1085,0.9725,0.2062,-0.9924,-0.0493,-0.1126,-0.9908,-0.0574,-0.1223,-0.1561,-0.9712,-0.1801,-0.1361,-0.9704,-0.1994,0.8877,-0.4602,0.0128,0.8918,-0.4522,0.0103,0.1817,0.9686,0.1697,0.18,0.9689,0.17,-0.7729,0.634,0.0265,-0.7755,0.6309,0.0232,0.149,0.9691,0.1963,0.1338,0.9748,0.1784,0.9505,0.2669,0.1594,0.9495,0.2723,0.156,0.0832,0.9832,0.1624,0.082,0.9832,0.1633,-0.9935,-0.1018,-0.0502,-0.9922,-0.1094,-0.0593,-0.1257,-0.9818,-0.142,-0.1117,-0.9811,-0.1582,0.9069,-0.4203,-0.029,0.9105,-0.4122,-0.0323,0.1545,0.9792,0.1316,0.1532,0.9793,0.1323,-0.7967,0.6017,0.0564,-0.7993,0.5986,0.0533,0.1202,0.9807,0.1542,0.1078,0.9842,0.1406,0.9437,0.3179,0.0909,0.9424,0.3228,0.0874,0.0637,0.9912,0.1159,0.0631,0.9912,0.1167,-0.9884,-0.1479,0.0344,-0.9876,-0.1546,0.027,-0.1016,-0.9897,-0.101,-0.0936,-0.9892,-0.1124,0.9196,-0.3826,-0.0897,0.9223,-0.375,-0.0932,0.1326,0.987,0.0905,0.1317,0.9871,0.0913,-0.8141,0.5716,0.1027,-0.8165,0.5685,0.1002,0.0972,0.9893,0.1085,0.0885,0.991,0.1,0.9324,0.3613,0.0003,0.9309,0.3652,-0.0025,0.0499,0.9963,0.0698,0.0498,0.9963,0.0703,-0.9724,-0.1853,0.1419,-0.9721,-0.1907,0.1369,-0.0829,-0.9948,-0.06,-0.0797,-0.9947,-0.0657,0.9212,-0.3486,-0.1729,0.9231,-0.342,-0.1759,0.115,0.9922,0.0487,0.1146,0.9922,0.0495,-0.8213,0.5448,0.1693,-0.8235,0.5419,0.1681,0.0789,0.9949,0.063,0.0744,0.9955,0.0592,0.9119,0.395,-0.1114,0.9105,0.3978,-0.1131,0.0396,0.9988,0.0283,0.0397,0.9988,0.0285,-0.9386,-0.213,0.2715,-0.9384,-0.2171,0.2689,-0.0679,-0.9975,-0.0211,-0.0672,-0.9975,-0.0226,0.9052,-0.3193,-0.2803,0.9067,-0.3138,-0.2818,0.1,0.995,0.0084,0.0997,0.995,0.009,-0.8129,0.522,0.2584,-0.8142,0.5196,0.2588,0.064,0.9977,0.0222,0.0625,0.9978,0.0212,0.8757,0.4182,-0.2415,0.8746,0.4201,-0.2418,0.0302,0.9995,-0.0023,0.0302,0.9995,-0.0024,-0.8796,-0.2323,0.4152,-0.8794,-0.2344,0.4143,-0.0532,-0.9985,0.0132,-0.0531,-0.9985,0.0108,0.8633,-0.2952,-0.4093,0.8651,-0.291,-0.4086,0.0799,0.9964,-0.0274,0.0795,0.9965,-0.0269,-0.7802,0.5056,0.3682,-0.7801,0.504,0.3707,0.0504,0.9987,-0.0097,0.0481,0.9988,-0.0108,0.8162,0.4337,-0.3819,0.8156,0.4344,-0.3821,0.0199,0.9996,-0.0196,0.0196,0.9996,-0.0195,-0.7905,-0.2387,0.564,-0.79,-0.2393,0.5645,-0.0351,-0.9986,0.0391,-0.0361,-0.9988,0.0316,0.7872,-0.2764,-0.5514,0.7901,-0.2736,-0.5486,0.0544,0.997,-0.0553,0.0537,0.9971,-0.0547,-0.7169,0.4943,0.4916,-0.7149,0.4933,0.4956,0.035,0.9989,-0.0313,0.0284,0.999,-0.0336,0.7325,0.4349,-0.5238,0.7328,0.4349,-0.5233,0.0085,0.9997,-0.0223,0.0079,0.9997,-0.0218,-0.6684,-0.2407,0.7038,-0.6676,-0.241,0.7045,-0.0135,-0.9985,0.0535,-0.0182,-0.9991,0.039,0.6732,-0.263,-0.6911,0.6777,-0.2613,-0.6873,0.0255,0.9971,-0.0716,0.0246,0.9972,-0.0708,-0.6189,0.4869,0.6164,-0.6152,0.486,0.6208,0.0193,0.999,-0.0403,0.0062,0.9991,-0.0424,0.6179,0.4352,-0.6548,0.6184,0.4355,-0.6541,-0.0005,1,-0.0085,-0.001,1,-0.0079,-0.519,-0.2417,0.8199,-0.5185,-0.2419,0.8201,0.0063,-0.9986,0.052,-0.0049,-0.9995,0.0307,0.5277,-0.2547,-0.8103,0.5329,-0.2537,-0.8072,-0.0012,0.9973,-0.0732,-0.0022,0.9974,-0.072,-0.4903,0.4797,0.7277,-0.4863,0.4783,0.7313,0.0083,0.9994,-0.0348,-0.0119,0.9994,-0.0338,0.4791,0.438,-0.7606,0.4794,0.4385,-0.7602,-0.0003,1,-0.0003,-0.0004,1,-0.0002,-0.3567,-0.2424,0.9022,-0.3566,-0.2425,0.9022,0.0146,-0.9994,0.0322,0.0008,-0.9999,0.0127,0.3652,-0.2501,-0.8967,0.3693,-0.2492,-0.8953,-0.0168,0.9982,-0.0578,-0.0178,0.9983,-0.0559,-0.342,0.4694,0.8141,-0.3394,0.4673,0.8164,-0.0002,0.9998,-0.0182,-0.02,0.9997,-0.0137,0.3293,0.4413,-0.8348,0.3294,0.4415,-0.8346,-0.2197,-0.2424,0.945,-0.2192,-0.2425,0.9451,0.0068,-0.9999,0.0089,0.0001,-1,0.0009,0.2238,-0.2459,-0.9431,0.2243,-0.2451,-0.9432,-0.0129,0.9996,-0.0246,-0.014,0.9996,-0.023,-0.2085,0.4546,0.8659,-0.209,0.4531,0.8666,-0.0037,1,-0.0011,-0.012,0.9999,0.0019,0.2026,0.4414,-0.8741,0.2033,0.4414,-0.874,-0.16,-0.2425,0.9569,0.0005,-1,0.0005,0.1601,-0.2429,-0.9568,0.16,-0.2425,-0.9569,-0.0025,1,-0.001,-0.0027,1,-0.0004,-0.148,0.4476,0.8819,-0.1481,0.4472,0.8821,-0.0009,1,0.0044,-0.0011,1,0.0046,0.1479,0.4415,-0.885,-0.1474,-0.2425,0.9589,0.1474,-0.2425,-0.9589,-0.1359,0.4472,0.884,-0.0007,1,0.0046,0.1363,0.4415,-0.8868,-0.1272,-0.2425,0.9618,0.1272,-0.2425,-0.9618,-0.1173,0.4472,0.8867,-0.0006,1,0.0046,0.1176,0.4415,-0.8895,-0.0969,-0.2425,0.9653,0.097,-0.2425,-0.9653,-0.0894,0.4472,0.8899,-0.0894,0.4472,0.89,-0.0005,1,0.0047,0.0896,0.4415,-0.8928,-0.0548,-0.2425,0.9686,0,-1,0,0,-1,-0,0.0549,-0.2425,-0.9686,-0,1,0,-0.0506,0.4472,0.893,-0.0003,1,0.0047,0.0507,0.4415,-0.8958,0.0025,-0.2425,0.9701,0.0065,-1,-0,0.0026,-1,-0.0029,-0.0005,-0.2425,-0.9701,-0.0003,-0.2424,-0.9702,-0.005,1,0,-0.0051,1,0.0007,-0.0002,0.4472,0.8944,-0,0.447,0.8945,0,1,0.0047,-0.0022,1,0.0069,-0.0023,0.4415,-0.8972,-0.0005,1,0,-0.0005,1,0.0002,0.0804,-0.2425,0.9668,0.0804,-0.2427,0.9668,0.0153,-0.9999,-0.0081,0.0043,-0.9999,-0.0149,-0.0751,-0.2412,-0.9676,-0.0743,-0.2405,-0.9678,-0.0154,0.9996,0.025,-0.0154,0.9995,0.0263,0.0657,0.4441,0.8936,0.0666,0.4435,0.8938,-0.0028,0.9999,0.0109,-0.0095,0.9998,0.0183,-0.0743,0.4415,-0.8942,-0.0744,0.4418,-0.8941,-0.0025,1,0.0068,-0.0024,1,0.0072,0.1867,-0.2443,0.9516,0.1866,-0.245,0.9514,0.0159,-0.9996,-0.0233,0.0023,-0.9996,-0.0296,-0.1805,-0.2362,-0.9548,-0.1788,-0.2345,-0.9555,-0.0157,0.9989,0.0442,-0.0156,0.9989,0.0454,0.1602,0.4399,0.8837,0.1623,0.4391,0.8836,-0.0046,0.9997,0.025,-0.0125,0.9993,0.0349,-0.1731,0.4452,-0.8785,-0.1731,0.4457,-0.8783,-0.0005,0.9999,0.016,-0.0004,0.9999,0.0165,0.3284,-0.249,0.9111,0.3284,-0.2503,0.9108,0.0081,-0.9993,-0.036,-0.0051,-0.9992,-0.0393,-0.3239,-0.2272,-0.9184,-0.3215,-0.2246,-0.9199,-0.0039,0.9983,0.0581,-0.0035,0.9982,0.0592,0.2922,0.4336,0.8524,0.2956,0.4324,0.8519,0.0029,0.9993,0.0364,-0.0031,0.9989,0.0461,-0.3038,0.45,-0.8398,-0.3036,0.4506,-0.8395,0.0091,0.9997,0.0222,0.0095,0.9997,0.0227,0.5063,-0.2568,0.8232,0.506,-0.2592,0.8227,-0.004,-0.999,-0.0446,-0.0191,-0.9988,-0.0444,-0.5046,-0.2148,-0.8362,-0.502,-0.2114,-0.8386,0.0127,0.9977,0.0662,0.0133,0.9977,0.0672,0.4601,0.4242,0.78,0.4644,0.4224,0.7784,0.0168,0.999,0.042,0.0123,0.9985,0.0534,-0.466,0.4554,-0.7586,-0.4654,0.4566,-0.7583,0.0228,0.9993,0.0283,0.0235,0.9993,0.029,0.698,-0.2716,0.6626,0.6971,-0.2754,0.662,-0.0168,-0.9984,-0.0531,-0.0356,-0.9982,-0.0474,-0.7029,-0.2013,-0.6822,-0.7006,-0.1973,-0.6857,0.0279,0.9971,0.0702,0.0287,0.9971,0.0711,0.6453,0.4129,0.6427,0.6496,0.4107,0.6398,0.0318,0.9985,0.0446,0.0298,0.9977,0.0603,-0.6406,0.4689,-0.6081,-0.6393,0.4708,-0.6079,0.0394,0.9984,0.0415,0.0404,0.9983,0.0421,0.8554,-0.29,0.4292,0.8546,-0.2946,0.4277,-0.0317,-0.9973,-0.0657,-0.0513,-0.9972,-0.0538,-0.8704,-0.19,-0.4542,-0.869,-0.1857,-0.4587,0.0409,0.9962,0.0773,0.042,0.9961,0.0781,0.8032,0.4036,0.4382,0.8064,0.4015,0.4342,0.0451,0.9976,0.0517,0.048,0.9964,0.0705,-0.7834,0.4856,-0.3879,-0.7813,0.4879,-0.3894,0.0596,0.9962,0.0636,0.0608,0.9961,0.0637,0.9364,-0.3077,0.1686,0.9355,-0.3123,0.1654,-0.0501,-0.9952,-0.0842,-0.0651,-0.9955,-0.0694,-0.9619,-0.1823,-0.2037,-0.9618,-0.1781,-0.2078,0.0542,0.9943,0.0918,0.0554,0.9942,0.092,0.8922,0.3984,0.2126,0.894,0.3966,0.2087,0.0585,0.9958,0.07,0.0664,0.994,0.0865,-0.8542,0.5008,-0.1397,-0.8522,0.5032,-0.1436,0.0807,0.9924,0.0934,0.0816,0.9923,0.0931,0.9438,-0.3178,-0.0908,0.942,-0.3216,-0.096,-0.07,-0.9917,-0.108,-0.0775,-0.9924,-0.0953,-0.9825,-0.1812,0.0436,-0.9835,-0.1772,0.0375,0.0679,0.9913,0.1131,0.0688,0.9912,0.1129,0.9165,0.4001,-0.0059,0.9169,0.3989,-0.0121,0.0746,0.9924,0.0982,0.0829,0.9906,0.1085,-0.8549,0.5073,0.1085,-0.8543,0.5095,0.1027,0.1008,0.9864,0.1298,0.1009,0.9865,0.1291,0.8848,-0.3124,-0.3458,0.8809,-0.3146,-0.3537,-0.0888,-0.9867,-0.136,-0.0906,-0.9871,-0.1321,-0.9378,-0.1918,0.2895,-0.9408,-0.1885,0.2817,0.0808,0.9868,0.1401,0.0809,0.9869,0.1396,0.8829,0.4132,-0.2229,0.8811,0.4131,-0.2303,0.093,0.9867,0.133,0.0962,0.986,0.1359,-0.7925,0.4968,0.3537,-0.7949,0.4989,0.3454,0.122,0.9777,0.1707,0.1214,0.9779,0.1702,0.7758,-0.2929,-0.5588,0.77,-0.2933,-0.5666,-0.1082,-0.9798,-0.1682,-0.1096,-0.9785,-0.1746,-0.8448,-0.2092,0.4924,-0.8497,-0.2067,0.485,0.097,0.9802,0.1724,0.0964,0.9803,0.1721,0.8065,0.4332,-0.4023,0.8027,0.4341,-0.409,0.1153,0.9784,0.1716,0.1105,0.9793,0.1693,-0.6841,0.4715,0.5566,-0.6892,0.4731,0.5488,0.145,0.9667,0.2107,0.1442,0.9669,0.2107,0.6623,-0.2689,-0.6994,0.6567,-0.2682,-0.7049,-0.1294,-0.9706,-0.2031,-0.1329,-0.9674,-0.2155,-0.7499,-0.226,0.6218,-0.7547,-0.2242,0.6166,0.117,0.9711,0.2079,0.116,0.9712,0.2081,0.7272,0.4527,-0.516,0.7234,0.4539,-0.5203,0.1395,0.9679,0.209,0.1287,0.9701,0.2057,-0.5741,0.4417,0.6894,-0.5796,0.4428,0.6841,0.1664,0.9557,0.2429,0.1657,0.9557,0.2431,0.5826,-0.2499,-0.7734,0.5793,-0.2491,-0.7762,-0.1505,-0.96,-0.2363,-0.1551,-0.956,-0.2488,-0.6885,-0.2368,0.6855,-0.6912,-0.2358,0.6831,0.1377,0.9603,0.2428,0.1367,0.9603,0.2432,0.6766,0.4662,-0.5699,0.6746,0.467,-0.5717,0.1608,0.9571,0.2411,0.149,0.9596,0.2388,-0.4985,0.4182,0.7593,-0.5021,0.4187,0.7567,0.1819,0.9475,0.2631,0.1814,0.9475,0.2633,0.5537,-0.2422,-0.7967,-0.1638,-0.9518,-0.2594,-0.1687,-0.9475,-0.2716,-0.6739,-0.2385,0.6993,-0.6731,-0.2383,0.7001,0.1508,0.9513,0.269,0.1499,0.9512,0.2696,0.6655,0.4704,-0.5795,0.6662,0.4704,-0.5787,0.1753,0.9483,0.2646,0.1635,0.9509,0.2628,-0.4724,0.4079,0.7813,-0.4728,0.4077,0.7812,0.1858,0.9439,0.2728,0.1853,0.9439,0.2732,0.5809,-0.2504,-0.7745,0.5847,-0.2518,-0.7712,-0.1616,-0.9495,-0.2691,-0.167,-0.9438,-0.2852,-0.7091,-0.2277,0.6674,-0.7045,-0.2283,0.672,0.1449,0.9482,0.2827,0.1439,0.9481,0.2836,0.6952,0.4633,-0.5496,0.6986,0.4624,-0.546,0.177,0.944,0.2783,0.1617,0.9478,0.275,-0.4999,0.4159,0.7596,-0.4963,0.4151,0.7625,0.1752,0.9458,0.2735,0.1743,0.9458,0.2741,0.6632,-0.2787,-0.6947,0.6703,-0.2819,-0.6865,-0.1432,-0.9533,-0.2659,-0.1479,-0.9458,-0.2891,-0.7935,-0.2,0.5748,-0.786,-0.2005,0.5848,0.1227,0.9498,0.2878,0.1214,0.9497,0.2888,0.7652,0.442,-0.4682,0.7712,0.4383,-0.4618,0.1625,0.9456,0.282,0.1422,0.9511,0.2742,-0.5789,0.4469,0.682,-0.5713,0.4454,0.6893,0.1544,0.9534,0.2592,0.1552,0.9532,0.2594,0.782,-0.3287,-0.5295,0.7894,-0.3338,-0.5152,-0.13,-0.9523,-0.276,-0.1334,-0.9503,-0.2813,-0.9077,-0.1465,0.3931,-0.8983,-0.1477,0.4138,0.0998,0.9491,0.2989,0.0995,0.9491,0.299,0.8707,0.3796,-0.3125,0.8788,0.3725,-0.2982,0.1335,0.9533,0.2708,0.1306,0.9533,0.2722,-0.6887,0.5012,0.5239,-0.6801,0.4993,0.5369,0.1599,0.9605,0.2279,0.1622,0.9601,0.228,0.8801,-0.3915,-0.2687,0.8825,-0.397,-0.2524,-0.1324,-0.9536,-0.2705,-0.1411,-0.9592,-0.245,-0.9882,-0.0821,0.1291,-0.9841,-0.0836,0.1567,0.1115,0.953,0.2816,0.1129,0.9528,0.2818,0.9492,0.305,-0.0775,0.9526,0.2986,-0.0576,0.1308,0.9604,0.2461,0.1457,0.9533,0.2645,-0.7751,0.5661,0.2806,-0.7704,0.5649,0.2955,0.1789,0.9626,0.2033,0.1807,0.9622,0.2036,0.8952,-0.4451,0.0245,0.8927,-0.4492,0.0353,-0.148,-0.9604,-0.236,-0.1652,-0.9634,-0.2111,-0.9892,-0.0302,-0.1432,-0.992,-0.0301,-0.1227,0.1369,0.9607,0.2415,0.1384,0.9605,0.2416,0.953,0.2496,0.1715,0.9511,0.246,0.1866,0.1531,0.9647,0.2144,0.1647,0.9578,0.2354,-0.7839,0.6207,0.013,-0.7833,0.6212,0.023,0.2047,0.9625,0.178,0.2068,0.9619,0.1789,0.8358,-0.4796,0.2672,0.8325,-0.4836,0.2703,-0.1792,-0.9642,-0.1953,-0.1958,-0.9634,-0.1829,-0.934,0.0011,-0.3573,-0.9373,0.002,-0.3486,0.1732,0.9644,0.1999,0.1741,0.9643,0.1998,0.904,0.2163,0.3689,0.9016,0.2151,0.3753,0.1868,0.9647,0.1856,0.1926,0.9607,0.2001,-0.7247,0.6564,-0.2097,-0.724,0.6584,-0.2059,0.2623,0.9493,0.1734,0.2634,0.9487,0.1748,0.7179,-0.5115,0.4721,0.7163,-0.5168,0.469,-0.2192,-0.9635,-0.1535,-0.2262,-0.9626,-0.1492,-0.8416,0.0138,-0.5399,-0.8415,0.0146,-0.54,0.2072,0.9669,0.1487,0.2062,0.967,0.1496,0.8208,0.2068,0.5325,0.8212,0.2068,0.5318,0.2224,0.9625,0.1557,0.2232,0.9613,0.1615,-0.6058,0.6901,-0.3959,-0.6027,0.6927,-0.396,0.2664,0.9471,0.1787,0.2669,0.947,0.1789,0.5134,-0.5389,0.6679,0.5181,-0.5462,0.6582,-0.2316,-0.9633,-0.1356,-0.2297,-0.9638,-0.1355,-0.6592,0.0121,-0.7519,-0.6534,0.016,-0.7569,0.205,0.9736,0.1008,0.2046,0.9737,0.1,0.6548,0.2165,0.7241,0.6592,0.2143,0.7208,0.2334,0.9622,0.1401,0.2335,0.9623,0.1393,-0.4174,0.7066,-0.5713,-0.4072,0.7091,-0.5757,0.2499,0.9476,0.1991,0.2504,0.9473,0.2,0.2773,-0.5617,0.7795,0.2791,-0.5705,0.7724,-0.2033,-0.968,-0.1474,-0.2133,-0.9649,-0.153,-0.4118,0.0418,-0.9103,-0.4056,0.051,-0.9126,0.1825,0.9792,0.0892,0.1824,0.9791,0.0899,0.4259,0.1926,0.884,0.431,0.1875,0.8827,0.2231,0.964,0.1446,0.2184,0.9633,0.1559,-0.2015,0.7159,-0.6685,-0.1931,0.7189,-0.6677,0.2431,0.9406,0.2371,0.2432,0.9401,0.2387,0.0872,-0.589,0.8034,0.089,-0.5962,0.7979,-0.1913,-0.9643,-0.1829,-0.2165,-0.9555,-0.2004,-0.2126,0.101,-0.9719,-0.2091,0.1094,-0.9718,0.1785,0.9739,0.1403,0.1788,0.9735,0.1424,0.2382,0.1363,0.9616,0.2402,0.1319,0.9617,0.2161,0.959,0.1834,0.2043,0.9567,0.2075,-0.0333,0.7325,-0.68,-0.0263,0.7347,-0.6778,0.2363,0.93,0.2814,0.2361,0.9297,0.2826,-0.0776,-0.5987,0.7972,-0.071,-0.601,0.7961,-0.2114,-0.9486,-0.2355,-0.2285,-0.9402,-0.2524,-0.0433,0.1314,-0.9904,-0.0375,0.1324,-0.9905,0.2018,0.9561,0.2124,0.2027,0.9556,0.214,0.0841,0.1192,0.9893,0.0877,0.1179,0.9891,0.2186,0.9458,0.2404,0.2085,0.9435,0.2575,0.1078,0.7375,-0.6666,0.1147,0.7368,-0.6663,0.203,0.933,0.2972,0.2026,0.9331,0.2972,-0.2306,-0.5556,0.7989,-0.2221,-0.5518,0.8038,-0.209,-0.9413,-0.2652,-0.2121,-0.9399,-0.2677,0.132,0.0847,-0.9876,0.1402,0.0777,-0.9871,0.2079,0.9476,0.2425,0.2076,0.9476,0.2428,-0.0773,0.1638,0.9835,-0.0699,0.1645,0.9839,0.2027,0.9415,0.2693,0.2014,0.9412,0.2711,0.2411,0.6982,-0.674,0.2464,0.6945,-0.676,0.1357,0.9548,0.2644,0.1363,0.9549,0.2638,-0.3643,-0.4684,0.8049,-0.3597,-0.461,0.8112,-0.1531,-0.9578,-0.2431,-0.1512,-0.9599,-0.2361,0.2966,-0.0123,-0.9549,0.3028,-0.0206,-0.9528,0.1624,0.9622,0.2185,0.1618,0.9624,0.2181,-0.2405,0.2424,0.9399,-0.2334,0.2438,0.9413,0.1475,0.9579,0.2463,0.1525,0.9582,0.242,0.3591,0.6245,-0.6935,0.3617,0.6202,-0.696,0.0651,0.9763,0.2062,0.0655,0.9764,0.2057,-0.4709,-0.3837,0.7944,-0.4693,-0.378,0.798,-0.0756,-0.9782,-0.1936,-0.075,-0.979,-0.1893,0.435,-0.0917,-0.8957,0.4374,-0.0969,-0.894,0.0819,0.9797,0.1827,0.0817,0.9798,0.1825,-0.3837,0.308,0.8706,-0.3809,0.3094,0.8713,0.0736,0.9775,0.1978,0.0766,0.9777,0.1956,0.4505,0.5578,-0.6971,0.452,0.5552,-0.6982,-0.0062,0.9884,0.1517,-0.0064,0.9885,0.1511,-0.5655,-0.3397,0.7515,-0.5665,-0.3362,0.7524,-0.0075,-0.9892,-0.1464,-0.0084,-0.99,-0.1408,0.5581,-0.1388,-0.8181,0.558,-0.1427,-0.8175,0.014,0.9904,0.1373,0.0141,0.9905,0.1367,-0.5123,0.346,0.786,-0.5122,0.3479,0.7852,-0.0017,0.9893,0.1458,0.0032,0.9896,0.1435,0.5237,0.5296,-0.6673,0.5243,0.5283,-0.6679,-0.0613,0.9943,0.0869,-0.061,0.9944,0.0859,-0.6645,-0.303,0.6831,-0.6674,-0.2995,0.6818,0.0367,-0.9957,-0.0846,0.0343,-0.9968,-0.0716,0.6746,-0.1885,-0.7137,0.6738,-0.1924,-0.7134,-0.0127,0.9976,0.0682,-0.0119,0.9976,0.0679,-0.6237,0.3947,0.6747,-0.6237,0.3967,0.6735,-0.0452,0.9956,0.0819,-0.0341,0.9963,0.079,0.6056,0.5045,-0.6155,0.6052,0.5028,-0.6171,-0.0644,0.9977,0.0186,-0.0636,0.9978,0.0181,-0.7676,-0.2718,0.5805,-0.7715,-0.2689,0.5765,0.0501,-0.9984,-0.0245,0.0464,-0.9988,-0.0125,0.7828,-0.2233,-0.5809,0.781,-0.2256,-0.5824,-0.0329,0.9993,0.0198,-0.0324,0.9993,0.0196,-0.7247,0.4267,0.5411,-0.7257,0.428,0.5388,-0.0557,0.9981,0.0244,-0.0455,0.9987,0.0234,0.703,0.4723,-0.5318,0.7009,0.4708,-0.5357,-0.0636,0.9979,-0.0096,-0.0626,0.998,-0.01,-0.866,-0.2523,0.4318,-0.8687,-0.2507,0.4272,0.042,-0.9991,-0.0012,0.0351,-0.9993,0.0104,0.8748,-0.2397,-0.4211,0.8739,-0.2406,-0.4224,-0.025,0.9997,-0.0031,-0.0245,0.9997,-0.0034,-0.8087,0.4421,0.3881,-0.8091,0.4426,0.3866,-0.0515,0.9986,-0.0068,-0.0393,0.9992,-0.0051,0.7953,0.4557,-0.3998,0.7938,0.4547,-0.4039,-0.0182,0.9997,-0.0141,-0.0173,0.9997,-0.0144,-0.9408,-0.2439,0.2352,-0.9416,-0.2434,0.2328,0.0102,-0.9999,0.0077,0.0045,-0.9999,0.0159,0.9424,-0.2424,-0.2303,0.9423,-0.2425,-0.2306,-0.0009,1,-0.0025,-0.0006,1,-0.0026,-0.869,0.4471,0.2119,-0.869,0.4472,0.2117,-0.0131,0.9999,-0.0038,-0.0056,1,-0.0023,0.8692,0.4437,-0.2181,0.869,0.4432,-0.2202,-0.0002,1,-0.0004,-0.9699,-0.2426,0.022,-0.9699,-0.2425,0.0223,0.0001,-1,0.0001,0,-1,0.0002,0.9699,-0.2425,-0.0218,0.9699,-0.2425,-0.0221,-0.8942,0.4472,0.0206,-0.8942,0.4472,0.02,-0.0047,1,0.0001,0.897,0.4416,-0.0207,0.897,0.4415,-0.0202,-0.9543,-0.2425,-0.1745,0.9543,-0.2425,0.1747,-0.8798,0.4472,-0.1611,-0.0046,1,-0.0008,0.8826,0.4415,0.1614,-0.9012,-0.2425,-0.3592,-0.9012,-0.2425,-0.3591,0.9012,-0.2425,0.3593,0.9012,-0.2425,0.3592,-0.8309,0.4472,-0.3312,-0.8308,0.4472,-0.3312,-0.0043,1,-0.0017,0.8335,0.4415,0.3321,0.8335,0.4415,0.3322,-0.8157,-0.2425,-0.5252,-0.8158,-0.2425,-0.5251,0.8158,-0.2425,0.5251,0.8158,-0.2425,0.525,-0.7522,0.4472,-0.484,-0.7521,0.4472,-0.4841,-0.0039,1,-0.0025,0.7545,0.4415,0.4856,0.7544,0.4415,0.4857,-0.7115,-0.2425,-0.6595,-0.7116,-0.2425,-0.6594,0.7117,-0.2425,0.6593,0.7117,-0.2425,0.6592,-0.6562,0.4472,-0.6078,-0.6561,0.4472,-0.6079,-0.0034,1,-0.0032,0.6581,0.4415,0.6098,0.658,0.4415,0.61,-0.6032,-0.2425,-0.7598,0.6034,-0.2425,0.7597,0.6034,-0.2425,0.7596,-0.5564,0.4472,-0.7003,-0.5562,0.4472,-0.7004,-0.0029,1,-0.0037,0.558,0.4415,0.7027,0.5578,0.4415,0.7028,-0.5004,-0.2425,-0.8311,-0.5005,-0.2425,-0.8311,0.5006,-0.2425,0.831,-0.4616,0.4472,-0.7661,-0.4615,0.4472,-0.7662,-0.0024,1,-0.004,0.4629,0.4415,0.7686,0.4628,0.4415,0.7687,-0.4073,-0.2425,-0.8805,-0.4074,-0.2425,-0.8805,0.4074,-0.2425,0.8804,0.4075,-0.2425,0.8804,-0.3757,0.4472,-0.8117,-0.3756,0.4472,-0.8117,-0.002,1,-0.0042,0.3768,0.4415,0.8143,0.3767,0.4415,0.8143,-0,1,-0,-0.3241,-0.2425,-0.9144,0.3241,-0.2425,0.9144,0.3242,-0.2425,0.9144,-0.2989,0.4472,-0.843,-0.2988,0.4472,-0.843,-0.0016,1,-0.0044,0.2998,0.4415,0.8457,0.2997,0.4415,0.8457,-0.2485,-0.2425,-0.9378,0.2485,-0.2425,0.9378,-0.2291,0.4472,-0.8646,-0.0012,1,-0.0045,0.2299,0.4415,0.8673,0.2298,0.4415,0.8673,-0.1765,-0.2425,-0.9539,-0.1766,-0.2425,-0.9539,0.1764,-0.2425,0.954,-0.1627,0.4472,-0.8795,-0.0009,1,-0.0046,0.1633,0.4415,0.8823,0.0001,1,-0,0.0001,1,0.0003,-0.0994,-0.2425,-0.965,-0.1,-0.2412,-0.9653,0.0004,-1,-0,0.0002,-1,-0.0001,0.1004,-0.2425,0.9649,0.1004,-0.2426,0.9649,-0.0003,1,0,-0.0003,1,-0.0001,-0.0927,0.4472,-0.8896,-0.0012,1,-0.0046,-0.0011,1,-0.0047,0.0936,0.4415,0.8923,0.0934,0.4409,0.8927,0.0013,1,0.0088,0.0007,0.9999,0.0113,0.0049,-0.2347,-0.9721,-0.0016,-0.2259,-0.9741,0.0363,-0.9993,-0.0006,0.0115,-0.9998,-0.0139,0.0077,-0.2428,0.97,0.0023,-0.2485,0.9686,-0.0384,0.9993,-0.0023,-0.038,0.9993,-0.0015,-0.0082,0.4472,-0.8944,-0.0119,0.4501,-0.8929,-0.0045,1,-0.0047,-0.0286,0.9996,0.005,0.0058,0.4346,0.9006,0.0033,0.4296,0.903,0.0034,0.9991,0.0419,0.0021,0.9989,0.0471,0.1265,-0.2077,-0.97,0.1105,-0.1901,-0.9755,0.0959,-0.9953,-0.013,0.0147,-0.9984,-0.055,-0.0987,-0.2725,0.9571,-0.1139,-0.2891,0.9505,-0.1083,0.994,0.0134,-0.1107,0.9937,0.017,0.0777,0.4762,-0.8759,0.0669,0.484,-0.8725,-0.0162,0.9997,0.0179,-0.0908,0.9952,0.0352,-0.1012,0.4067,0.908,-0.1088,0.3963,0.9116,0.0102,0.9965,0.0834,0.0075,0.9959,0.0896,0.2111,-0.1716,-0.9623,0.1899,-0.1503,-0.9702,0.1303,-0.9906,-0.041,0.0129,-0.9944,-0.1045,-0.1698,-0.3128,0.9345,-0.1871,-0.336,0.9231,-0.1545,0.9867,0.0503,-0.1571,0.986,0.0563,0.1323,0.5155,-0.8466,0.1172,0.5265,-0.842,-0.0148,0.9981,0.0597,-0.1296,0.9891,0.0699,-0.1748,0.3717,0.9117,-0.1846,0.3589,0.915,0.0206,0.992,0.1244,0.017,0.9913,0.1308,0.2624,-0.1358,-0.9553,0.2371,-0.1137,-0.9648,0.1373,-0.9873,-0.08,0.0069,-0.9882,-0.1533,-0.2115,-0.3575,0.9096,-0.2335,-0.3818,0.8943,-0.1639,0.9816,0.0979,-0.1671,0.9804,0.1044,0.1715,0.5569,-0.8127,0.1524,0.5687,-0.8083,-0.0084,0.994,0.1087,-0.1373,0.9847,0.1069,-0.2172,0.337,0.9161,-0.2297,0.3236,0.9179,0.0316,0.9866,0.1601,0.0272,0.9858,0.1659,0.3205,-0.1059,-0.9413,0.2929,-0.0848,-0.9524,0.1291,-0.9844,-0.1196,0.0006,-0.9805,-0.1966,-0.2647,-0.3985,0.8781,-0.2896,-0.4207,0.8597,-0.1564,0.9768,0.1462,-0.1596,0.9754,0.1522,0.2243,0.5938,-0.7727,0.2039,0.6054,-0.7694,-0.0004,0.9877,0.1563,-0.1287,0.9816,0.1414,-0.2667,0.3078,0.9133,-0.2811,0.2952,0.9132,0.0422,0.981,0.1896,0.0372,0.9802,0.1944,0.3825,-0.0834,-0.9202,0.3544,-0.0642,-0.9329,0.111,-0.9813,-0.157,-0.005,-0.9726,-0.2323,-0.3279,-0.4319,0.8402,-0.3533,-0.4501,0.8201,-0.139,0.9717,0.1908,-0.1421,0.9703,0.1958,0.2869,0.6227,-0.7279,0.2674,0.6335,-0.726,0.0069,0.9801,0.1984,-0.1098,0.9788,0.173,-0.3212,0.2855,0.9029,-0.3366,0.2747,0.9007,0.0522,0.9754,0.2141,0.047,0.9749,0.2178,0.4427,-0.0675,-0.8941,0.4155,-0.05,-0.9082,0.0879,-0.9776,-0.1911,-0.0102,-0.9654,-0.2607,-0.3942,-0.4558,0.798,-0.4177,-0.4694,0.7779,-0.1167,0.9663,0.2295,-0.1193,0.9651,0.2332,0.3518,0.6425,-0.6808,0.3351,0.652,-0.6802,0.0133,0.9723,0.2335,-0.0861,0.9755,0.2024,-0.3753,0.2696,0.8868,-0.3907,0.2605,0.8829,0.0615,0.9699,0.2355,0.0565,0.9695,0.2385,0.4921,-0.0556,-0.8688,0.4668,-0.039,-0.8835,0.0635,-0.973,-0.2221,-0.0162,-0.959,-0.2831,-0.4533,-0.4712,0.7567,-0.4731,-0.4802,0.7386,-0.0925,0.9607,0.2616,-0.0939,0.9601,0.2636,0.4086,0.654,-0.6366,0.3955,0.6618,-0.6368,0.0197,0.9649,0.2618,-0.0621,0.9712,0.2299,-0.4205,0.2572,0.87,-0.4353,0.2494,0.8651,0.07,0.9642,0.2558,0.0653,0.9638,0.2585,0.5212,-0.0436,-0.8523,0.498,-0.0269,-0.8668,0.0358,-0.9668,-0.2529,-0.0248,-0.9532,-0.3012,-0.4956,-0.4802,0.7237,-0.5101,-0.4852,0.7102,-0.0607,0.9559,0.2875,-0.06,0.9558,0.2878,0.4493,0.6599,-0.6022,0.4408,0.6652,-0.6027,0.0271,0.9582,0.2849,-0.0368,0.9657,0.257,-0.4473,0.2447,0.8603,-0.4614,0.2375,0.8548,0.0766,0.9581,0.276,0.0721,0.9576,0.2788,0.5226,-0.0271,-0.8522,0.5009,-0.01,-0.8654,0.009,-0.9597,-0.2808,-0.0356,-0.9482,-0.3157,-0.51,-0.4869,0.7091,-0.519,-0.489,0.7011,-0.0258,0.9517,0.3061,-0.0238,0.9519,0.3055,0.4661,0.6632,-0.5857,0.4618,0.666,-0.5859,0.0365,0.9521,0.3036,-0.0116,0.9592,0.2824,-0.4485,0.2281,0.8642,-0.4622,0.221,0.8588,0.0792,0.9519,0.296,0.0749,0.9513,0.2992,0.4934,-0.004,-0.8698,0.473,0.0132,-0.881,-0.0097,-0.9536,-0.3008,-0.0461,-0.9439,-0.327,-0.4896,-0.4953,0.7176,-0.4945,-0.496,0.7138,-0.0002,0.9485,0.3167,0.002,0.9488,0.316,0.4509,0.6688,-0.5911,0.4488,0.67,-0.5913,0.0457,0.9473,0.3171,0.007,0.9534,0.3018,-0.422,0.2054,0.883,-0.4354,0.1984,0.8781,0.0718,0.9468,0.3137,0.0679,0.946,0.3171,0.4353,0.025,-0.8999,0.418,0.0393,-0.9076,-0.0223,-0.9488,-0.3151,-0.05,-0.9418,-0.3326,-0.438,-0.5061,0.7429,-0.4392,-0.5061,0.7423,0.0178,0.9466,0.322,0.02,0.9468,0.3212,0.4059,0.6778,-0.6131,0.4054,0.6778,-0.6134,0.0483,0.9448,0.3241,0.0191,0.949,0.3147,-0.3738,0.1785,0.9102,-0.385,0.1724,0.9067,0.0474,0.9444,0.3252,0.0449,0.9437,0.3278,0.3564,0.0529,-0.9329,0.3466,0.0603,-0.9361,-0.0327,-0.945,-0.3253,-0.0396,-0.9433,-0.3296,-0.3665,-0.5167,0.7738,-0.3633,-0.5157,0.7759,0.0322,0.9455,0.3241,0.0344,0.9458,0.3228,0.3415,0.6873,-0.6411,0.3427,0.686,-0.6418,0.0375,0.9455,0.3236,0.0287,0.9467,0.321,-0.3138,0.1543,0.9369,-0.3199,0.151,0.9353,0.0071,0.946,0.3241,0.007,0.946,0.3242,0.2688,0.0703,-0.9606,0.2709,0.068,-0.9602,-0.0437,-0.943,-0.3299,-0.0123,-0.9483,-0.3172,-0.2903,-0.5235,0.8011,-0.281,-0.5205,0.8063,0.0461,0.9453,0.323,0.0485,0.9459,0.3209,0.2713,0.6938,-0.6671,0.2747,0.6906,-0.669,0.0106,0.9486,0.3163,0.0379,0.9474,0.3177,-0.2526,0.1409,0.9573,-0.252,0.1423,0.9572,-0.0461,0.9512,0.3052,-0.0445,0.9524,0.3017,0.1727,0.0703,-0.9825,0.1907,0.0573,-0.98,-0.0554,-0.9443,-0.3244,0.0315,-0.9546,-0.2962,-0.2086,-0.5243,0.8256,-0.1915,-0.5187,0.8332,0.0602,0.9466,0.3166,0.0632,0.9475,0.3134,0.1965,0.6951,-0.6915,0.2023,0.6896,-0.6953,-0.0293,0.9528,0.3023,0.0464,0.9526,0.3005,-0.1889,0.144,0.9714,-0.1816,0.1519,0.9716,-0.1007,0.959,0.265,-0.0975,0.9614,0.2575,0.0623,0.047,-0.997,0.0994,0.0255,-0.9947,-0.0648,-0.9505,-0.3039,0.0812,-0.9588,-0.2723,-0.1099,-0.5201,0.847,-0.0845,-0.5125,0.8545,0.0727,0.9489,0.307,0.0763,0.95,0.3027,0.1053,0.6923,-0.7139,0.1139,0.6852,-0.7194,-0.0723,0.9562,0.2835,0.0535,0.9614,0.2698,-0.1117,0.1681,0.9794,-0.0985,0.1832,0.9781,-0.1441,0.9664,0.2128,-0.1404,0.9692,0.2021,-0.0496,0.0043,-0.9988,0.0035,-0.0213,-0.9998,-0.0723,-0.9601,-0.2702,0.1183,-0.9609,-0.2505,-0.0034,-0.5109,0.8596,0.0293,-0.5012,0.8648,0.0846,0.9516,0.2954,0.0883,0.9529,0.2901,0.0066,0.6851,-0.7284,0.0176,0.6769,-0.7358,-0.1039,0.959,0.2638,0.0573,0.9713,0.2308,-0.027,0.209,0.9776,-0.0103,0.2297,0.9732,-0.1717,0.9726,0.1569,-0.1684,0.9751,0.1446,-0.1444,-0.0493,-0.9883,-0.0821,-0.0763,-0.9937,-0.0777,-0.9704,-0.2285,0.1353,-0.9641,-0.2284,0.0907,-0.4969,0.863,0.1293,-0.4845,0.8652,0.0983,0.9546,0.2812,0.1016,0.956,0.2752,-0.0799,0.6735,-0.7349,-0.0675,0.6642,-0.7445,-0.1178,0.9629,0.2427,0.0593,0.9803,0.1886,0.0507,0.2598,0.9643,0.0683,0.2837,0.9565,-0.1842,0.9775,0.1027,-0.1816,0.9792,0.0902,-0.2147,-0.1054,-0.971,-0.149,-0.1322,-0.98,-0.0833,-0.9795,-0.1835,0.1356,-0.97,-0.2016,0.1611,-0.4786,0.8631,0.2047,-0.4628,0.8625,0.1151,0.9579,0.2629,0.1175,0.9594,0.2563,-0.1437,0.6581,-0.7391,-0.1307,0.6472,-0.751,-0.1168,0.9691,0.2173,0.0628,0.9873,0.1461,0.1128,0.313,0.943,0.13,0.3379,0.9321,-0.184,0.9815,0.0526,-0.182,0.9825,0.0407,-0.2573,-0.1581,-0.9533,-0.1919,-0.1843,-0.964,-0.0926,-0.9861,-0.1376,0.1261,-0.9777,-0.1679,0.2017,-0.4558,0.8669,0.2505,-0.4365,0.8641,0.1347,0.9616,0.239,0.1363,0.9632,0.2317,-0.1792,0.6388,-0.7482,-0.1659,0.6259,-0.7621,-0.1066,0.9767,0.1861,0.0707,0.9921,0.1039,0.1534,0.3632,0.919,0.17,0.3874,0.9061,-0.1749,0.9846,0.0071,-0.173,0.9849,-0.0041,-0.2716,-0.2053,-0.9403,-0.2081,-0.2304,-0.9506,-0.1074,-0.99,-0.092,0.1133,-0.9854,-0.1273,0.2112,-0.4274,0.8791,0.2657,-0.4046,0.875,0.1557,0.9656,0.2083,0.1569,0.9671,0.2001,-0.1858,0.6146,-0.7666,-0.172,0.599,-0.782,-0.0932,0.9844,0.1494,0.0846,0.9945,0.0612,0.1699,0.4076,0.8972,0.1861,0.4304,0.8833,-0.1607,0.9864,-0.034,-0.1584,0.9864,-0.0448,-0.2584,-0.2468,-0.934,-0.1973,-0.2709,-0.9422,-0.1269,-0.9908,-0.0472,0.102,-0.9915,-0.0803,0.1917,-0.3913,0.9001,0.2524,-0.3654,0.896,0.1758,0.9696,0.1699,0.1769,0.9711,0.1604,-0.1659,0.5833,-0.7952,-0.1512,0.5646,-0.8114,-0.081,0.9908,0.1079,0.1031,0.9945,0.0177,0.1618,0.4462,0.8802,0.1779,0.4673,0.866,-0.1446,0.9869,-0.0713,-0.1416,0.9865,-0.0817,-0.2196,-0.2841,-0.9333,-0.1612,-0.307,-0.9379,-0.1472,-0.9891,-0.0043,0.0939,-0.9952,-0.0275,0.1481,-0.3455,0.9266,0.2143,-0.3171,0.9239,0.1911,0.9738,0.1232,0.1927,0.9748,0.1121,-0.1241,0.5424,-0.8309,-0.1085,0.5208,-0.8467,-0.0722,0.9955,0.0619,0.1227,0.9921,-0.0256,0.1302,0.4803,0.8674,0.1465,0.4998,0.8537,-0.1287,0.9861,-0.1056,-0.125,0.9854,-0.1156,-0.1584,-0.3184,-0.9346,-0.1035,-0.3402,-0.9346,-0.1619,-0.9862,0.0356,0.0887,-0.9956,0.0303,0.0874,-0.2894,0.9532,0.1564,-0.2591,0.9531,0.1975,0.978,0.0675,0.2001,0.9782,0.0552,-0.0667,0.4911,-0.8685,-0.0506,0.4673,-0.8827,-0.0668,0.9977,0.0108,0.1376,0.9882,-0.0676,0.0786,0.5111,0.8559,0.0947,0.5294,0.8431,-0.1139,0.9839,-0.1379,-0.1097,0.983,-0.1473,-0.0797,-0.3507,-0.9331,-0.0301,-0.3712,-0.9281,-0.1633,-0.9839,0.0731,0.0842,-0.9923,0.0911,0.0175,-0.2252,0.9742,0.0841,-0.194,0.9774,0.191,0.9816,0.0034,0.1948,0.9808,-0.0093,-0.0012,0.4311,-0.9023,0.0147,0.4066,-0.9135,-0.0635,0.997,-0.0453,0.1414,0.9841,-0.1078,0.0123,0.54,0.8416,0.0274,0.5569,0.8301,-0.1002,0.9805,-0.1691,-0.0959,0.9794,-0.1774,0.0096,-0.3814,-0.9244,0.0515,-0.4002,-0.915,-0.1451,-0.9832,0.1106,0.0784,-0.9855,0.1502,-0.0544,-0.1579,0.9859,0.003,-0.1275,0.9918,0.1684,0.9835,-0.0666,0.1728,0.9819,-0.0781,0.0656,0.367,-0.9279,0.08,0.3443,-0.9355,-0.0603,0.9927,-0.1041,0.1287,0.9808,-0.1469,-0.0616,0.5671,0.8213,-0.0487,0.5824,0.8114,-0.0857,0.9762,-0.1991,-0.082,0.9751,-0.2059,0.1003,-0.4097,-0.9067,0.1314,-0.4261,-0.8951,-0.105,-0.9829,0.151,0.0703,-0.9772,0.2003,-0.1208,-0.0951,0.9881,-0.0792,-0.0687,0.9945,0.1275,0.9824,-0.1366,0.1315,0.9806,-0.1454,0.1263,0.3064,-0.9435,0.1376,0.2883,-0.9476,-0.0547,0.9854,-0.161,0.0965,0.9779,-0.1856,-0.1338,0.5922,0.7946,-0.1242,0.605,0.7865,-0.0673,0.9715,-0.2273,-0.0647,0.9706,-0.2319,0.1842,-0.4354,-0.8812,0.2041,-0.4469,-0.871,-0.0449,-0.9799,0.1942,0.0589,-0.9706,0.2336,-0.1812,-0.0467,0.9823,-0.1598,-0.0292,0.9867,0.0652,0.9785,-0.1958,0.0688,0.9774,-0.2,0.1782,0.2596,-0.9491,0.1851,0.2488,-0.9507,-0.0459,0.977,-0.2084,0.0494,0.9747,-0.2179,-0.1969,0.6148,0.7637,-0.19,0.6236,0.7583,-0.0493,0.9691,-0.2416,-0.0475,0.9686,-0.2439,0.2822,-0.4473,-0.8487,0.29,-0.4524,-0.8433,0.0509,-0.9696,0.2393,0.058,-0.9694,0.2386,-0.2559,-0.0217,0.9665,-0.2589,-0.0225,0.9656,-0.0443,0.9699,-0.2396,-0.0451,0.9705,-0.237,0.2387,0.2363,-0.9419,0.2358,0.2367,-0.9425,-0.0377,0.9707,-0.2373,-0.0378,0.9697,-0.2415,-0.2742,0.6244,0.7314,-0.2721,0.6283,0.7288,-0.0361,0.9691,-0.2441,-0.036,0.969,-0.2444,0.3993,-0.4434,-0.8025,0.3954,-0.443,-0.8046,0.1476,-0.9519,0.2686,0.0662,-0.9752,0.2113,-0.351,-0.0414,0.9355,-0.3741,-0.0666,0.925,-0.1812,0.9555,-0.2329,-0.1873,0.9562,-0.225,0.3088,0.2606,-0.9147,0.2883,0.2705,-0.9185,-0.0469,0.9703,-0.2375,-0.139,0.9571,-0.2542,-0.3699,0.6198,0.6921,-0.3731,0.6187,0.6914,-0.0213,0.9719,-0.2346,-0.0222,0.972,-0.2339,0.502,-0.428,-0.7515,0.4886,-0.4234,-0.7629,0.1865,-0.9462,0.2644,0.0749,-0.9831,0.1668,-0.4415,-0.0985,0.8918,-0.4704,-0.1382,0.8716,-0.2637,0.9461,-0.1877,-0.2714,0.9457,-0.1792,0.3775,0.3216,-0.8684,0.343,0.3352,-0.8775,-0.0564,0.977,-0.2056,-0.1869,0.9515,-0.2442,-0.4534,0.6058,0.6538,-0.4612,0.6003,0.6534,0.0078,0.9775,-0.211,0.0061,0.9778,-0.2095,0.5772,-0.4067,-0.7081,0.5584,-0.3977,-0.728,0.1758,-0.958,0.2267,0.0732,-0.9907,0.1143,-0.5157,-0.1689,0.8399,-0.5434,-0.2115,0.8124,-0.2882,0.9495,-0.1238,-0.294,0.9488,-0.1159,0.4407,0.3919,-0.8076,0.4035,0.4068,-0.8195,-0.0567,0.9865,-0.1538,-0.1839,0.9608,-0.2073,-0.512,0.5879,0.6262,-0.5234,0.5787,0.6254,0.0408,0.984,-0.1732,0.0383,0.9845,-0.1709,0.6238,-0.3817,-0.6821,0.6029,-0.3677,-0.7081,0.1423,-0.976,0.1647,0.0616,-0.9963,0.0592,-0.5689,-0.2369,0.7876,-0.5945,-0.2768,0.7549,-0.2771,0.9595,-0.0507,-0.2806,0.9588,-0.0436,0.4902,0.4566,-0.7424,0.456,0.4726,-0.7541,-0.0486,0.9944,-0.094,-0.1545,0.9766,-0.1495,-0.5476,0.5662,0.6161,-0.5615,0.5543,0.6144,0.079,0.9894,-0.1216,0.077,0.9899,-0.1186,0.643,-0.3533,-0.6795,0.6217,-0.3335,-0.7088,0.0991,-0.9911,0.0893,0.0365,-0.9993,-0.0021,-0.5996,-0.297,0.7432,-0.6238,-0.3318,0.7076,-0.2424,0.9698,0.028,-0.2444,0.9691,0.0341,0.5235,0.5103,-0.6823,0.4942,0.527,-0.6914,-0.0244,0.9994,-0.026,-0.1115,0.9908,-0.0769,-0.5561,0.5417,0.6303,-0.5721,0.5282,0.6274,0.13,0.99,-0.054,0.1287,0.9904,-0.0498,0.6357,-0.3189,-0.703,0.6132,-0.2914,-0.7342,0.0538,-0.9985,0.0108,-0.0054,-0.997,-0.0777,-0.6074,-0.3495,0.7134,-0.6314,-0.3786,0.6767,-0.1948,0.9749,0.1075,-0.1966,0.974,0.1126,0.5384,0.5538,-0.6351,0.5136,0.5708,-0.6406,0.0184,0.9985,0.0523,-0.0653,0.9979,0.0032,-0.5354,0.511,0.6725,-0.5557,0.496,0.6673,0.1875,0.9819,0.0267,0.186,0.982,0.0328,0.6052,-0.2721,-0.7482,0.581,-0.2356,-0.7791,0.0135,-0.9978,-0.0645,-0.0581,-0.9846,-0.1647,-0.5924,-0.3976,0.7007,-0.6172,-0.4215,0.6644,-0.1441,0.9726,0.1823,-0.1466,0.9714,0.1868,0.5335,0.5914,-0.6047,0.5119,0.6081,-0.6067,0.0734,0.9878,0.1371,-0.0244,0.9961,0.0854,-0.4896,0.4664,0.7367,-0.5166,0.4501,0.7284,0.2394,0.964,0.1154,0.2369,0.9637,0.1234,0.5564,-0.2068,-0.8048,0.5309,-0.1618,-0.8319,-0.0165,-0.9906,-0.1357,-0.1126,-0.9608,-0.2534,-0.5558,-0.4442,0.7027,-0.5816,-0.4636,0.6685,-0.097,0.9637,0.2486,-0.1001,0.9624,0.2526,0.508,0.6273,-0.5903,0.4888,0.6433,-0.5892,0.1301,0.9668,0.2201,0.0052,0.986,0.1668,-0.4275,0.4015,0.81,-0.4618,0.3847,0.7993,0.2718,0.94,0.2061,0.2673,0.9393,0.2153,0.4955,-0.1217,-0.8601,0.4698,-0.0718,-0.8798,-0.0406,-0.9768,-0.2103,-0.1585,-0.9302,-0.331,-0.5036,-0.4896,0.7118,-0.5279,-0.5041,0.6835,-0.0473,0.9506,0.3068,-0.0494,0.9495,0.3099,0.4657,0.6632,-0.5858,0.4501,0.6767,-0.5826,0.1745,0.9403,0.2923,0.0269,0.9685,0.2477,-0.3607,0.3162,0.8774,-0.3999,0.2994,0.8663,0.2693,0.9176,0.2925,0.2626,0.9164,0.3021,0.4265,-0.0232,-0.9042,0.4018,0.024,-0.9154,-0.0594,-0.9566,-0.2854,-0.1799,-0.9051,-0.3853,-0.4387,-0.5303,0.7255,-0.4567,-0.5391,0.7077,0.0049,0.9366,0.3503,0.0034,0.9359,0.3522,0.4115,0.6956,-0.5889,0.4013,0.7046,-0.5853,0.1906,0.9185,0.3465,0.0453,0.9458,0.3217,-0.301,0.2194,0.928,-0.3382,0.2031,0.9189,0.1999,0.9099,0.3634,0.1944,0.9078,0.3717,0.3454,0.0729,-0.9356,0.3253,0.1032,-0.94,-0.0661,-0.9352,-0.3479,-0.1481,-0.9025,-0.4045,-0.3608,-0.5612,0.7449,-0.3675,-0.5632,0.7401,0.039,0.926,0.3756,0.0385,0.9258,0.3761,0.3406,0.7224,-0.6018,0.3361,0.7253,-0.6008,0.1494,0.9147,0.3755,0.0509,0.928,0.3691,-0.2602,0.1295,0.9568,-0.2826,0.1169,0.9521,0.0579,0.9182,0.3918,0.0571,0.917,0.3947,0.2448,0.1312,-0.9607,0.2416,0.1334,-0.9612,-0.0648,-0.9214,-0.3833,-0.0545,-0.9221,-0.383,-0.2731,-0.5743,0.7717,-0.2655,-0.5689,0.7783,0.0589,0.9236,0.3788,0.0604,0.9245,0.3764,0.2583,0.735,-0.6269,0.2594,0.7314,-0.6307,0.047,0.9252,0.3765,0.0463,0.9263,0.374,-0.222,0.0793,0.9718,-0.2261,0.0773,0.971,-0.0833,0.9307,0.3561,-0.0813,0.9327,0.3513,0.1293,0.1286,-0.9832,0.1561,0.1081,-0.9818,-0.0647,-0.9238,-0.3773,0.0591,-0.9402,-0.3354,-0.1768,-0.5694,0.8028,-0.154,-0.5576,0.8157,0.0741,0.9295,0.3613,0.0774,0.9314,0.3558,0.1671,0.732,-0.6605,0.173,0.723,-0.6689,-0.059,0.9339,0.3526,0.0473,0.9399,0.3382,-0.1667,0.0874,0.9821,-0.1586,0.0998,0.9823,-0.1821,0.9418,0.2826,-0.1784,0.9457,0.2717,0.0142,0.0773,-0.9969,0.0715,0.0452,-0.9964,-0.069,-0.9396,-0.3352,0.1485,-0.947,-0.2849,-0.0734,-0.5512,0.8312,-0.0356,-0.5338,0.8449,0.0859,0.9387,0.3339,0.0902,0.9411,0.3258,0.0688,0.7172,-0.6934,0.0791,0.7042,-0.7056,-0.1361,0.9393,0.3151,0.0468,0.9598,0.2768,-0.0995,0.1389,0.9853,-0.0858,0.1629,0.9829,-0.2441,0.9506,0.1918,-0.2399,0.9545,0.1773,-0.0834,-0.0039,-0.9965,-0.0053,-0.04,-0.9992,-0.0714,-0.9604,-0.2692,0.2041,-0.9502,-0.2356,0.0247,-0.5227,0.8522,0.0746,-0.5003,0.8626,0.0979,0.9488,0.3002,0.1021,0.9516,0.29,-0.0241,0.6931,-0.7205,-0.0106,0.6772,-0.7357,-0.1819,0.9452,0.271,0.0438,0.9783,0.2023,-0.0329,0.2169,0.9756,-0.0177,0.248,0.9686,-0.2724,0.957,0.1001,-0.2691,0.9594,0.0845,-0.1553,-0.0958,-0.9832,-0.0688,-0.1324,-0.9888,-0.0733,-0.9789,-0.1909,0.2233,-0.9572,-0.1841,0.1047,-0.4861,0.8676,0.1632,-0.459,0.8733,0.1132,0.9589,0.26,0.1167,0.9616,0.2484,-0.0982,0.6616,-0.7434,-0.0832,0.6431,-0.7613,-0.1962,0.9553,0.2211,0.0423,0.9912,0.1251,0.0251,0.3048,0.9521,0.0397,0.3384,0.9402,-0.2739,0.9616,0.0157,-0.2721,0.9623,0.0011,-0.2001,-0.1841,-0.9623,-0.1145,-0.2197,-0.9688,-0.0788,-0.9908,-0.1097,0.2173,-0.968,-0.1253,0.1564,-0.4419,0.8833,0.2213,-0.4106,0.8845,0.1322,0.9683,0.2118,0.1345,0.9707,0.1992,-0.1442,0.6233,-0.7686,-0.129,0.602,-0.788,-0.1884,0.9684,0.1636,0.0467,0.9976,0.0503,0.0685,0.3891,0.9186,0.082,0.4217,0.903,-0.2573,0.9646,-0.0582,-0.2564,0.964,-0.0712,-0.2166,-0.2613,-0.9406,-0.1371,-0.2948,-0.9457,-0.0911,-0.9954,-0.0313,0.1986,-0.9784,-0.0578,0.1751,-0.3889,0.9045,0.2454,-0.3541,0.9025,0.1527,0.9762,0.1541,0.1542,0.978,0.1406,-0.1586,0.5771,-0.8011,-0.1435,0.5526,-0.821,-0.1695,0.9805,0.0991,0.0595,0.998,-0.0205,0.0919,0.4617,0.8822,0.1046,0.4913,0.8647,-0.2307,0.9655,-0.1211,-0.2296,0.9642,-0.1327,-0.2031,-0.3256,-0.9234,-0.1317,-0.356,-0.9252,-0.1091,-0.9932,0.0408,0.1771,-0.9841,0.0162,0.1604,-0.3249,0.9321,0.2352,-0.2874,0.9285,0.1701,0.9816,0.0864,0.1716,0.9825,0.0719,-0.1423,0.5202,-0.8421,-0.127,0.4926,-0.861,-0.1484,0.9885,0.0298,0.079,0.9931,-0.0866,0.0901,0.5205,0.8491,0.1024,0.5464,0.8313,-0.2006,0.9642,-0.1734,-0.1988,0.9626,-0.1839,-0.158,-0.3782,-0.9121,-0.0953,-0.4047,-0.9095,-0.1259,-0.9866,0.1039,0.1576,-0.9831,0.0935,0.1162,-0.2487,0.9616,0.1926,-0.2099,0.9586,0.1779,0.984,0.0093,0.1804,0.9836,-0.006,-0.0992,0.4507,-0.8871,-0.0834,0.421,-0.9032,-0.1302,0.9906,-0.0422,0.0982,0.9844,-0.1458,0.0598,0.5669,0.8216,0.072,0.589,0.8049,-0.1714,0.9612,-0.216,-0.1684,0.9596,-0.2256,-0.0821,-0.421,-0.9033,-0.029,-0.4433,-0.8959,-0.1293,-0.9792,0.1565,0.1405,-0.9755,0.1695,0.0491,-0.1633,0.9854,0.1207,-0.1248,0.9848,0.1687,0.9828,-0.0753,0.1728,0.9808,-0.0902,-0.0355,0.3707,-0.9281,-0.0197,0.3413,-0.9397,-0.1156,0.9866,-0.1153,0.1063,0.9748,-0.1961,0.0018,0.6032,0.7976,0.0134,0.6219,0.7829,-0.1442,0.9572,-0.251,-0.1405,0.9555,-0.2592,0.0186,-0.4551,-0.8902,0.0605,-0.4731,-0.8789,-0.1069,-0.9737,0.2012,0.1233,-0.9636,0.2372,-0.0328,-0.0777,0.9964,0.0243,-0.0425,0.9988,0.1364,0.9773,-0.162,0.1414,0.9745,-0.1742,0.0411,0.2885,-0.9566,0.0555,0.2635,-0.9631,-0.1021,0.9771,-0.1865,0.0921,0.967,-0.2376,-0.0776,0.6313,0.7716,-0.0676,0.6468,0.7597,-0.1169,0.9529,-0.2799,-0.1135,0.9514,-0.2863,0.1321,-0.4806,-0.8669,0.1607,-0.4943,-0.8543,-0.0549,-0.9684,0.2431,0.1034,-0.9523,0.2871,-0.1215,-0.0058,0.9926,-0.088,0.0203,0.9959,0.0793,0.9678,-0.2389,0.0835,0.9657,-0.2461,0.1226,0.2188,-0.968,0.1327,0.2024,-0.9703,-0.0858,0.9648,-0.2488,0.052,0.9609,-0.2721,-0.1662,0.6521,0.7397,-0.1589,0.6639,0.7308,-0.0842,0.9498,-0.3014,-0.0818,0.9486,-0.3058,0.2422,-0.497,-0.8333,0.2567,-0.5057,-0.8236,0.0079,-0.9594,0.2819,0.0791,-0.9473,0.3104,-0.2101,0.037,0.977,-0.2012,0.0469,0.9784,0.0088,0.9576,-0.2881,0.0101,0.9571,-0.2895,0.2008,0.1783,-0.9633,0.2039,0.1728,-0.9636,-0.0636,0.9544,-0.2916,-0.0003,0.9547,-0.2977,-0.2489,0.6657,0.7035,-0.2449,0.673,0.698,-0.0325,0.9505,-0.3089,-0.0314,0.9499,-0.3109,0.3149,-0.5052,-0.8035,0.3178,-0.5066,-0.8015,0.0497,-0.9506,0.3066,0.0423,-0.9533,0.2991,-0.2773,0.0414,0.9599,-0.2848,0.0308,0.9581,-0.0528,0.9538,-0.2959,-0.0553,0.9548,-0.2921,0.2567,0.1769,-0.9502,0.2519,0.182,-0.9505,-0.0266,0.9526,-0.303,-0.0377,0.9522,-0.3032,-0.2934,0.674,0.678,-0.2922,0.6756,0.6769,0.0471,0.9561,-0.2891,0.0474,0.9567,-0.2873,0.3318,-0.5012,-0.7992,0.3239,-0.491,-0.8087,0.0607,-0.9514,0.3021,-0.0114,-0.9695,0.245,-0.3093,0.0046,0.951,-0.3221,-0.0211,0.9465,-0.0989,0.9626,-0.2522,-0.1037,0.9642,-0.244,0.2775,0.2159,-0.9362,0.2665,0.2294,-0.9361,0.0302,0.961,-0.2749,-0.0482,0.9607,-0.2733,-0.28,0.673,0.6846,-0.2858,0.6672,0.6879,0.1128,0.9663,-0.2314,0.1117,0.9676,-0.2263,0.3207,-0.468,-0.8235,0.3093,-0.4467,-0.8395,0.0565,-0.9646,0.2575,-0.0558,-0.9857,0.1589,-0.3131,-0.0588,0.9479,-0.3251,-0.0894,0.9415,-0.127,0.9785,-0.1625,-0.1312,0.9795,-0.1531,0.2715,0.2881,-0.9183,0.2583,0.3049,-0.9167,0.0749,0.9741,-0.2134,-0.052,0.9766,-0.2086,-0.2547,0.643,0.7223,-0.2663,0.6318,0.728,0.1463,0.9764,-0.1586,0.1443,0.9777,-0.1523,0.3091,-0.4105,-0.8579,0.2983,-0.3848,-0.8735,0.0444,-0.9831,0.1778,-0.0765,-0.9949,0.0665,-0.3031,-0.1311,0.9439,-0.3137,-0.1596,0.936,-0.1164,0.9906,-0.0718,-0.1186,0.9909,-0.0642,0.2592,0.3654,-0.894,0.2478,0.3804,-0.891,0.0923,0.987,-0.1317,-0.05,0.9913,-0.1216,-0.2378,0.5913,0.7706,-0.252,0.5782,0.776,0.1476,0.9854,-0.0845,0.1443,0.9865,-0.0776,0.2915,-0.3424,-0.8932,0.2815,-0.3177,-0.9054,0.022,-0.9964,0.0817,-0.0801,-0.9967,-0.0105,-0.2871,-0.198,0.9372,-0.2959,-0.2194,0.9297,-0.0783,0.9969,0.0059,-0.0793,0.9968,0.011,0.248,0.4298,-0.8682,0.2404,0.4408,-0.8648,0.0851,0.9952,-0.0481,-0.0343,0.9988,-0.0352,-0.2264,0.5277,0.8187,-0.2394,0.5148,0.8232,0.095,0.9954,-0.0114,0.0923,0.9957,-0.0056,0.2586,-0.2799,-0.9246,0.2499,-0.2633,-0.9318,0.0405,-0.9991,0.0132,-0.0469,-0.9972,-0.0578,-0.2583,-0.2462,0.9342,-0.262,-0.2581,0.9299,-0.0398,0.9977,0.0543,-0.0418,0.9974,0.0596,0.2287,0.4711,-0.8519,0.2253,0.4777,-0.8491,0.0537,0.9985,0.0114,-0.0151,0.9997,0.0217,-0.214,0.4685,0.8571,-0.222,0.4597,0.8599,0.034,0.9992,0.0227,0.0334,0.9991,0.0245,0.1999,-0.244,-0.949,0.1957,-0.2379,-0.9514,0.0528,-0.9976,-0.0439,-0.0133,-0.9958,-0.0908,-0.2045,-0.2693,0.9411,-0.2125,-0.2841,0.9349,-0.0523,0.9917,0.1172,-0.0552,0.9907,0.1243,0.1853,0.4961,-0.8483,0.1845,0.5027,-0.8446,0.0232,0.999,0.0394,-0.0135,0.9988,0.0477,-0.1761,0.4382,0.8815,-0.1788,0.4354,0.8823,0.0433,0.9989,0.0159,0.0432,0.999,0.0141,0.1249,-0.2338,-0.9642,0.1213,-0.2293,-0.9658,-0.0158,-0.9956,-0.0922,-0.0374,-0.9939,-0.1042,-0.152,-0.3136,0.9373,-0.1802,-0.3447,0.9212,-0.0204,0.9851,0.1708,-0.0313,0.984,0.1754,0.1502,0.5312,-0.8338,0.1406,0.5453,-0.8264,0.04,0.9974,0.0596,0.009,0.9977,0.0676,-0.098,0.4345,0.8953,-0.101,0.4325,0.896,0.1701,0.9853,-0.0131,0.1606,0.9869,-0.0135,0.0433,-0.2129,-0.9761,0.0303,-0.1924,-0.9808,-0.1293,-0.9862,-0.1038,-0.1569,-0.9819,-0.1065,-0.089,-0.4005,0.9119,-0.1354,-0.439,0.8882,0.0953,0.9786,0.1823,0.0833,0.979,0.1862,0.1191,0.5937,-0.7958,0.1088,0.6152,-0.7808,0.1631,0.9841,0.0707,0.1093,0.9899,0.0899,0.0255,0.4113,0.9112,0.0063,0.4015,0.9158,0.321,0.9469,-0.0192,0.3062,0.9519,-0.0112,-0.0191,-0.1348,-0.9907,-0.0291,-0.0941,-0.9951,-0.214,-0.971,-0.1061,-0.2946,-0.9482,-0.1185,0.0102,-0.5168,0.8561,-0.0363,-0.5476,0.836,0.1877,0.9642,0.1873,0.185,0.964,0.1913,0.0468,0.683,-0.7289,0.0425,0.7035,-0.7094,0.2973,0.9518,0.0751,0.2054,0.9704,0.1267,0.1236,0.324,0.938,0.0921,0.3083,0.9468,0.3283,0.9416,0.0748,0.3372,0.9382,0.0782,-0.1099,0.0005,-0.9939,-0.1324,0.0408,-0.9904,-0.241,-0.9597,-0.1444,-0.3143,-0.9369,-0.1534,0.139,-0.6208,0.7715,0.1111,-0.6389,0.7613,0.2275,0.9527,0.2015,0.2277,0.9521,0.2043,-0.0634,0.7688,-0.6364,-0.0634,0.7814,-0.6208,0.3029,0.945,0.1233,0.2355,0.9559,0.1754,0.2224,0.2041,0.9533,0.1881,0.1929,0.963,0.2656,0.9491,0.1694,0.2703,0.9477,0.1699,-0.3462,0.1416,-0.9274,-0.3556,0.1604,-0.9208,-0.234,-0.9532,-0.1913,-0.2635,-0.9456,-0.1909,0.2837,-0.6862,0.6698,0.2728,-0.694,0.6663,0.2341,0.9485,0.2132,0.2342,0.9482,0.2145,-0.1906,0.8238,-0.5338,-0.1894,0.8288,-0.5265,0.2543,0.9502,0.1798,0.2324,0.9512,0.2031,0.4118,0.1081,0.9048,0.3998,0.1028,0.9108,0.2426,0.9508,0.1928,0.2436,0.9503,0.1938,-0.6273,0.2135,-0.7489,-0.6313,0.2183,-0.7442,-0.2249,-0.9504,-0.2148,-0.2465,-0.9469,-0.2065,0.4237,-0.7152,0.5559,0.4225,-0.7164,0.5552,0.2281,0.9479,0.2225,0.2283,0.9476,0.2232,-0.317,0.8465,-0.4277,-0.3168,0.8471,-0.4267,0.24,0.9503,0.1986,0.2335,0.9482,0.2153,0.6559,0.0619,0.7523,0.6535,0.0591,0.7546,0.2464,0.9384,0.2423,0.2396,0.9378,0.2512,-0.8876,0.2025,-0.4138,-0.8883,0.1916,-0.4174,-0.2362,-0.945,-0.2263,-0.242,-0.9434,-0.2268,0.5956,-0.7098,0.376,0.6016,-0.7038,0.3779,0.225,0.9456,0.2348,0.2252,0.9455,0.2353,-0.4699,0.841,-0.2683,-0.477,0.8372,-0.2676,0.2296,0.9455,0.231,0.2231,0.9453,0.2382,0.8781,0.0457,0.4762,0.8817,0.049,0.4692,0.1618,0.9476,0.2756,0.1565,0.9476,0.2784,-0.9979,0.0543,-0.0363,-0.9967,0.0336,-0.0735,-0.2286,-0.9477,-0.2227,-0.203,-0.944,-0.2601,0.7692,-0.6342,0.0788,0.7802,-0.6194,0.0873,0.2267,0.9474,0.2261,0.2273,0.9475,0.2249,-0.6286,0.7775,-0.0191,-0.6474,0.7621,-0.0044,0.207,0.943,0.2606,0.2001,0.9526,0.229,0.9807,0.1399,0.1367,0.9809,0.1589,0.1125,0.0953,0.9697,0.2248,0.0918,0.9724,0.2147,-0.9816,-0.0982,0.1637,-0.9839,-0.1164,0.1355,-0.2025,-0.9665,-0.1576,-0.1884,-0.9607,-0.204,0.8464,-0.4781,-0.2345,0.8605,-0.4582,-0.2228,0.2401,0.9572,0.1617,0.2453,0.9593,0.1402,-0.7261,0.6473,0.2319,-0.7423,0.6152,0.2655,0.1941,0.9613,0.1953,0.1837,0.9712,0.1519,0.9502,0.2941,-0.1034,0.9435,0.311,-0.1143,0.0556,0.9899,0.1305,0.0547,0.9899,0.1307,-0.9477,-0.1693,0.2707,-0.949,-0.1778,0.2602,-0.1635,-0.9864,-0.0143,-0.158,-0.984,-0.0818,0.8431,-0.3177,-0.434,0.8507,-0.3063,-0.4271,0.2853,0.9584,-0.0074,0.2846,0.9565,-0.0646,-0.7715,0.5077,0.3834,-0.7744,0.4928,0.3968,0.1792,0.9799,0.0879,0.1379,0.9891,0.0518,0.899,0.3755,-0.2252,0.8955,0.3823,-0.2281,0.0379,0.9961,0.08,0.0387,0.996,0.0807,-0.9119,-0.2008,0.358,-0.9126,-0.2055,0.3534,-0.1026,-0.9946,0.0126,-0.0948,-0.9943,-0.0486,0.845,-0.2849,-0.4526,0.8421,-0.2827,-0.4593,0.2642,0.9548,-0.1362,0.2569,0.9577,-0.1299,-0.7633,0.4991,0.4103,-0.7644,0.5009,0.4058,0.1096,0.9935,0.0317,0.0641,0.9979,-0,0.8598,0.4046,-0.3116,0.8583,0.407,-0.3127,0.0256,0.9993,0.0272,0.0263,0.9993,0.0275,-0.8804,-0.2213,0.4193,-0.8805,-0.2249,0.4173,-0.0606,-0.9982,0.0018,-0.0588,-0.9982,-0.0131,0.854,-0.2913,-0.4311,0.8542,-0.2891,-0.4322,0.083,0.9958,-0.0388,0.0763,0.9964,-0.0361,-0.7748,0.4941,0.3945,-0.7759,0.4921,0.3948,0.0567,0.9984,0.007,0.0478,0.9989,0.0019,0.8234,0.4206,-0.3809,0.8227,0.422,-0.3809,0.014,0.9999,-0.0028,0.0137,0.9999,-0.0026,-0.87,-0.2345,0.4338,-0.8699,-0.2368,0.4326,-0.0384,-0.9988,0.0294,-0.0369,-0.9991,0.0211,0.86,-0.2735,-0.4307,0.86,-0.2687,-0.4338,0.0777,0.9958,-0.0487,0.0775,0.9958,-0.0485,-0.7862,0.4782,0.3914,-0.7878,0.476,0.391,0.0402,0.9991,-0.0162,0.033,0.9993,-0.0194,0.8082,0.4305,-0.4018,0.8075,0.4319,-0.4018,-0.0005,1,-0.0022,-0.0009,1,-0.002,-0.8798,-0.2417,0.4093,-0.8798,-0.2425,0.4088,-0.018,-0.999,0.0413,-0.0136,-0.9998,0.0173,0.8761,-0.2546,-0.4094,0.8756,-0.2512,-0.4125,0.0535,0.9964,-0.0659,0.0515,0.9965,-0.0652,-0.807,0.4616,0.3685,-0.8084,0.4596,0.3677,0.022,0.9996,-0.0201,0.0028,0.9996,-0.0294,0.8131,0.4408,-0.3801,0.8127,0.4415,-0.3802,-0.9014,-0.2425,0.3587,-0.9014,-0.2425,0.3586,-0.0032,-0.9999,0.0142,-0.0003,-1,0.0003,0.9006,-0.2437,-0.3598,0.9004,-0.2426,-0.3613,0.0075,0.9996,-0.0263,0.0055,0.9997,-0.0257,-0.8317,0.4486,0.3273,-0.8323,0.4478,0.3268,-0.0001,1,-0.0079,-0.0102,0.9999,-0.013,0.8337,0.4415,-0.3316,0.8337,0.4415,-0.3317,-0.9284,-0.2425,0.2816,-0.9284,-0.2425,0.2815,-0.0001,-1,0.0003,0.9285,-0.2425,-0.2812,0.0001,1,-0.0011,-0.0003,1,-0.001,-0.856,0.4472,0.2591,-0.856,0.4472,0.2593,-0.0045,1,0.0013,0.8587,0.4415,-0.2603,0.8586,0.4415,-0.2604,-0.9543,-0.2425,0.1747,0.9543,-0.2425,-0.1744,0.9544,-0.2425,-0.1743,-0.8799,0.4472,0.1607,-0.8799,0.4472,0.1608,-0.0046,1,0.0008,0.8826,0.4415,-0.1615,0.8826,0.4415,-0.1616,-0.9693,-0.2425,0.0394,-0.9693,-0.2425,0.0393,0.9694,-0.2425,-0.0391,0.9694,-0.2425,-0.039,-0.8937,0.4472,0.0359,-0.8937,0.4472,0.0361,-0.0047,1,0.0002,0.8965,0.4415,-0.0363,0.8965,0.4415,-0.0364,-0.9632,-0.2425,-0.1154,-0.9632,-0.2425,-0.1155,0.9633,-0.2425,0.1152,-0.8881,0.4472,-0.1063,-0.0046,1,-0.0006,0.8909,0.4415,0.1068,-0.9327,-0.2425,-0.2668,0.9327,-0.2425,0.2668,0.9328,-0.2425,0.2667,-0.86,0.4472,-0.2459,-0.86,0.4472,-0.246,-0.0045,1,-0.0013,0.8627,0.4415,0.2467,0.8627,0.4415,0.2468,-0.8807,-0.2425,-0.407,-0.8807,-0.2425,-0.4069,0.8805,-0.2425,0.4072,0.8806,-0.2425,0.4072,-0.8118,0.4472,-0.3754,-0.0042,1,-0.002,0.8145,0.4415,0.3764,-0.8089,-0.2425,-0.5356,0.809,-0.2425,0.5355,0.809,-0.2425,0.5354,-0.7459,0.4472,-0.4936,-0.7458,0.4472,-0.4938,-0.0039,1,-0.0026,0.7482,0.4415,0.4953,0.7481,0.4415,0.4954,-0.7298,-0.2425,-0.6392,-0.7299,-0.2425,-0.6391,0.7301,-0.2425,0.6389,0.7302,-0.2425,0.6388,-0.6732,0.4472,-0.5889,-0.6731,0.4472,-0.589,-0.0035,1,-0.0031,0.6751,0.4415,0.5911,0.6749,0.4415,0.5912,-0.661,-0.2425,-0.7101,-0.6611,-0.2425,-0.71,0.6614,-0.2425,0.7098,0.6614,-0.2425,0.7097,-0.6098,0.4472,-0.6543,-0.6097,0.4472,-0.6544,-0.0032,1,-0.0034,0.6115,0.4415,0.6566,0.6114,0.4415,0.6567,-0.6175,-0.2425,-0.7483,-0.6175,-0.2425,-0.7482,0.6177,-0.2425,0.7481,-0.5695,0.4472,-0.6897,-0.003,1,-0.0036,0.5711,0.4415,0.692,-0.608,-0.2425,-0.756,-0.6079,-0.2425,-0.756,0.6079,-0.2425,0.7561,-0.5604,0.4472,-0.6971,-0.5605,0.4472,-0.6971,-0.0029,1,-0.0036,0.5623,0.4415,0.6992,-0.6353,-0.2425,-0.7332,-0.6352,-0.2425,-0.7333,0.6352,-0.2425,0.7332,0.6351,-0.2428,0.7333,-0.0001,1,0.0001,0.0004,1,0.0009,-0.5853,0.4472,-0.6763,-0.5854,0.4472,-0.6762,-0.0031,1,-0.0035,0.5875,0.4415,0.6782,0.5876,0.4415,0.6781,-0.6959,-0.2425,-0.6759,-0.6958,-0.2425,-0.676,0.0209,-0.9996,-0.0212,-0.0016,-0.9999,-0.013,0.7022,-0.2439,0.6689,0.7024,-0.2469,0.6676,-0.0079,0.9992,0.0383,-0.0043,0.9991,0.0431,-0.6485,0.4477,-0.6157,-0.6471,0.4507,-0.6149,-0.0034,1,-0.0033,-0.0056,0.9999,0.0125,0.6435,0.4415,0.6253,0.6437,0.4415,0.6251,0.0001,1,0.0001,-0.7779,-0.2425,-0.5796,-0.7779,-0.2425,-0.5798,0.0242,-0.9979,-0.0606,-0.0286,-0.9989,-0.0368,0.7867,-0.259,0.5603,0.7885,-0.267,0.5541,0.0484,0.9887,0.142,0.0539,0.9876,0.1474,-0.7272,0.4776,-0.493,-0.7225,0.4835,-0.4941,0.0053,0.9999,0.0132,0.0038,0.9982,0.0604,0.7193,0.4415,0.5363,0.7195,0.4414,0.5361,0.0032,1,0.0011,0.0039,1,0.0015,-0.8617,-0.2424,-0.4459,-0.8627,-0.2396,-0.4453,-0.0277,-0.9974,-0.067,-0.0708,-0.9966,-0.0427,0.8589,-0.2923,0.4206,0.8581,-0.3059,0.4123,0.1167,0.9827,0.1437,0.1207,0.9822,0.1437,-0.7826,0.5099,-0.3571,-0.7773,0.5162,-0.3597,0.041,0.9984,0.0378,0.0455,0.9954,0.0841,0.7992,0.4403,0.4092,0.8,0.4388,0.4093,0.0415,0.9984,-0.0395,0.0432,0.9983,-0.0399,-0.9361,-0.2186,-0.2756,-0.94,-0.2073,-0.2709,-0.0908,-0.9958,-0.0123,-0.1187,-0.9929,0.0088,0.8948,-0.3517,0.2748,0.8883,-0.3699,0.2721,0.1801,0.9819,0.0581,0.1833,0.9815,0.0552,-0.7941,0.559,-0.2386,-0.7885,0.5671,-0.2382,0.0968,0.9952,-0.0137,0.1083,0.994,0.0141,0.8784,0.417,0.2336,0.88,0.4116,0.2369,0.0933,0.9826,-0.1606,0.0965,0.9818,-0.1638,-0.9864,-0.1328,-0.0973,-0.9901,-0.1106,-0.0868,-0.1545,-0.9839,0.0898,-0.1934,-0.9729,0.1271,0.8857,-0.4368,0.157,0.8756,-0.4549,0.1626,0.2451,0.9676,-0.0598,0.2486,0.9666,-0.0626,-0.764,0.626,-0.1565,-0.7572,0.6346,-0.1546,0.1586,0.9778,-0.1367,0.1857,0.9774,-0.1009,0.9416,0.335,0.0346,0.9443,0.3256,0.0474,0.1867,0.9464,-0.2637,0.1915,0.945,-0.2651,-0.9989,0.0104,0.0464,-0.9977,0.0355,0.0576,-0.2354,-0.9553,0.1787,-0.2774,-0.9308,0.2381,0.8457,-0.5306,0.0564,0.8366,-0.5438,0.0658,0.3132,0.9373,-0.1532,0.3166,0.9359,-0.1543,-0.709,0.7001,-0.0845,-0.7022,0.7072,-0.0828,0.2321,0.9444,-0.2329,0.2756,0.9432,-0.1854,0.9741,0.1929,-0.1182,0.9779,0.1828,-0.1012,0.2952,0.9172,-0.2677,0.2994,0.9158,-0.2677,-0.971,0.1312,0.2001,-0.9659,0.1473,0.2128,-0.3131,-0.9267,0.208,-0.3336,-0.9063,0.2595,0.7963,-0.597,-0.0975,0.7921,-0.6039,-0.0893,0.3585,0.9141,-0.1896,0.361,0.9131,-0.1896,-0.653,0.7558,0.0483,-0.6482,0.7598,0.0504,0.3056,0.9212,-0.241,0.3435,0.9169,-0.2031,0.9645,0.074,-0.2536,0.9684,0.0671,-0.2402,0.377,0.9074,-0.1857,0.3774,0.9073,-0.1853,-0.8917,0.185,0.413,-0.8919,0.1852,0.4125,-0.3641,-0.9113,0.1925,-0.3697,-0.9096,0.1896,0.7134,-0.6268,-0.3135,0.7131,-0.6271,-0.3135,0.378,0.9071,-0.185,0.3783,0.907,-0.1849,-0.571,0.7815,0.2513,-0.5708,0.7816,0.2514,0.3694,0.9122,-0.1772,0.3706,0.9127,-0.1722,0.9093,0.0249,-0.4154,0.9096,0.0244,-0.4147,0.3931,0.9162,-0.0784,0.39,0.9177,-0.0765,-0.7654,0.1527,0.6252,-0.7811,0.1426,0.6079,-0.3735,-0.9142,0.1572,-0.389,-0.9158,0.0997,0.5882,-0.6123,-0.5283,0.5878,-0.6056,-0.5364,0.3755,0.9112,-0.1694,0.3738,0.9121,-0.1684,-0.4547,0.7655,0.4552,-0.4603,0.7629,0.454,0.4009,0.9096,-0.109,0.3581,0.9252,-0.1261,0.812,0.0572,-0.5809,0.8056,0.0656,-0.5888,0.3563,0.9344,-0.0031,0.3531,0.9356,0.0003,-0.632,0.065,0.7723,-0.6564,0.0509,0.7527,-0.3431,-0.9314,0.1213,-0.372,-0.9266,0.0543,0.4577,-0.566,-0.6856,0.4564,-0.5538,-0.6964,0.3502,0.923,-0.1594,0.3484,0.924,-0.1574,-0.341,0.7223,0.6017,-0.3489,0.7179,0.6023,0.3812,0.9214,-0.0754,0.3215,0.9429,-0.087,0.691,0.1442,-0.7084,0.6819,0.1575,-0.7142,0.2846,0.9583,0.024,0.2837,0.9585,0.0287,-0.5167,-0.0349,0.8555,-0.5389,-0.0505,0.8408,-0.2791,-0.955,0.1002,-0.3085,-0.9498,0.0511,0.3661,-0.5089,-0.7791,0.3645,-0.4932,-0.7899,0.2947,0.9415,-0.1634,0.2942,0.9421,-0.1609,-0.2719,0.6742,0.6867,-0.2788,0.6681,0.6898,0.3116,0.9476,-0.0711,0.2625,0.9623,-0.0708,0.566,0.2449,-0.7872,0.5582,0.2577,-0.7887,0.2025,0.9775,0.0583,0.2001,0.9777,0.0641,-0.4117,-0.1215,0.9032,-0.432,-0.1393,0.891,-0.1849,-0.9778,0.0991,-0.2218,-0.9738,0.0504,0.329,-0.4503,-0.8301,0.3253,-0.4323,-0.841,0.2055,0.9616,-0.1821,0.2063,0.9619,-0.1797,-0.2597,0.629,0.7327,-0.2655,0.6215,0.7371,0.2313,0.9701,-0.0729,0.1795,0.9817,-0.0641,0.4526,0.3291,-0.8288,0.4458,0.3414,-0.8275,0.0988,0.9865,0.1303,0.0969,0.9858,0.1369,-0.3474,-0.2089,0.9142,-0.3648,-0.2322,0.9017,-0.0744,-0.9936,0.0854,-0.1242,-0.992,0.0226,0.3368,-0.3888,-0.8575,0.3281,-0.3684,-0.8698,0.0948,0.9746,-0.2027,0.0955,0.9752,-0.1999,-0.2898,0.5809,0.7606,-0.2961,0.5712,0.7655,0.1338,0.9893,-0.0586,0.0625,0.9972,-0.0413,0.3713,0.4127,-0.8317,0.3653,0.4265,-0.8274,-0.0235,0.9848,0.1721,-0.0253,0.9838,0.1777,-0.3491,-0.3062,0.8857,-0.3592,-0.3319,0.8722,0.0588,-0.9964,0.0603,0.0025,-0.9998,-0.0172,0.391,-0.3116,-0.866,0.3711,-0.2876,-0.8829,-0.0279,0.9784,-0.2047,-0.0278,0.9794,-0.2001,-0.3653,0.5094,0.7791,-0.3758,0.4966,0.7824,0.0154,0.9995,-0.027,-0.0712,0.9974,-0.0063,0.3376,0.5029,-0.7957,0.3326,0.5171,-0.7887,-0.147,0.9695,0.1962,-0.1495,0.9682,0.2005,-0.3933,-0.4004,0.8276,-0.3969,-0.4247,0.8137,0.1847,-0.9825,0.0239,0.1265,-0.9894,-0.071,0.489,-0.2007,-0.8489,0.4598,-0.1773,-0.8701,-0.1445,0.9763,-0.1608,-0.1481,0.9769,-0.1544,-0.4832,0.4071,0.7751,-0.4957,0.392,0.775,-0.1056,0.9942,0.0205,-0.2018,0.9789,0.0337,0.3454,0.5888,-0.7308,0.3401,0.6016,-0.7228,-0.249,0.9491,0.1931,-0.252,0.9476,0.1963,-0.4617,-0.4898,0.7395,-0.4603,-0.5124,0.7249,0.279,-0.9601,-0.0183,0.233,-0.9653,-0.1176,0.6097,-0.0805,-0.7886,0.5824,-0.0596,-0.8107,-0.2559,0.9646,-0.0639,-0.2606,0.9637,-0.0585,-0.6156,0.2914,0.7322,-0.6266,0.2758,0.7289,-0.2128,0.9747,0.0678,-0.3012,0.9513,0.0657,0.3831,0.6642,-0.6419,0.3761,0.6754,-0.6343,-0.3309,0.924,0.1915,-0.3339,0.9224,0.1941,-0.5484,-0.5792,0.6032,-0.5434,-0.5977,0.5895,0.3436,-0.9373,-0.0579,0.3187,-0.936,-0.1491,0.7228,0.0473,-0.6895,0.7009,0.0669,-0.7101,-0.3214,0.9469,-0.0011,-0.3256,0.9455,0.0024,-0.741,0.1697,0.6498,-0.749,0.1553,0.6441,-0.2958,0.949,0.1087,-0.3685,0.925,0.0927,0.4373,0.7384,-0.5133,0.4291,0.7472,-0.5075,-0.3804,0.9037,0.1967,-0.3819,0.9028,0.1977,-0.6372,-0.647,0.4188,-0.6326,-0.6563,0.4113,0.3656,-0.921,-0.1347,0.3584,-0.9151,-0.1849,0.8178,0.1597,-0.553,0.8085,0.1719,-0.5628,-0.3615,0.927,0.0997,-0.3635,0.926,0.1023,-0.8447,0.0632,0.5316,-0.8472,0.0561,0.5284,-0.3544,0.9226,0.1524,-0.3898,0.9103,0.1394,0.501,0.7935,-0.3454,0.4955,0.7979,-0.3434,-0.3898,0.901,0.1903,-0.3877,0.9018,0.1906,-0.7111,-0.6643,0.2303,-0.713,-0.6615,0.2324,0.3435,-0.9109,-0.2287,0.3354,-0.9204,-0.201,0.8995,0.1975,-0.3897,0.9045,0.1912,-0.3812,-0.3231,0.9208,0.2184,-0.3217,0.9217,0.2167,-0.9188,0.0355,0.3931,-0.9151,0.04,0.4012,-0.3663,0.9118,0.1856,-0.3421,0.9168,0.206,0.5652,0.8052,-0.1795,0.5666,0.8039,-0.1807,-0.3567,0.9222,0.1491,-0.3512,0.924,0.1513,-0.7733,-0.6266,0.0971,-0.7833,-0.6125,0.1065,0.2924,-0.9202,-0.2604,0.2639,-0.9495,-0.1696,0.9601,0.1271,-0.2491,0.9666,0.0996,-0.236,-0.2174,0.9377,0.2711,-0.2112,0.9393,0.2702,-0.9531,0.1176,0.279,-0.9457,0.131,0.2974,-0.3208,0.9309,0.1748,-0.2543,0.937,0.2395,0.6323,0.7716,-0.0699,0.6405,0.7647,-0.0707,-0.2982,0.9523,0.0649,-0.2915,0.9542,0.0675,-0.8306,-0.5556,0.0373,-0.8452,-0.5322,0.0493,0.225,-0.9534,-0.2007,0.1765,-0.9802,-0.09,0.9866,-0.0147,-0.1624,0.987,-0.0531,-0.1519,-0.1108,0.9684,0.2235,-0.1036,0.9694,0.2226,-0.9447,0.2633,0.1955,-0.9355,0.2812,0.2138,-0.2427,0.9646,0.103,-0.1703,0.9674,0.1876,0.6992,0.7139,-0.0374,0.7108,0.7026,-0.0341,-0.221,0.9741,-0.0486,-0.2143,0.9756,-0.0484,-0.8881,-0.4581,0.0363,-0.9027,-0.4277,0.0477,0.1442,-0.9859,-0.0844,0.088,-0.9959,0.021,0.9781,-0.1781,-0.1079,0.9716,-0.2164,-0.0959,-0.0212,0.9937,0.1104,-0.0149,0.9942,0.1068,-0.9006,0.4171,0.1222,-0.8904,0.4354,0.133,-0.1527,0.9882,-0.0084,-0.0886,0.9933,0.0737,0.7692,0.6356,-0.0659,0.7813,0.6216,-0.0563,-0.13,0.9792,-0.1558,-0.1232,0.9799,-0.1572,-0.9399,-0.3344,0.0689,-0.9503,-0.3012,0.0787,0.0577,-0.9978,0.0332,0.005,-0.9917,0.1286,0.944,-0.3214,-0.0744,0.9342,-0.3517,-0.0607,0.0514,0.9986,-0.0118,0.0566,0.9983,-0.0155,-0.8392,0.5401,0.0638,-0.829,0.5551,0.0678,-0.064,0.991,-0.1176,-0.0064,0.999,-0.0447,0.8378,0.5322,-0.1221,0.8485,0.518,-0.1081,-0.0314,0.9761,-0.2148,-0.025,0.9762,-0.2152,-0.9722,-0.1978,0.1251,-0.9764,-0.1686,0.1348,-0.0248,-0.9935,0.111,-0.0647,-0.9788,0.1945,0.9008,-0.4262,-0.0826,0.8923,-0.4459,-0.0704,0.1072,0.9896,-0.0962,0.1112,0.989,-0.0979,-0.7794,0.6244,0.0515,-0.7711,0.6345,0.0529,0.016,0.9833,-0.181,0.0683,0.9903,-0.1206,0.8914,0.4138,-0.185,0.8996,0.4017,-0.1715,0.0685,0.9778,-0.198,0.0728,0.9774,-0.1983,-0.9721,-0.0787,0.2211,-0.9714,-0.0613,0.2296,-0.0963,-0.9857,0.1384,-0.1155,-0.9746,0.1921,0.8552,-0.4943,-0.1558,0.8508,-0.504,-0.1488,0.1456,0.981,-0.1282,0.148,0.9806,-0.1284,-0.7259,0.6789,0.11,-0.721,0.6841,0.1105,0.0876,0.9808,-0.174,0.1243,0.9827,-0.1373,0.9145,0.31,-0.2602,0.9192,0.3024,-0.2522,0.1284,0.9795,-0.1551,0.1301,0.9792,-0.1558,-0.9274,-0.0163,0.3737,-0.9254,-0.0095,0.3788,-0.1412,-0.9811,0.1322,-0.1453,-0.977,0.1558,0.7935,-0.5303,-0.2986,0.7919,-0.534,-0.2963,0.1613,0.9783,-0.1301,0.1623,0.9781,-0.1303,-0.6658,0.7082,0.2348,-0.6639,0.7101,0.2344,0.1335,0.9803,-0.1455,0.1512,0.9796,-0.1325,0.8847,0.2587,-0.3877,0.8873,0.2558,-0.3839,0.1574,0.978,-0.1368,0.1579,0.9779,-0.1373,-0.8269,0.011,0.5622,-0.8247,0.0134,0.5654,-0.1636,-0.9782,0.1277,-0.1634,-0.9768,0.1381,0.693,-0.546,-0.4708,0.6931,-0.5472,-0.4693,0.1726,0.9766,-0.1283,0.1731,0.9765,-0.1285,-0.5736,0.7217,0.3874,-0.5727,0.7223,0.3877,0.1573,0.9787,-0.1316,0.166,0.9778,-0.1279,0.7975,0.2379,-0.5544,0.7997,0.2367,-0.5518,0.1771,0.976,-0.1264,0.1772,0.976,-0.1265,-0.6766,0.0118,0.7363,-0.6743,0.0115,0.7383,-0.1756,-0.9763,0.1264,-0.1759,-0.9762,0.1272,0.5584,-0.5419,-0.6282,0.5603,-0.5409,-0.6272,0.1798,0.9755,-0.1271,0.1798,0.9755,-0.127,-0.4529,0.7181,0.5284,-0.4521,0.7174,0.53,0.1751,0.9769,-0.1223,0.1766,0.9768,-0.1215,0.6648,0.2379,-0.7081,0.6668,0.2376,-0.7064,0.1846,0.9763,-0.1132,0.1845,0.9764,-0.1126,-0.4982,-0.0155,0.8669,-0.4975,-0.018,0.8673,-0.1737,-0.9769,0.1243,-0.1777,-0.9775,0.1137,0.4125,-0.5149,-0.7515,0.4168,-0.5116,-0.7514,0.1711,0.9776,-0.1226,0.1706,0.9778,-0.122,-0.3277,0.693,0.6421,-0.3258,0.6904,0.6459,0.182,0.9766,-0.1147,0.1743,0.9783,-0.112,0.5062,0.2584,-0.8228,0.5065,0.2591,-0.8224,0.1679,0.9807,-0.1006,0.1657,0.981,-0.1005,-0.3134,-0.0617,0.9476,-0.3144,-0.0655,0.947,-0.1465,-0.9824,0.1161,-0.1567,-0.9828,0.0976,0.2783,-0.4633,-0.8414,0.2848,-0.4577,-0.8422,0.1409,0.9834,-0.1144,0.1393,0.9837,-0.114,-0.2207,0.6434,0.7331,-0.2162,0.6384,0.7387,0.1603,0.9814,-0.1061,0.1462,0.9843,-0.0987,0.3356,0.2899,-0.8963,0.333,0.2914,-0.8968,0.1124,0.9904,-0.0803,0.1027,0.9913,-0.0824,-0.1506,-0.1145,0.9819,-0.1514,-0.1188,0.9813,-0.0827,-0.9911,0.1043,-0.102,-0.9914,0.0821,0.1722,-0.3886,-0.9052,0.1786,-0.3812,-0.9071,0.0809,0.9911,-0.1057,0.0746,0.9915,-0.1068,-0.1444,0.5687,0.8098,-0.1383,0.5619,0.8156,0.1016,0.9903,-0.0946,0.0834,0.9929,-0.0846,0.1715,0.3223,-0.931,0.1679,0.3238,-0.9311,0.0216,0.9978,-0.062,0.0023,0.9977,-0.0671,-0.0417,-0.1585,0.9865,-0.0408,-0.1623,0.9859,0.0206,-0.9953,0.0943,-0.0111,-0.9977,0.0675,0.1078,-0.302,-0.9472,0.1097,-0.2937,-0.9496,-0.0138,0.9949,-0.0995,-0.0293,0.9942,-0.1034,-0.1062,0.4763,0.8728,-0.103,0.4698,0.8767,0.0083,0.9966,-0.0821,-0.0163,0.9973,-0.0717,0.0465,0.343,-0.9382,0.045,0.3441,-0.9379,-0.0704,0.997,-0.0322,-0.0809,0.9962,-0.0336,-0.0165,-0.1877,0.9821,-0.018,-0.1903,0.9816,0.1159,-0.9909,0.0688,0.0862,-0.9956,0.037,0.0942,-0.2319,-0.9682,0.0877,-0.2252,-0.9704,-0.1152,0.99,-0.0809,-0.1272,0.9884,-0.0829,-0.1065,0.3952,0.9124,-0.1111,0.3913,0.9135,-0.0866,0.9946,-0.0568,-0.1055,0.9937,-0.0374,0.0041,0.3584,-0.9335,0.0036,0.3597,-0.9331,-0.1008,0.9937,0.0492,-0.0985,0.9938,0.0512,-0.0367,-0.2062,0.9778,-0.0374,-0.2079,0.9774,0.1264,-0.9918,-0.0167,0.1138,-0.9925,-0.0438,0.0698,-0.1935,-0.9786,0.0747,-0.1921,-0.9785,-0.1496,0.9888,0.0007,-0.1444,0.9895,0.0043,-0.0993,0.3473,0.9325,-0.0921,0.3453,0.934,-0.1212,0.9924,0.0218,-0.1262,0.991,0.0456,0.0152,0.3835,-0.9234,0.0142,0.3848,-0.9229,-0.0931,0.9908,0.0983,-0.0933,0.9907,0.099,-0.0445,-0.2184,0.9749,-0.0447,-0.2197,0.9745,0.1046,-0.9899,-0.0956,0.0984,-0.9892,-0.1085,0.0539,-0.1968,-0.979,0.0541,-0.1977,-0.9788,-0.1192,0.9869,0.1087,-0.1184,0.9869,0.1101,-0.0713,0.3463,0.9354,-0.0714,0.3468,0.9352,-0.1067,0.9892,0.1009,-0.1115,0.9875,0.1116,0.022,0.4087,-0.9124,0.0215,0.4101,-0.9118,-0.101,0.9884,0.1131,-0.1009,0.9884,0.1134,-0.0235,-0.2345,0.9718,-0.0204,-0.2362,0.9715,0.1076,-0.9872,-0.1177,0.1054,-0.9869,-0.1219,0.0309,-0.2071,-0.9778,0.0348,-0.2083,-0.9774,-0.11,0.9861,0.1245,-0.1101,0.9861,0.1248,-0.0523,0.3589,0.9319,-0.0496,0.3599,0.9317,-0.1049,0.9869,0.1224,-0.1067,0.9863,0.1259,-0.0043,0.4357,-0.9001,-0.0019,0.4372,-0.8994,-0.1024,0.9869,0.1247,-0.1025,0.9868,0.125,0.0402,-0.2527,0.9667,0.0461,-0.2544,0.966,0.1077,-0.9858,-0.129,0.1055,-0.9856,-0.1323,-0.0284,-0.2194,-0.9752,-0.0226,-0.2207,-0.9751,-0.1093,0.9848,0.1352,0.0006,0.3751,0.927,0.005,0.3763,0.9265,-0.1053,0.9855,0.1334,-0.1069,0.9849,0.1365,-0.0691,0.4641,-0.8831,-0.0642,0.4656,-0.8827,-0.0953,0.9861,0.1363,-0.0953,0.986,0.1368,0.1387,-0.2676,0.9535,0.1472,-0.2685,0.952,0.1055,-0.9849,-0.1371,0.1003,-0.9847,-0.1422,-0.1118,-0.2307,-0.9666,-0.1037,-0.2319,-0.9672,-0.1086,0.9859,0.1277,-0.1085,0.9858,0.128,0.0758,0.3915,0.917,0.0824,0.3925,0.916,-0.0981,0.9851,0.1415,-0.1004,0.984,0.1471,-0.1625,0.486,-0.8587,-0.1553,0.4872,-0.8594,-0.1002,0.9821,0.1593,-0.1002,0.9819,0.1609,0.2721,-0.2707,0.9234,0.2838,-0.2702,0.92,0.1358,-0.9772,-0.1631,0.1114,-0.9778,-0.1774,-0.2142,-0.2427,-0.9462,-0.203,-0.2439,-0.9483,-0.1389,0.9767,0.1635,-0.1405,0.9761,0.1656,0.1621,0.4018,0.9013,0.17,0.403,0.8993,-0.1082,0.9808,0.1625,-0.115,0.9764,0.1827,-0.2916,0.4936,-0.8194,-0.2819,0.4946,-0.8221,-0.1189,0.9618,0.2466,-0.1203,0.9609,0.2494,0.4438,-0.2557,0.8589,0.4638,-0.2522,0.8493,0.1592,-0.9589,-0.235,0.1265,-0.9606,-0.2473,-0.3505,-0.2681,-0.8973,-0.3296,-0.2688,-0.905,-0.1749,0.9552,0.2387,-0.1757,0.9545,0.2411,0.2684,0.4226,0.8657,0.2833,0.4259,0.8593,-0.1449,0.961,0.2356,-0.1515,0.953,0.2625,-0.4713,0.4847,-0.7369,-0.4539,0.4866,-0.7465,-0.1226,0.9467,0.2978,-0.122,0.9466,0.2983,0.6519,-0.2103,0.7286,0.679,-0.2025,0.7056,0.1502,-0.9493,-0.2761,0.1375,-0.9503,-0.2792,-0.5436,-0.3136,-0.7785,-0.5121,-0.3124,-0.8001,-0.1704,0.9482,0.2679,-0.169,0.9484,0.2684,0.4295,0.4678,0.7725,0.4532,0.4747,0.7545,-0.1484,0.9481,0.2811,-0.1483,0.9446,0.2928,-0.6761,0.4438,-0.5882,-0.6545,0.4468,-0.6099,-0.1015,0.9608,0.2579,-0.1006,0.9614,0.2563,0.8594,-0.1434,0.4908,0.8802,-0.1341,0.4553,0.1129,-0.9631,-0.2445,0.1077,-0.9639,-0.2436,-0.7589,-0.3708,-0.5352,-0.7319,-0.3688,-0.5729,-0.1249,0.9633,0.2377,-0.1229,0.9637,0.2369,0.6295,0.5368,0.5617,0.6501,0.5446,0.53,-0.1081,0.9635,0.2451,-0.105,0.963,0.2484,-0.852,0.3809,-0.3592,-0.8376,0.3811,-0.3914,-0.0705,0.9814,0.1786,-0.0704,0.9815,0.178,0.9851,-0.0793,0.1526,0.9902,-0.0755,0.1174,0.0719,-0.9829,-0.1697,0.0685,-0.9833,-0.1685,-0.893,-0.4087,-0.1887,-0.8849,-0.408,-0.2246,-0.07,0.9823,0.1735,-0.069,0.9825,0.1732,0.769,0.5935,0.2375,0.7749,0.5971,0.2076,-0.0673,0.9828,0.1722,-0.0651,0.9823,0.1756,-0.956,0.2824,-0.079,-0.9532,0.281,-0.1115,-0.0654,0.9903,0.1226,0.9822,-0.0743,-0.1727,0.9776,-0.0751,-0.1967,0.0654,-0.9903,-0.1224,0.0655,-0.9903,-0.1225,-0.901,-0.4139,0.1302,-0.9038,-0.4142,0.1077,-0.0655,0.9903,0.1224,0.7912,0.6078,-0.0678,0.7891,0.6082,-0.0861,-0.0609,0.9907,0.1218,-0.061,0.9907,0.1217,-0.9381,0.2749,0.2105,-0.9427,0.2746,0.1893,-0.0819,0.9934,0.0804,-0.0818,0.9935,0.0795,0.8978,-0.0871,-0.4317,0.89,-0.0897,-0.4471,0.0769,-0.9929,-0.0912,0.0753,-0.9937,-0.0829,-0.8277,-0.4034,0.3902,-0.8361,-0.4036,0.3714,-0.0768,0.9928,0.0917,-0.0767,0.9929,0.0912,0.732,0.6051,-0.313,0.7255,0.6037,-0.3304,-0.0771,0.9938,0.08,-0.0711,0.9942,0.0803,-0.855,0.2835,0.4343,-0.8613,0.2834,0.4217,-0.0841,0.9962,0.0217,-0.0834,0.9963,0.0209,0.7262,-0.13,-0.6751,0.7176,-0.1349,-0.6833,0.0841,-0.9954,-0.0459,0.0854,-0.9959,-0.0288,-0.6619,-0.3692,0.6523,-0.6756,-0.3687,0.6384,-0.082,0.9951,0.0555,-0.0813,0.9952,0.0549,0.5895,0.5785,-0.5638,0.5791,0.5755,-0.5774,-0.0876,0.9956,0.034,-0.0731,0.9967,0.0343,-0.6924,0.3226,0.6454,-0.6996,0.3235,0.6371,-0.0545,0.9985,0.0034,-0.0546,0.9985,0.0033,0.4504,-0.1901,-0.8723,0.4406,-0.1945,-0.8764,0.0709,-0.9972,-0.0229,0.0685,-0.9974,-0.0213,-0.3962,-0.3186,0.8611,-0.4103,-0.3182,0.8547,-0.0691,0.9968,0.0405,-0.0689,0.9968,0.0401,0.356,0.5361,-0.7654,0.3455,0.5337,-0.7718,-0.0608,0.9979,0.0213,-0.0571,0.9981,0.0223,-0.4236,0.3788,0.8229,-0.4332,0.3793,0.8176,0.0144,0.9988,0.0458,0.014,0.9988,0.0473,0.1527,-0.227,-0.9619,0.1391,-0.2287,-0.9635,0.0181,-0.999,-0.042,-0.0007,-0.9982,-0.0605,-0.131,-0.277,0.9519,-0.1443,-0.2777,0.9498,-0.0231,0.9981,0.0565,-0.0235,0.9981,0.0576,0.1276,0.5047,-0.8538,0.1175,0.5039,-0.8557,0.0081,0.999,0.0429,-0.0087,0.9984,0.0552,-0.1267,0.4074,0.9044,-0.1396,0.407,0.9027,0.0981,0.9905,0.0966,0.0978,0.9904,0.0978,-0.0692,-0.2351,-0.9695,-0.0807,-0.2347,-0.9687,-0.068,-0.9943,-0.0824,-0.0904,-0.9908,-0.1006,0.0479,-0.2586,0.9648,0.0372,-0.26,0.9649,0.0566,0.994,0.0936,0.0564,0.9938,0.0956,-0.0187,0.4969,-0.8676,-0.0261,0.4974,-0.8671,0.0853,0.9931,0.0799,0.0678,0.9929,0.0978,0.0928,0.4086,0.908,0.0825,0.4081,0.9092,0.1393,0.9851,0.1012,0.1392,0.9851,0.101,-0.1915,-0.2312,-0.9539,-0.197,-0.231,-0.9528,-0.1431,-0.9839,-0.1074,-0.1457,-0.9833,-0.1092,0.1399,-0.2585,0.9558,0.1336,-0.2596,0.9564,0.1387,0.9828,0.1218,0.1385,0.9827,0.1227,-0.0882,0.5058,-0.8581,-0.0917,0.5065,-0.8574,0.1344,0.9852,0.1061,0.1321,0.9854,0.1075,0.2064,0.3991,0.8934,0.2016,0.3992,0.8944,0.1371,0.9868,0.0859,0.1371,0.9869,0.0854,-0.2385,-0.2329,-0.9428,-0.2398,-0.2332,-0.9424,-0.152,-0.9836,-0.0974,-0.1426,-0.9856,-0.0911,0.1783,-0.2628,0.9482,0.1761,-0.2631,0.9486,0.1626,0.9798,0.1164,0.1626,0.9799,0.1156,-0.1221,0.5073,-0.853,-0.1243,0.507,-0.8529,0.1459,0.985,0.0921,0.1509,0.985,0.0832,0.247,0.4046,0.8805,0.2461,0.4051,0.8805,0.1279,0.9885,0.0811,0.128,0.9885,0.0808,-0.2363,-0.2337,-0.9431,-0.2346,-0.2338,-0.9436,-0.1337,-0.9872,-0.0865,-0.1295,-0.988,-0.0838,0.1785,-0.2618,0.9485,0.18,-0.2616,0.9482,0.1386,0.9865,0.0871,0.1388,0.9866,0.0863,-0.1315,0.4976,-0.8574,-0.1307,0.4971,-0.8578,0.1316,0.9879,0.0817,0.1334,0.9879,0.0785,0.2402,0.407,0.8813,0.242,0.4073,0.8807,0.1146,0.9901,0.0807,0.1148,0.9901,0.0806,-0.1899,-0.2346,-0.9534,-0.1855,-0.2347,-0.9542,-0.1164,-0.9895,-0.0853,-0.1157,-0.9896,-0.085,0.1347,-0.2602,0.9561,0.1388,-0.26,0.9556,0.1185,0.9889,0.089,0.1188,0.9889,0.089,-0.0981,0.4941,-0.8638,-0.0951,0.4939,-0.8643,0.1166,0.9899,0.0807,0.117,0.9899,0.0803,0.1929,0.4109,0.891,0.1971,0.4112,0.89,0.0971,0.9918,0.0834,0.0973,0.9918,0.0834,-0.0962,-0.2357,-0.967,-0.0892,-0.2359,-0.9677,-0.0963,-0.9915,-0.088,-0.0971,-0.9913,-0.0891,0.0436,-0.2582,0.9651,0.0499,-0.258,0.9648,0.0976,0.9908,0.0933,0.0979,0.9908,0.0934,-0.0209,0.4905,-0.8712,-0.0161,0.4902,-0.8714,0.0984,0.9916,0.0834,0.0978,0.9916,0.0845,0.1015,0.4162,0.9036,0.1079,0.4165,0.9027,0.0752,0.9934,0.0872,0.0754,0.9933,0.0874,0.0506,-0.2371,-0.9702,0.0598,-0.2372,-0.9696,-0.0734,-0.9931,-0.0914,-0.0746,-0.9929,-0.0932,-0.1007,-0.2559,0.9614,-0.0922,-0.2553,0.9624,0.0762,0.9923,0.0981,0.0764,0.9922,0.0982,0.104,0.4866,-0.8674,0.1106,0.4855,-0.8672,0.0758,0.9933,0.0871,0.0746,0.9933,0.0885,-0.039,0.4226,0.9055,-0.0306,0.4229,0.9057,0.0405,0.9957,0.0836,0.0417,0.9957,0.0822,0.2495,-0.2386,-0.9385,0.2585,-0.239,-0.936,-0.0534,-0.9944,-0.0917,-0.0513,-0.995,-0.0854,-0.2932,-0.2476,0.9234,-0.283,-0.2471,0.9267,0.0545,0.9937,0.0978,0.0548,0.9937,0.0977,0.2781,0.4623,-0.842,0.2863,0.4612,-0.8398,0.0455,0.9954,0.0848,0.0512,0.9953,0.0821,-0.2275,0.4292,0.8741,-0.2187,0.4299,0.876,0.0135,0.9998,-0.0114,0.0158,0.9998,-0.0142,0.4734,-0.2441,-0.8464,0.4742,-0.2473,-0.845,-0.0284,-0.9977,-0.0612,-0.0238,-0.9993,-0.029,-0.4995,-0.2455,0.8308,-0.4918,-0.2444,0.8357,0.0269,0.9969,0.0737,0.0277,0.997,0.0727,0.4622,0.4563,-0.7604,0.4684,0.4553,-0.7572,0.0013,0.9991,0.0416,0.0297,0.9991,0.0314,-0.4393,0.4422,0.782,-0.437,0.4445,0.782,0.0422,0.9948,-0.093,0.0444,0.9945,-0.0952,0.6558,-0.28,-0.7011,0.6495,-0.2879,-0.7038,-0.041,-0.9991,0.0121,-0.0423,-0.9974,0.0579,-0.6742,-0.2283,0.7024,-0.6717,-0.223,0.7065,0.0419,0.999,0.012,0.0435,0.999,0.0106,0.6263,0.4311,-0.6496,0.6291,0.428,-0.6489,0.0286,0.9991,-0.0317,0.0667,0.997,-0.0401,-0.6019,0.4816,0.6369,-0.605,0.4866,0.6302,0.1365,0.9866,-0.0891,0.1383,0.9862,-0.0915,0.7542,-0.3612,-0.5484,0.7482,-0.3731,-0.5486,-0.1292,-0.9915,0.0158,-0.1415,-0.9882,0.0582,-0.8156,-0.1544,0.5577,-0.8144,-0.143,0.5624,0.1225,0.9924,0.007,0.1242,0.9922,0.0049,0.7774,0.3613,-0.5148,0.7794,0.3554,-0.5159,0.1164,0.9922,-0.044,0.1545,0.987,-0.0448,-0.6717,0.5556,0.49,-0.6706,0.5622,0.484,0.2632,0.9635,-0.0493,0.2653,0.9628,-0.0518,0.778,-0.4697,-0.4172,0.7719,-0.4821,-0.4145,-0.2527,-0.9674,-0.0183,-0.2742,-0.9613,0.0267,-0.9078,-0.0239,0.4188,-0.9042,-0.0105,0.427,0.2582,0.9652,0.0416,0.2606,0.9647,0.0393,0.8948,0.2358,-0.3791,0.8973,0.2279,-0.3781,0.2461,0.9692,-0.0092,0.2874,0.9578,-0.0045,-0.6631,0.6484,0.3739,-0.6586,0.6546,0.3713,0.3738,0.9274,-0.0152,0.3756,0.9266,-0.0162,0.7622,-0.5678,-0.3109,0.7571,-0.5758,-0.3086,-0.3612,-0.9321,-0.0248,-0.3804,-0.9248,0.0072,-0.9432,0.1087,0.3138,-0.9399,0.118,0.3202,0.3779,0.9247,0.0455,0.38,0.9239,0.0448,0.9551,0.1038,-0.2775,0.9562,0.098,-0.276,0.3644,0.9311,0.0151,0.393,0.9193,0.0216,-0.6222,0.7289,0.2858,-0.6183,0.7324,0.285,0.4217,0.9067,-0.0014,0.4223,0.9065,-0.0015,0.7569,-0.6174,-0.2142,0.7552,-0.6198,-0.2135,-0.4151,-0.9097,-0.0073,-0.4221,-0.9065,0.0025,-0.96,0.1766,0.2174,-0.959,0.1796,0.2194,0.4254,0.9048,0.0173,0.4261,0.9045,0.0171,0.9803,0.038,-0.194,0.9805,0.0362,-0.1933,0.4209,0.907,0.0103,0.4296,0.9029,0.013,-0.6074,0.7688,0.2001,-0.6061,0.7698,0.2,0.4226,0.9063,0,0.7703,-0.6268,-0.117,-0.4226,-0.9063,0,-0.4226,-0.9063,-0,-0.9753,0.1872,0.117,0.4226,0.9063,-0,0.9937,0.0301,-0.1079,0.4268,0.9043,-0.0006,-0.6206,0.7766,0.1082,0.4218,0.906,-0.0347,0.423,0.9055,-0.034,0.7768,-0.6298,0.0054,0.7768,-0.6297,0.0029,-0.422,-0.9062,0.0271,-0.4224,-0.906,0.0278,-0.9816,0.1901,0.0195,-0.9822,0.187,0.0172,0.422,0.9061,-0.0285,0.4212,0.9065,-0.0284,0.9994,0.0274,-0.0199,0.9993,0.0292,-0.0217,0.4263,0.9042,-0.0271,0.4265,0.9041,-0.0267,-0.6267,0.7792,-0.0083,-0.6253,0.7803,-0.0102,0.4827,0.873,-0.069,0.4826,0.8732,-0.0687,0.7672,-0.6238,0.1493,0.7716,-0.6203,0.1412,-0.4242,-0.901,0.091,-0.4135,-0.9063,0.0868,-0.9865,0.1412,-0.0832,-0.9873,0.1305,-0.0903,0.3721,0.9226,-0.102,0.3706,0.9232,-0.1017,0.9949,0.0789,0.0626,0.9949,0.0841,0.0553,0.4274,0.9011,-0.0736,0.4191,0.9043,-0.0814,-0.581,0.8019,-0.1392,-0.5813,0.8009,-0.1439,0.4116,0.9113,-0.0079,0.4093,0.9123,-0.0137,0.794,-0.5589,0.2391,0.8029,-0.5492,0.2318,-0.3813,-0.9208,0.0818,-0.3394,-0.9388,0.0594,-0.9805,0.0285,-0.1946,-0.9783,0.0135,-0.2066,0.3231,0.9394,-0.1142,0.3206,0.9402,-0.1152,0.9694,0.182,0.165,0.9707,0.1888,0.1484,0.3776,0.9252,-0.038,0.3524,0.9327,-0.0764,-0.6294,0.7462,-0.2169,-0.6351,0.7407,-0.2191,0.2565,0.9558,0.1439,0.2533,0.957,0.1411,0.812,-0.4861,0.323,0.8199,-0.4753,0.3191,-0.2387,-0.9694,-0.0565,-0.178,-0.9807,-0.0808,-0.9286,-0.0767,-0.3631,-0.9226,-0.0871,-0.3758,0.1646,0.9863,-0.0097,0.1604,0.987,-0.0089,0.8926,0.2938,0.3421,0.8959,0.3003,0.3273,0.2299,0.9692,0.088,0.2042,0.9782,0.0383,-0.6969,0.6658,-0.2665,-0.701,0.6598,-0.2706,0.0942,0.954,0.2846,0.0927,0.9545,0.2833,0.7581,-0.4559,0.4663,0.7585,-0.4507,0.4708,-0.0528,-0.9747,-0.2174,-0.0215,-0.9738,-0.2263,-0.7857,-0.1064,-0.6094,-0.7874,-0.1075,-0.607,-0.0201,0.9891,0.1458,-0.0204,0.9894,0.1441,0.7338,0.3269,0.5955,0.7322,0.3276,0.5972,0.0551,0.9736,0.2214,0.0479,0.9789,0.1986,-0.6805,0.6282,-0.3772,-0.6838,0.6246,-0.3772,-0.0056,0.9283,0.3718,-0.006,0.9286,0.3711,0.5871,-0.4832,0.6495,0.5749,-0.4856,0.6585,0.0559,-0.9494,-0.3091,0.0518,-0.9491,-0.3108,-0.5498,-0.0331,-0.8346,-0.5664,-0.0292,-0.8236,-0.1013,0.9616,0.2551,-0.1,0.9615,0.2559,0.5033,0.2507,0.827,0.4933,0.2447,0.8347,-0.0485,0.9496,0.3096,-0.0495,0.9485,0.313,-0.5351,0.6535,-0.5354,-0.5451,0.6513,-0.5279,-0.0395,0.924,0.3804,-0.0393,0.9246,0.3788,0.3063,-0.5344,0.7878,0.2967,-0.5375,0.7893,0.0624,-0.9407,-0.3335,0.0531,-0.9397,-0.338,-0.2744,0.0633,-0.9595,-0.2915,0.0681,-0.9541,-0.0754,0.9451,0.3179,-0.074,0.9448,0.3193,0.2477,0.1531,0.9567,0.2359,0.1485,0.9604,-0.0542,0.941,0.3339,-0.0575,0.9381,0.3415,-0.2854,0.7035,-0.6509,-0.291,0.7033,-0.6486,-0.0085,0.9392,0.3432,-0.0085,0.9397,0.3419,0.0315,-0.5587,0.8288,0.0304,-0.5585,0.829,-0.0008,-0.9408,-0.339,0.0008,-0.9417,-0.3365,-0.033,0.1018,-0.9943,-0.0335,0.102,-0.9942,-0.0029,0.9399,0.3415,-0.0027,0.9399,0.3415,0.0265,0.1155,0.993,0.0266,0.1155,0.993,-0.0095,0.9393,0.343,-0.0057,0.9397,0.3421,-0.0312,0.7215,-0.6917,-0.0319,0.721,-0.6922,0.0261,0.9431,0.3315,0.0266,0.9435,0.3302,-0.2055,-0.5449,0.8129,-0.2,-0.5416,0.8165,-0.0642,-0.9403,-0.3341,-0.0455,-0.9488,-0.3126,0.1792,0.0821,-0.9804,0.1902,0.0754,-0.9789,0.0752,0.944,0.3212,0.0758,0.9447,0.3191,-0.1603,0.1378,0.9774,-0.1507,0.1406,0.9785,0.035,0.9421,0.3336,0.06,0.9447,0.3224,0.1892,0.7073,-0.6811,0.1935,0.7051,-0.6822,0.0498,0.9486,0.3124,0.0512,0.9492,0.3104,-0.4265,-0.5033,0.7516,-0.418,-0.4985,0.7594,-0.1139,-0.9413,-0.3178,-0.089,-0.9574,-0.2748,0.3823,0.0233,-0.9237,0.3987,0.0099,-0.917,0.1502,0.9482,0.2799,0.1523,0.9488,0.2769,-0.3384,0.2003,0.9194,-0.3215,0.2041,0.9246,0.0733,0.9493,0.3058,0.1183,0.948,0.2954,0.3956,0.6676,-0.6307,0.4027,0.6633,-0.6308,0.0697,0.9582,0.2775,0.0713,0.9586,0.2755,-0.597,-0.4476,0.6658,-0.5893,-0.4412,0.6768,-0.138,-0.9518,-0.2741,-0.1207,-0.9665,-0.2264,0.5456,-0.0633,-0.8357,0.5593,-0.0804,-0.825,0.2039,0.9541,0.2193,0.2054,0.9544,0.2165,-0.4783,0.2902,0.8289,-0.4598,0.2945,0.8378,0.1104,0.9592,0.2602,0.1533,0.9543,0.2566,0.5552,0.6146,-0.5604,0.562,0.609,-0.5597,0.058,0.9726,0.2253,0.0582,0.973,0.2235,-0.7019,-0.3906,0.5956,-0.6977,-0.3819,0.6061,-0.1169,-0.9735,-0.1967,-0.1127,-0.9785,-0.1724,0.6599,-0.1531,-0.7356,0.6677,-0.1693,-0.7249,0.191,0.971,0.1441,0.1899,0.9717,0.1408,-0.5821,0.3785,0.7196,-0.5683,0.3834,0.7281,0.1084,0.975,0.1941,0.1282,0.9726,0.1938,0.6514,0.5642,-0.5073,0.6557,0.5587,-0.5078,0.0032,0.9892,0.1468,0.0017,0.9894,0.1449,-0.7555,-0.3399,0.5601,-0.7544,-0.3295,0.5678,-0.0557,-0.994,-0.0938,-0.0574,-0.9935,-0.0978,0.7361,-0.226,-0.638,0.7393,-0.2391,-0.6295,0.1219,0.9914,0.0482,0.1194,0.9918,0.0453,-0.6605,0.4442,0.6053,-0.653,0.4492,0.6098,0.0585,0.9928,0.1047,0.0558,0.9933,0.1015,0.6939,0.5248,-0.493,0.6968,0.5197,-0.4943,-0.0818,0.9956,0.0453,-0.0845,0.9955,0.0428,-0.7761,-0.2933,0.5583,-0.7763,-0.282,0.5638,0.0259,-0.9995,0.0159,0.0237,-0.9997,-0.0006,0.7829,-0.2762,-0.5575,0.7835,-0.286,-0.5516,0.0288,0.9979,-0.058,0.0266,0.9978,-0.0599,-0.716,0.4826,0.5044,-0.7132,0.4867,0.5044,-0.0233,0.9997,-0.0026,-0.035,0.9994,-0.0083,0.7005,0.4908,-0.5181,0.7041,0.4858,-0.5179,-0.1675,0.984,-0.0615,-0.1699,0.9833,-0.0648,-0.7742,-0.2458,0.5832,-0.7738,-0.234,0.5886,0.099,-0.9891,0.1088,0.0974,-0.9897,0.1045,0.8016,-0.3097,-0.5114,0.802,-0.3168,-0.5064,-0.0471,0.9874,-0.1508,-0.0479,0.9872,-0.1522,-0.745,0.5031,0.4381,-0.7438,0.5063,0.4364,-0.1058,0.9885,-0.1085,-0.108,0.9879,-0.1111,0.6845,0.4522,-0.5718,0.6904,0.4476,-0.5684,-0.2208,0.9637,-0.1501,-0.2213,0.9631,-0.1532,-0.7522,-0.1939,0.6298,-0.7495,-0.1817,0.6365,0.1336,-0.9767,0.1679,0.1354,-0.9712,0.1962,0.7884,-0.3388,-0.5135,0.7899,-0.3434,-0.508,-0.0742,0.9746,-0.2113,-0.0731,0.9744,-0.2125,-0.7394,0.5235,0.4233,-0.7372,0.5268,0.4231,-0.1563,0.9692,-0.1902,-0.1334,0.9736,-0.1853,0.654,0.4028,-0.6403,0.6624,0.3988,-0.6342,-0.2143,0.9544,-0.2077,-0.2116,0.9545,-0.2102,-0.7017,-0.1366,0.6993,-0.6955,-0.125,0.7076,0.1221,-0.9706,0.2073,0.1318,-0.957,0.2583,0.7354,-0.3707,-0.5673,0.738,-0.3733,-0.5621,-0.0614,0.9675,-0.2452,-0.06,0.9674,-0.2462,-0.6908,0.554,0.4647,-0.6877,0.5567,0.4659,-0.1522,0.9597,-0.236,-0.1085,0.9677,-0.2274,0.6071,0.3436,-0.7165,0.6169,0.3402,-0.7097,-0.1403,0.9594,-0.2447,-0.137,0.9593,-0.2469,-0.5978,-0.0764,0.798,-0.5887,-0.0676,0.8056,0.0872,-0.9675,0.2374,0.1014,-0.9559,0.2758,0.6236,-0.4086,-0.6664,0.6275,-0.41,-0.6619,-0.0538,0.9653,-0.2554,-0.053,0.9652,-0.2561,-0.5885,0.589,0.5539,-0.5848,0.591,0.5557,-0.1083,0.9616,-0.2522,-0.0712,0.9662,-0.2478,0.5211,0.2808,-0.806,0.5306,0.2785,-0.8005,-0.0735,0.9636,-0.2569,-0.0721,0.9633,-0.2584,-0.4061,-0.0224,0.9136,-0.398,-0.0179,0.9172,0.0515,-0.9667,0.2506,0.0634,-0.9616,0.2671,0.4233,-0.4513,-0.7856,0.4273,-0.4522,-0.7829,-0.0384,0.9648,-0.2601,-0.0377,0.9647,-0.2608,-0.4016,0.6304,0.6643,-0.3979,0.6318,0.6652,-0.0652,0.965,-0.2541,-0.0468,0.9657,-0.2555,0.355,0.2294,-0.9063,0.3619,0.2282,-0.9039,-0.0164,0.9655,-0.2599,-0.0153,0.9656,-0.2598,-0.1087,0.0142,0.994,-0.1103,0.0142,0.9938,0.0242,-0.9659,0.2577,0.0194,-0.9659,0.2581,0.1319,-0.4822,-0.8661,0.1315,-0.4816,-0.8665,-0.0195,0.9653,-0.2606,-0.0193,0.9653,-0.2605,-0.123,0.6607,0.7405,-0.1224,0.6601,0.7411,-0.0165,0.9672,-0.2533,-0.0154,0.9679,-0.251,0.1006,0.1964,-0.9753,0.0988,0.1962,-0.9756,0.0669,0.9664,-0.2483,0.0681,0.9668,-0.2462,0.2804,0.0053,0.9599,0.2574,0.002,0.9663,-0.0104,-0.9673,0.2535,-0.0513,-0.9663,0.2523,-0.2624,-0.4815,-0.8362,-0.2705,-0.4788,-0.8352,0.0004,0.9661,-0.2581,0.0005,0.9665,-0.2566,0.2502,0.6577,0.7105,0.2441,0.6561,0.7142,0.0494,0.9651,-0.2571,0.0301,0.9717,-0.2341,-0.2247,0.2057,-0.9525,-0.2406,0.2101,-0.9476,0.1717,0.9576,-0.2314,0.1716,0.9586,-0.2274,0.6212,-0.0625,0.7812,0.5925,-0.0656,0.8029,-0.0689,-0.9663,0.2481,-0.1174,-0.9587,0.2589,-0.6298,-0.4312,-0.6461,-0.6406,-0.426,-0.6389,0.0284,0.9647,-0.2618,0.0292,0.9653,-0.2594,0.5963,0.6035,0.5294,0.5875,0.6027,0.5399,0.1095,0.9581,-0.2647,0.09,0.9705,-0.2235,-0.5218,0.2811,-0.8054,-0.5366,0.2921,-0.7917,0.2198,0.95,-0.2218,0.2207,0.9498,-0.2216,0.8041,-0.1473,0.5759,0.7877,-0.1505,0.5974,-0.1204,-0.9609,0.2494,-0.1426,-0.9553,0.2591,-0.8255,-0.3676,-0.4282,-0.8329,-0.361,-0.4195,0.0623,0.9614,-0.2679,0.0637,0.9618,-0.2661,0.7782,0.5355,0.3282,0.7735,0.5349,0.3401,0.1395,0.956,-0.258,0.1361,0.9628,-0.2332,-0.6838,0.395,-0.6135,-0.6896,0.4038,-0.6012,0.1996,0.9609,-0.1919,0.199,0.9605,-0.1945,0.884,-0.2032,0.421,0.8766,-0.2063,0.4349,-0.1349,-0.962,0.2374,-0.1291,-0.9643,0.2314,-0.9033,-0.3209,-0.2849,-0.9069,-0.3155,-0.2794,0.0796,0.9627,-0.2586,0.0803,0.9627,-0.2585,0.8477,0.4894,0.2048,0.8464,0.4888,0.2116,0.1395,0.9644,-0.2245,0.1378,0.9633,-0.2306,-0.7657,0.4503,-0.4592,-0.7691,0.4532,-0.4507,0.1439,0.9823,-0.1201,0.142,0.9821,-0.1237,0.9177,-0.2349,0.3202,0.9142,-0.2382,0.3279,-0.1097,-0.9764,0.1861,-0.0829,-0.9835,0.161,-0.9298,-0.2946,-0.2205,-0.9313,-0.291,-0.219,0.0623,0.9755,-0.2111,0.0615,0.9752,-0.2126,0.8665,0.4724,0.1611,0.8665,0.4723,0.1617,0.107,0.9828,-0.1507,0.0973,0.9784,-0.1823,-0.8137,0.4715,-0.3399,-0.816,0.4717,-0.3343,0.062,0.9981,-0.0063,0.0593,0.9982,-0.009,0.9322,-0.2515,0.2605,0.9306,-0.2545,0.263,-0.05,-0.995,0.0865,-0.0101,-0.9988,0.0483,-0.9333,-0.2822,-0.2221,-0.9344,-0.279,-0.2217,0.0051,0.993,-0.1182,0.0029,0.9927,-0.1203,0.8594,0.4773,0.1834,0.8592,0.4781,0.1823,0.0432,0.9982,-0.0404,0.0269,0.9959,-0.0864,-0.8467,0.4696,-0.25,-0.8479,0.4683,-0.2486,-0.0205,0.9934,0.1126,-0.0227,0.9936,0.1104,0.9337,-0.2626,0.2434,0.9326,-0.2657,0.2443,0.0285,-0.9989,-0.0367,0.0681,-0.9949,-0.0738,-0.9211,-0.2718,-0.2788,-0.9234,-0.2679,-0.275,-0.0784,0.9969,0.002,-0.0809,0.9967,-0.001,0.8328,0.4887,0.26,0.8317,0.4895,0.2622,-0.0362,0.9963,0.0777,-0.0509,0.9982,0.0329,-0.8647,0.4582,-0.2059,-0.865,0.4573,-0.2066,-0.0779,0.9768,0.1992,-0.0786,0.9771,0.1977,0.9187,-0.2796,0.2788,0.9163,-0.2841,0.2822,0.101,-0.9846,-0.143,0.1278,-0.9778,-0.1662,-0.8895,-0.2503,-0.3822,-0.8953,-0.2458,-0.3716,-0.1595,0.9812,0.1082,-0.1608,0.9814,0.1044,0.7878,0.486,0.3784,0.7851,0.4848,0.3856,-0.1061,0.9801,0.168,-0.1131,0.9839,0.1385,-0.8604,0.4577,-0.2241,-0.8611,0.4577,-0.2216,-0.0997,0.9654,0.2408,-0.0994,0.9655,0.2407,0.8702,-0.3129,0.3807,0.8639,-0.3199,0.389,0.147,-0.9681,-0.203,0.155,-0.9654,-0.2095,-0.8225,-0.2079,-0.5295,-0.8344,-0.2038,-0.512,-0.2105,0.9638,0.1635,-0.2107,0.9641,0.1615,0.7174,0.4547,0.5278,0.7123,0.4506,0.5381,-0.1458,0.9667,0.2104,-0.147,0.968,0.2033,-0.8168,0.4831,-0.3153,-0.8203,0.4835,-0.3054,-0.0919,0.9645,0.2474,-0.0912,0.9642,0.249,0.7436,-0.3682,0.5581,0.7302,-0.3771,0.5697,0.1652,-0.96,-0.226,0.145,-0.9641,-0.2223,-0.6735,-0.1415,-0.7255,-0.6991,-0.1375,-0.7017,-0.2266,0.9572,0.18,-0.2258,0.9572,0.1808,0.5874,0.3934,0.7073,0.576,0.3838,0.7218,-0.145,0.9666,0.2114,-0.1527,0.9606,0.2322,-0.693,0.5384,-0.4794,-0.7029,0.5388,-0.4643,-0.0625,0.9674,0.2454,-0.0622,0.9669,0.2474,0.4702,-0.4347,0.7681,0.451,-0.4431,0.7748,0.1395,-0.9632,-0.2298,0.0959,-0.9685,-0.2299,-0.4033,-0.0539,-0.9135,-0.4399,-0.0494,-0.8967,-0.1707,0.9649,0.1998,-0.1708,0.9642,0.2028,0.3617,0.2812,0.8889,0.3405,0.2714,0.9002,-0.1043,0.9711,0.2148,-0.1252,0.9614,0.2449,-0.4309,0.6067,-0.668,-0.4458,0.6086,-0.6565,-0.0282,0.968,0.2493,-0.0281,0.9677,0.2504,0.0778,-0.4761,0.8759,0.067,-0.4806,0.8744,0.0692,-0.9693,-0.236,0.0392,-0.9686,-0.2456,-0.0539,0.0013,-0.9985,-0.075,0.0056,-0.9972,-0.0787,0.9703,0.2287,-0.0775,0.97,0.2305,0.0465,0.2164,0.9752,0.0316,0.2132,0.9765,-0.0484,0.9709,0.2347,-0.0654,0.9661,0.2498,-0.072,0.6498,-0.7567,-0.0794,0.6525,-0.7536,0.0002,0.966,0.2586,0.0009,0.9659,0.2588,-0.2257,-0.4771,0.8494,-0.2248,-0.4776,0.8493,-0.0011,-0.9667,-0.256,-0.0032,-0.9665,-0.2565,0.2178,0.0096,-0.976,0.2159,0.0098,-0.9764,-0.0046,0.9664,0.257,-0.0026,0.9662,0.2578,-0.2015,0.2066,0.9575,-0.2039,0.2068,0.9569,-0.0048,0.9662,0.2578,-0.0043,0.9657,0.2595,0.2047,0.6515,-0.7305,0.2068,0.6518,-0.7296,0.0224,0.966,0.2575,0.0228,0.9662,0.2567,-0.3762,-0.4603,0.8041,-0.3738,-0.4578,0.8067,-0.0423,-0.9633,-0.2651,-0.0333,-0.9675,-0.2509,0.3576,-0.0094,-0.9338,0.3612,-0.0136,-0.9324,0.0484,0.964,0.2614,0.0488,0.9643,0.2604,-0.3233,0.2256,0.919,-0.3199,0.2274,0.9197,0.0254,0.9643,0.2635,0.0403,0.9649,0.2596,0.3492,0.635,-0.6891,0.351,0.6334,-0.6896,0.0334,0.9695,0.2428,0.0343,0.9698,0.2417,-0.4846,-0.4337,0.7597,-0.4806,-0.4297,0.7644,-0.0613,-0.9652,-0.254,-0.0495,-0.9717,-0.2312,0.4583,-0.0428,-0.8878,0.4643,-0.05,-0.8843,0.0763,0.9668,0.2439,0.0773,0.967,0.2426,-0.4123,0.2592,0.8734,-0.4058,0.2618,0.8756,0.0411,0.9677,0.2485,0.0638,0.9673,0.2454,0.4504,0.6099,-0.6521,0.4536,0.6071,-0.6525,0.0311,0.9755,0.2178,0.0319,0.9757,0.2168,-0.5973,-0.3991,0.6956,-0.5936,-0.3943,0.7015,-0.059,-0.9725,-0.2255,-0.0505,-0.978,-0.2025,0.5723,-0.0886,-0.8152,0.5785,-0.0969,-0.8099,0.0811,0.9742,0.2107,0.082,0.9744,0.2095,-0.5174,0.3047,0.7997,-0.5101,0.3074,0.8033,0.0426,0.9747,0.2193,0.0637,0.9736,0.2191,0.5539,0.5782,-0.599,0.5573,0.575,-0.599,0.0158,0.9828,0.1837,0.0163,0.983,0.1831,-0.7036,-0.3613,0.6119,-0.7016,-0.3563,0.6171,-0.0391,-0.9826,-0.1814,-0.036,-0.9853,-0.1672,0.6881,-0.1386,-0.7123,0.6922,-0.1463,-0.7067,0.0647,0.9841,0.1657,0.065,0.9842,0.1648,-0.6262,0.3532,0.6951,-0.6208,0.3558,0.6986,0.0305,0.9833,0.1795,0.0424,0.9826,0.1808,0.6503,0.545,-0.5292,0.6528,0.542,-0.5292,-0.0124,0.9902,0.139,-0.0126,0.9903,0.1387,-0.7925,-0.325,0.5161,-0.7927,-0.3202,0.5188,-0.0066,-0.9922,-0.1246,-0.0063,-0.9923,-0.1237,0.7903,-0.1836,-0.5846,0.7915,-0.1892,-0.5811,0.0299,0.9934,0.111,0.0296,0.9934,0.1106,-0.7242,0.3945,0.5656,-0.7219,0.3966,0.5671,0.0043,0.9915,0.1297,0.0048,0.9916,0.1292,0.7297,0.5149,-0.4499,0.7308,0.5126,-0.4507,-0.0511,0.9953,0.0826,-0.0518,0.9953,0.0823,-0.8588,-0.2941,0.4195,-0.8604,-0.2899,0.4191,0.0306,-0.9975,-0.0634,0.0317,-0.997,-0.0704,0.867,-0.2157,-0.4491,0.8664,-0.2191,-0.4487,-0.0126,0.9986,0.0521,-0.013,0.9986,0.0519,-0.7997,0.4214,0.4276,-0.7996,0.4228,0.4265,-0.0327,0.997,0.0705,-0.038,0.997,0.0679,0.7874,0.4913,-0.3723,0.7876,0.4897,-0.3741,-0.0891,0.9958,0.021,-0.0894,0.9958,0.0205,-0.9042,-0.2707,0.3305,-0.906,-0.2675,0.328,0.0586,-0.9981,-0.0174,0.0568,-0.9983,-0.0159,0.9152,-0.2334,-0.3285,0.9144,-0.2351,-0.3294,-0.0386,0.9992,0.0068,-0.0381,0.9993,0.0065,-0.8474,0.4346,0.3051,-0.8476,0.4354,0.3032,-0.0664,0.9977,0.0108,-0.064,0.9979,0.0119,0.8264,0.4746,-0.3029,0.8263,0.4734,-0.3051,-0.0968,0.995,-0.0233,-0.0953,0.9952,-0.0238,-0.9343,-0.2549,0.2493,-0.9355,-0.2529,0.2467,0.0554,-0.9985,0.0006,0.0435,-0.9988,0.0204,0.9413,-0.2408,-0.2365,0.9411,-0.2414,-0.2368,-0.0109,0.9999,-0.0073,-0.01,0.9999,-0.0074,-0.8704,0.4422,0.2167,-0.8702,0.4427,0.2161,-0.0655,0.9976,-0.0215,-0.0473,0.9988,-0.0118,0.8545,0.4627,-0.2359,0.8547,0.4614,-0.2381,-0.0359,0.9991,-0.0216,-0.0339,0.9992,-0.0217,-0.954,-0.2452,0.1722,-0.9545,-0.2443,0.1712,0.0165,-0.9998,0.0093,0.0064,-0.9997,0.0243,0.9559,-0.2424,-0.1657,0.9559,-0.2425,-0.1657,-0.0002,1,-0.0001,-0,1,-0.0001,-0.8814,0.447,0.1528,-0.8813,0.4472,0.1527,-0.019,0.9998,-0.0076,-0.006,1,-0.0004,0.8797,0.447,-0.1621,0.8801,0.446,-0.1631,-0.0007,1,-0.0013,-0.0002,1,-0.0014,-0.9641,-0.2427,0.108,-0.9641,-0.2425,0.108,0.0007,-1,0.0006,0.0001,-1,0.0013,0.9642,-0.2425,-0.1076,-0.8889,0.4472,0.0992,-0.005,1,0.0003,-0.0046,1,0.0005,0.8916,0.4417,-0.0997,0.8917,0.4415,-0.0997,0.0003,1,0.0054,-0.9682,-0.2425,0.0608,-0.9682,-0.2425,0.0609,-0.0004,-1,-0.0056,-0.0004,-1,-0.0055,0.9681,-0.2425,-0.0636,0.9681,-0.2425,-0.0635,0.0004,1,0.0056,-0.8924,0.4472,0.0598,-0.8924,0.4472,0.0599,-0.0043,1,0.0058,0.8955,0.4415,-0.0552,0.8956,0.4415,-0.055,0.0014,0.9998,0.0217,0.0014,0.9998,0.0218,-0.9698,-0.2425,0.0252,-0.9698,-0.2425,0.0256,-0.0013,-0.9998,-0.0222,-0.0015,-0.9998,-0.0219,0.9695,-0.2426,-0.0362,0.9695,-0.2426,-0.036,0.0014,0.9998,0.0222,0.0014,0.9998,0.0223,-0.8936,0.4473,0.0382,-0.8936,0.4473,0.0383,-0.0034,0.9998,0.022,-0.0032,0.9997,0.0222,0.8971,0.4414,-0.019,0.8971,0.4414,-0.0186], - - "colors": [], - - "uvs": [[]], - - "faces": [35,0,1,2,3,0,0,1,2,2,35,1,4,5,2,0,3,4,5,6,35,4,6,7,5,0,7,8,9,10,35,6,8,9,7,0,11,12,13,14,35,8,10,11,9,0,15,16,17,18,35,10,12,13,11,0,19,20,21,22,35,12,14,15,13,0,23,24,25,26,35,14,0,3,15,0,27,28,29,30,35,3,2,16,17,0,2,2,31,32,35,2,5,18,16,0,6,5,33,34,35,5,7,19,18,0,10,9,35,36,35,7,9,20,19,0,14,13,37,38,35,9,11,21,20,0,18,17,39,39,35,11,13,22,21,0,22,21,40,41,35,13,15,23,22,0,26,25,42,43,35,15,3,17,23,0,30,29,44,45,35,17,16,24,25,0,32,31,46,46,35,16,18,26,24,0,34,33,47,48,35,18,19,27,26,0,36,35,49,50,35,19,20,28,27,0,38,37,51,52,35,20,21,29,28,0,39,39,53,54,35,21,22,30,29,0,41,40,55,56,35,22,23,31,30,0,43,42,57,58,35,23,17,25,31,0,45,44,59,60,35,25,24,32,33,0,46,46,61,62,35,24,26,34,32,0,48,47,63,64,35,26,27,35,34,0,50,49,65,66,35,27,28,36,35,0,52,51,67,68,35,28,29,37,36,0,54,53,69,70,35,29,30,38,37,0,56,55,71,72,35,30,31,39,38,0,58,57,73,74,35,31,25,33,39,0,60,59,75,76,35,33,32,40,41,0,62,61,77,78,35,32,34,42,40,0,64,63,79,80,35,34,35,43,42,0,66,65,81,82,35,35,36,44,43,0,68,67,83,84,35,36,37,45,44,0,70,69,85,86,35,37,38,46,45,0,72,71,87,88,35,38,39,47,46,0,74,73,89,90,35,39,33,41,47,0,76,75,91,92,35,41,40,48,49,0,78,77,93,94,35,40,42,50,48,0,80,79,95,96,35,42,43,51,50,0,82,81,97,98,35,43,44,52,51,0,84,83,99,100,35,44,45,53,52,0,86,85,101,102,35,45,46,54,53,0,88,87,103,104,35,46,47,55,54,0,90,89,105,106,35,47,41,49,55,0,92,91,107,108,35,49,48,56,57,0,94,93,109,110,35,48,50,58,56,0,96,95,111,112,35,50,51,59,58,0,98,97,113,114,35,51,52,60,59,0,100,99,115,116,35,52,53,61,60,0,102,101,117,118,35,53,54,62,61,0,104,103,119,120,35,54,55,63,62,0,106,105,121,122,35,55,49,57,63,0,108,107,123,124,35,57,56,64,65,0,110,109,125,126,35,56,58,66,64,0,112,111,127,128,35,58,59,67,66,0,114,113,129,130,35,59,60,68,67,0,116,115,131,132,35,60,61,69,68,0,118,117,133,134,35,61,62,70,69,0,120,119,135,136,35,62,63,71,70,0,122,121,137,138,35,63,57,65,71,0,124,123,139,140,35,65,64,72,73,0,126,125,141,142,35,64,66,74,72,0,128,127,143,144,35,66,67,75,74,0,130,129,145,146,35,67,68,76,75,0,132,131,147,148,35,68,69,77,76,0,134,133,149,150,35,69,70,78,77,0,136,135,151,152,35,70,71,79,78,0,138,137,153,154,35,71,65,73,79,0,140,139,155,156,35,73,72,80,81,0,142,141,157,158,35,72,74,82,80,0,144,143,159,160,35,74,75,83,82,0,146,145,161,162,35,75,76,84,83,0,148,147,163,164,35,76,77,85,84,0,150,149,165,166,35,77,78,86,85,0,152,151,167,168,35,78,79,87,86,0,154,153,169,170,35,79,73,81,87,0,156,155,171,172,35,81,80,88,89,0,158,157,173,174,35,80,82,90,88,0,160,159,175,176,35,82,83,91,90,0,162,161,177,178,35,83,84,92,91,0,164,163,179,180,35,84,85,93,92,0,166,165,181,182,35,85,86,94,93,0,168,167,183,184,35,86,87,95,94,0,170,169,185,186,35,87,81,89,95,0,172,171,187,188,35,89,88,96,97,0,174,173,189,190,35,88,90,98,96,0,176,175,191,192,35,90,91,99,98,0,178,177,193,194,35,91,92,100,99,0,180,179,195,196,35,92,93,101,100,0,182,181,197,198,35,93,94,102,101,0,184,183,199,200,35,94,95,103,102,0,186,185,201,202,35,95,89,97,103,0,188,187,203,204,35,97,96,104,105,0,190,189,205,206,35,96,98,106,104,0,192,191,207,208,35,98,99,107,106,0,194,193,209,210,35,99,100,108,107,0,196,195,211,212,35,100,101,109,108,0,198,197,213,214,35,101,102,110,109,0,200,199,215,216,35,102,103,111,110,0,202,201,217,218,35,103,97,105,111,0,204,203,219,220,35,105,104,112,113,0,206,205,221,222,35,104,106,114,112,0,208,207,223,224,35,106,107,115,114,0,210,209,225,226,35,107,108,116,115,0,212,211,227,228,35,108,109,117,116,0,214,213,229,230,35,109,110,118,117,0,216,215,231,232,35,110,111,119,118,0,218,217,233,234,35,111,105,113,119,0,220,219,235,236,35,113,112,120,121,0,222,221,237,238,35,112,114,122,120,0,224,223,239,240,35,114,115,123,122,0,226,225,241,242,35,115,116,124,123,0,228,227,243,244,35,116,117,125,124,0,230,229,245,246,35,117,118,126,125,0,232,231,247,248,35,118,119,127,126,0,234,233,249,250,35,119,113,121,127,0,236,235,251,252,35,121,120,128,129,0,238,237,253,254,35,120,122,130,128,0,240,239,255,256,35,122,123,131,130,0,242,241,257,258,35,123,124,132,131,0,244,243,259,260,35,124,125,133,132,0,246,245,261,262,35,125,126,134,133,0,248,247,263,264,35,126,127,135,134,0,250,249,265,266,35,127,121,129,135,0,252,251,267,268,35,129,128,136,137,0,254,253,269,270,35,128,130,138,136,0,256,255,271,272,35,130,131,139,138,0,258,257,273,274,35,131,132,140,139,0,260,259,275,276,35,132,133,141,140,0,262,261,277,278,35,133,134,142,141,0,264,263,279,280,35,134,135,143,142,0,266,265,281,282,35,135,129,137,143,0,268,267,283,284,35,137,136,144,145,0,270,269,285,286,35,136,138,146,144,0,272,271,287,288,35,138,139,147,146,0,274,273,289,290,35,139,140,148,147,0,276,275,291,292,35,140,141,149,148,0,278,277,293,294,35,141,142,150,149,0,280,279,295,296,35,142,143,151,150,0,282,281,297,298,35,143,137,145,151,0,284,283,299,300,35,145,144,152,153,0,286,285,301,302,35,144,146,154,152,0,288,287,303,304,35,146,147,155,154,0,290,289,305,306,35,147,148,156,155,0,292,291,307,308,35,148,149,157,156,0,294,293,309,310,35,149,150,158,157,0,296,295,311,312,35,150,151,159,158,0,298,297,313,314,35,151,145,153,159,0,300,299,315,316,35,153,152,160,161,0,302,301,317,318,35,152,154,162,160,0,304,303,319,320,35,154,155,163,162,0,306,305,321,322,35,155,156,164,163,0,308,307,323,324,35,156,157,165,164,0,310,309,325,326,35,157,158,166,165,0,312,311,327,328,35,158,159,167,166,0,314,313,329,330,35,159,153,161,167,0,316,315,331,332,35,161,160,168,169,0,318,317,333,334,35,160,162,170,168,0,320,319,335,336,35,162,163,171,170,0,322,321,337,338,35,163,164,172,171,0,324,323,339,340,35,164,165,173,172,0,326,325,341,342,35,165,166,174,173,0,328,327,343,344,35,166,167,175,174,0,330,329,345,346,35,167,161,169,175,0,332,331,347,348,35,169,168,176,177,0,334,333,349,350,35,168,170,178,176,0,336,335,351,352,35,170,171,179,178,0,338,337,353,354,35,171,172,180,179,0,340,339,355,356,35,172,173,181,180,0,342,341,357,358,35,173,174,182,181,0,344,343,359,360,35,174,175,183,182,0,346,345,361,362,35,175,169,177,183,0,348,347,363,364,35,177,176,184,185,0,350,349,365,366,35,176,178,186,184,0,352,351,367,368,35,178,179,187,186,0,354,353,369,370,35,179,180,188,187,0,356,355,371,372,35,180,181,189,188,0,358,357,373,374,35,181,182,190,189,0,360,359,375,376,35,182,183,191,190,0,362,361,377,378,35,183,177,185,191,0,364,363,379,380,35,185,184,192,193,0,366,365,381,382,35,184,186,194,192,0,368,367,383,384,35,186,187,195,194,0,370,369,385,386,35,187,188,196,195,0,372,371,387,388,35,188,189,197,196,0,374,373,389,390,35,189,190,198,197,0,376,375,391,392,35,190,191,199,198,0,378,377,393,394,35,191,185,193,199,0,380,379,395,396,35,193,192,200,201,0,382,381,397,398,35,192,194,202,200,0,384,383,399,400,35,194,195,203,202,0,386,385,401,402,35,195,196,204,203,0,388,387,403,404,35,196,197,205,204,0,390,389,405,406,35,197,198,206,205,0,392,391,407,408,35,198,199,207,206,0,394,393,409,410,35,199,193,201,207,0,396,395,411,412,35,201,200,208,209,0,398,397,413,414,35,200,202,210,208,0,400,399,415,416,35,202,203,211,210,0,402,401,417,418,35,203,204,212,211,0,404,403,419,420,35,204,205,213,212,0,406,405,421,422,35,205,206,214,213,0,408,407,423,424,35,206,207,215,214,0,410,409,425,426,35,207,201,209,215,0,412,411,427,428,35,209,208,216,217,0,414,413,429,430,35,208,210,218,216,0,416,415,431,432,35,210,211,219,218,0,418,417,433,434,35,211,212,220,219,0,420,419,435,436,35,212,213,221,220,0,422,421,437,438,35,213,214,222,221,0,424,423,439,440,35,214,215,223,222,0,426,425,441,442,35,215,209,217,223,0,428,427,443,444,35,217,216,224,225,0,430,429,445,446,35,216,218,226,224,0,432,431,447,448,35,218,219,227,226,0,434,433,449,450,35,219,220,228,227,0,436,435,451,452,35,220,221,229,228,0,438,437,453,454,35,221,222,230,229,0,440,439,455,456,35,222,223,231,230,0,442,441,457,458,35,223,217,225,231,0,444,443,459,460,35,225,224,232,233,0,446,445,461,462,35,224,226,234,232,0,448,447,463,464,35,226,227,235,234,0,450,449,465,466,35,227,228,236,235,0,452,451,467,468,35,228,229,237,236,0,454,453,469,470,35,229,230,238,237,0,456,455,471,472,35,230,231,239,238,0,458,457,473,474,35,231,225,233,239,0,460,459,475,476,35,233,232,240,241,0,462,461,477,478,35,232,234,242,240,0,464,463,479,480,35,234,235,243,242,0,466,465,481,482,35,235,236,244,243,0,468,467,483,484,35,236,237,245,244,0,470,469,485,486,35,237,238,246,245,0,472,471,487,488,35,238,239,247,246,0,474,473,489,490,35,239,233,241,247,0,476,475,491,492,35,241,240,248,249,0,478,477,493,494,35,240,242,250,248,0,480,479,495,496,35,242,243,251,250,0,482,481,497,498,35,243,244,252,251,0,484,483,499,500,35,244,245,253,252,0,486,485,501,502,35,245,246,254,253,0,488,487,503,504,35,246,247,255,254,0,490,489,505,506,35,247,241,249,255,0,492,491,507,508,35,249,248,256,257,0,494,493,509,510,35,248,250,258,256,0,496,495,511,512,35,250,251,259,258,0,498,497,513,514,35,251,252,260,259,0,500,499,515,516,35,252,253,261,260,0,502,501,517,518,35,253,254,262,261,0,504,503,519,520,35,254,255,263,262,0,506,505,521,522,35,255,249,257,263,0,508,507,523,524,35,257,256,264,265,0,510,509,525,526,35,256,258,266,264,0,512,511,527,528,35,258,259,267,266,0,514,513,529,530,35,259,260,268,267,0,516,515,531,532,35,260,261,269,268,0,518,517,533,534,35,261,262,270,269,0,520,519,535,536,35,262,263,271,270,0,522,521,537,538,35,263,257,265,271,0,524,523,539,540,35,265,264,272,273,0,526,525,541,541,35,264,266,274,272,0,528,527,542,542,35,266,267,275,274,0,530,529,543,544,35,267,268,276,275,0,532,531,545,546,35,268,269,277,276,0,534,533,547,548,35,269,270,278,277,0,536,535,549,550,35,270,271,279,278,0,538,537,551,552,35,271,265,273,279,0,540,539,553,553,35,273,272,280,281,0,541,541,554,554,35,272,274,282,280,0,542,542,555,556,35,274,275,283,282,0,544,543,557,558,35,275,276,284,283,0,546,545,559,559,35,276,277,285,284,0,548,547,560,561,35,277,278,286,285,0,550,549,562,562,35,278,279,287,286,0,552,551,563,564,35,279,273,281,287,0,553,553,565,566,35,281,280,288,289,0,554,554,567,568,35,280,282,290,288,0,556,555,569,570,35,282,283,291,290,0,558,557,571,572,35,283,284,292,291,0,559,559,573,574,35,284,285,293,292,0,561,560,575,576,35,285,286,294,293,0,562,562,577,578,35,286,287,295,294,0,564,563,579,580,35,287,281,289,295,0,566,565,581,582,35,289,288,296,297,0,568,567,583,584,35,288,290,298,296,0,570,569,585,586,35,290,291,299,298,0,572,571,587,588,35,291,292,300,299,0,574,573,589,590,35,292,293,301,300,0,576,575,591,592,35,293,294,302,301,0,578,577,593,594,35,294,295,303,302,0,580,579,595,596,35,295,289,297,303,0,582,581,597,598,35,297,296,304,305,0,584,583,599,600,35,296,298,306,304,0,586,585,601,602,35,298,299,307,306,0,588,587,603,604,35,299,300,308,307,0,590,589,605,606,35,300,301,309,308,0,592,591,607,608,35,301,302,310,309,0,594,593,609,610,35,302,303,311,310,0,596,595,611,612,35,303,297,305,311,0,598,597,613,614,35,305,304,312,313,0,600,599,615,616,35,304,306,314,312,0,602,601,617,618,35,306,307,315,314,0,604,603,619,620,35,307,308,316,315,0,606,605,621,622,35,308,309,317,316,0,608,607,623,624,35,309,310,318,317,0,610,609,625,626,35,310,311,319,318,0,612,611,627,628,35,311,305,313,319,0,614,613,629,630,35,313,312,320,321,0,616,615,631,632,35,312,314,322,320,0,618,617,633,634,35,314,315,323,322,0,620,619,635,636,35,315,316,324,323,0,622,621,637,638,35,316,317,325,324,0,624,623,639,640,35,317,318,326,325,0,626,625,641,642,35,318,319,327,326,0,628,627,643,644,35,319,313,321,327,0,630,629,645,646,35,321,320,328,329,0,632,631,647,648,35,320,322,330,328,0,634,633,649,650,35,322,323,331,330,0,636,635,651,652,35,323,324,332,331,0,638,637,653,654,35,324,325,333,332,0,640,639,655,656,35,325,326,334,333,0,642,641,657,658,35,326,327,335,334,0,644,643,659,660,35,327,321,329,335,0,646,645,661,662,35,329,328,336,337,0,648,647,663,664,35,328,330,338,336,0,650,649,665,666,35,330,331,339,338,0,652,651,667,668,35,331,332,340,339,0,654,653,669,670,35,332,333,341,340,0,656,655,671,672,35,333,334,342,341,0,658,657,673,674,35,334,335,343,342,0,660,659,675,676,35,335,329,337,343,0,662,661,677,678,35,337,336,344,345,0,664,663,679,680,35,336,338,346,344,0,666,665,681,682,35,338,339,347,346,0,668,667,683,684,35,339,340,348,347,0,670,669,685,686,35,340,341,349,348,0,672,671,687,688,35,341,342,350,349,0,674,673,689,690,35,342,343,351,350,0,676,675,691,692,35,343,337,345,351,0,678,677,693,694,35,345,344,352,353,0,680,679,695,696,35,344,346,354,352,0,682,681,697,698,35,346,347,355,354,0,684,683,699,700,35,347,348,356,355,0,686,685,701,702,35,348,349,357,356,0,688,687,703,704,35,349,350,358,357,0,690,689,705,706,35,350,351,359,358,0,692,691,707,708,35,351,345,353,359,0,694,693,709,710,35,353,352,360,361,0,696,695,711,712,35,352,354,362,360,0,698,697,713,714,35,354,355,363,362,0,700,699,715,716,35,355,356,364,363,0,702,701,717,718,35,356,357,365,364,0,704,703,719,720,35,357,358,366,365,0,706,705,721,722,35,358,359,367,366,0,708,707,723,724,35,359,353,361,367,0,710,709,725,726,35,361,360,368,369,0,712,711,727,728,35,360,362,370,368,0,714,713,729,730,35,362,363,371,370,0,716,715,731,732,35,363,364,372,371,0,718,717,733,734,35,364,365,373,372,0,720,719,735,736,35,365,366,374,373,0,722,721,737,738,35,366,367,375,374,0,724,723,739,740,35,367,361,369,375,0,726,725,741,742,35,369,368,376,377,0,728,727,743,744,35,368,370,378,376,0,730,729,745,746,35,370,371,379,378,0,732,731,747,748,35,371,372,380,379,0,734,733,749,750,35,372,373,381,380,0,736,735,751,752,35,373,374,382,381,0,738,737,753,754,35,374,375,383,382,0,740,739,755,756,35,375,369,377,383,0,742,741,757,758,35,377,376,384,385,0,744,743,759,760,35,376,378,386,384,0,746,745,761,762,35,378,379,387,386,0,748,747,763,764,35,379,380,388,387,0,750,749,765,766,35,380,381,389,388,0,752,751,767,768,35,381,382,390,389,0,754,753,769,770,35,382,383,391,390,0,756,755,771,772,35,383,377,385,391,0,758,757,773,774,35,385,384,392,393,0,760,759,775,776,35,384,386,394,392,0,762,761,777,778,35,386,387,395,394,0,764,763,779,780,35,387,388,396,395,0,766,765,781,782,35,388,389,397,396,0,768,767,783,784,35,389,390,398,397,0,770,769,785,786,35,390,391,399,398,0,772,771,787,788,35,391,385,393,399,0,774,773,789,790,35,393,392,400,401,0,776,775,791,792,35,392,394,402,400,0,778,777,793,794,35,394,395,403,402,0,780,779,795,796,35,395,396,404,403,0,782,781,797,798,35,396,397,405,404,0,784,783,799,800,35,397,398,406,405,0,786,785,801,802,35,398,399,407,406,0,788,787,803,804,35,399,393,401,407,0,790,789,805,806,35,401,400,408,409,0,792,791,807,808,35,400,402,410,408,0,794,793,809,810,35,402,403,411,410,0,796,795,811,812,35,403,404,412,411,0,798,797,813,814,35,404,405,413,412,0,800,799,815,816,35,405,406,414,413,0,802,801,817,818,35,406,407,415,414,0,804,803,819,820,35,407,401,409,415,0,806,805,821,822,35,409,408,416,417,0,808,807,823,824,35,408,410,418,416,0,810,809,825,826,35,410,411,419,418,0,812,811,827,828,35,411,412,420,419,0,814,813,829,830,35,412,413,421,420,0,816,815,831,832,35,413,414,422,421,0,818,817,833,834,35,414,415,423,422,0,820,819,835,836,35,415,409,417,423,0,822,821,837,838,35,417,416,424,425,0,824,823,839,840,35,416,418,426,424,0,826,825,841,842,35,418,419,427,426,0,828,827,843,844,35,419,420,428,427,0,830,829,845,846,35,420,421,429,428,0,832,831,847,848,35,421,422,430,429,0,834,833,849,850,35,422,423,431,430,0,836,835,851,852,35,423,417,425,431,0,838,837,853,854,35,425,424,432,433,0,840,839,855,856,35,424,426,434,432,0,842,841,857,858,35,426,427,435,434,0,844,843,859,860,35,427,428,436,435,0,846,845,861,862,35,428,429,437,436,0,848,847,863,864,35,429,430,438,437,0,850,849,865,866,35,430,431,439,438,0,852,851,867,868,35,431,425,433,439,0,854,853,869,870,35,433,432,440,441,0,856,855,871,872,35,432,434,442,440,0,858,857,873,874,35,434,435,443,442,0,860,859,875,876,35,435,436,444,443,0,862,861,877,878,35,436,437,445,444,0,864,863,879,880,35,437,438,446,445,0,866,865,881,882,35,438,439,447,446,0,868,867,883,884,35,439,433,441,447,0,870,869,885,886,35,441,440,448,449,0,872,871,887,888,35,440,442,450,448,0,874,873,889,890,35,442,443,451,450,0,876,875,891,892,35,443,444,452,451,0,878,877,893,894,35,444,445,453,452,0,880,879,895,896,35,445,446,454,453,0,882,881,897,898,35,446,447,455,454,0,884,883,899,900,35,447,441,449,455,0,886,885,901,902,35,449,448,456,457,0,888,887,903,904,35,448,450,458,456,0,890,889,905,906,35,450,451,459,458,0,892,891,907,908,35,451,452,460,459,0,894,893,909,910,35,452,453,461,460,0,896,895,911,912,35,453,454,462,461,0,898,897,913,914,35,454,455,463,462,0,900,899,915,916,35,455,449,457,463,0,902,901,917,918,35,457,456,464,465,0,904,903,919,920,35,456,458,466,464,0,906,905,921,922,35,458,459,467,466,0,908,907,923,924,35,459,460,468,467,0,910,909,925,926,35,460,461,469,468,0,912,911,927,928,35,461,462,470,469,0,914,913,929,930,35,462,463,471,470,0,916,915,931,932,35,463,457,465,471,0,918,917,933,934,35,465,464,472,473,0,920,919,935,936,35,464,466,474,472,0,922,921,937,938,35,466,467,475,474,0,924,923,939,940,35,467,468,476,475,0,926,925,941,942,35,468,469,477,476,0,928,927,943,944,35,469,470,478,477,0,930,929,945,946,35,470,471,479,478,0,932,931,947,948,35,471,465,473,479,0,934,933,949,950,35,473,472,480,481,0,936,935,951,952,35,472,474,482,480,0,938,937,953,954,35,474,475,483,482,0,940,939,955,956,35,475,476,484,483,0,942,941,957,958,35,476,477,485,484,0,944,943,959,960,35,477,478,486,485,0,946,945,961,962,35,478,479,487,486,0,948,947,963,964,35,479,473,481,487,0,950,949,965,966,35,481,480,488,489,0,952,951,967,968,35,480,482,490,488,0,954,953,969,970,35,482,483,491,490,0,956,955,971,972,35,483,484,492,491,0,958,957,973,974,35,484,485,493,492,0,960,959,975,976,35,485,486,494,493,0,962,961,977,978,35,486,487,495,494,0,964,963,979,980,35,487,481,489,495,0,966,965,981,982,35,489,488,496,497,0,968,967,983,984,35,488,490,498,496,0,970,969,985,986,35,490,491,499,498,0,972,971,987,988,35,491,492,500,499,0,974,973,989,990,35,492,493,501,500,0,976,975,991,992,35,493,494,502,501,0,978,977,993,994,35,494,495,503,502,0,980,979,995,996,35,495,489,497,503,0,982,981,997,998,35,497,496,504,505,0,984,983,999,1000,35,496,498,506,504,0,986,985,1001,1002,35,498,499,507,506,0,988,987,1003,1004,35,499,500,508,507,0,990,989,1005,1006,35,500,501,509,508,0,992,991,1007,1008,35,501,502,510,509,0,994,993,1009,1010,35,502,503,511,510,0,996,995,1011,1012,35,503,497,505,511,0,998,997,1013,1014,35,505,504,512,513,0,1000,999,1015,1016,35,504,506,514,512,0,1002,1001,1017,1018,35,506,507,515,514,0,1004,1003,1019,1020,35,507,508,516,515,0,1006,1005,1021,1022,35,508,509,517,516,0,1008,1007,1023,1024,35,509,510,518,517,0,1010,1009,1025,1026,35,510,511,519,518,0,1012,1011,1027,1028,35,511,505,513,519,0,1014,1013,1029,1030,35,513,512,520,521,0,1016,1015,1031,1032,35,512,514,522,520,0,1018,1017,1033,1034,35,514,515,523,522,0,1020,1019,1035,1036,35,515,516,524,523,0,1022,1021,1037,1038,35,516,517,525,524,0,1024,1023,1039,1040,35,517,518,526,525,0,1026,1025,1041,1042,35,518,519,527,526,0,1028,1027,1043,1044,35,519,513,521,527,0,1030,1029,1045,1046,35,521,520,528,529,0,1032,1031,1047,1048,35,520,522,530,528,0,1034,1033,1049,1050,35,522,523,531,530,0,1036,1035,1051,1052,35,523,524,532,531,0,1038,1037,1053,1054,35,524,525,533,532,0,1040,1039,1055,1056,35,525,526,534,533,0,1042,1041,1057,1058,35,526,527,535,534,0,1044,1043,1059,1060,35,527,521,529,535,0,1046,1045,1061,1062,35,529,528,536,537,0,1048,1047,1063,1064,35,528,530,538,536,0,1050,1049,1065,1066,35,530,531,539,538,0,1052,1051,1067,1068,35,531,532,540,539,0,1054,1053,1069,1070,35,532,533,541,540,0,1056,1055,1071,1072,35,533,534,542,541,0,1058,1057,1073,1074,35,534,535,543,542,0,1060,1059,1075,1076,35,535,529,537,543,0,1062,1061,1077,1078,35,537,536,544,545,0,1064,1063,1079,1080,35,536,538,546,544,0,1066,1065,1081,1082,35,538,539,547,546,0,1068,1067,1083,1084,35,539,540,548,547,0,1070,1069,1085,1086,35,540,541,549,548,0,1072,1071,1087,1088,35,541,542,550,549,0,1074,1073,1089,1090,35,542,543,551,550,0,1076,1075,1091,1092,35,543,537,545,551,0,1078,1077,1093,1094,35,545,544,552,553,0,1080,1079,1095,1096,35,544,546,554,552,0,1082,1081,1097,1098,35,546,547,555,554,0,1084,1083,1099,1100,35,547,548,556,555,0,1086,1085,1101,1102,35,548,549,557,556,0,1088,1087,1103,1104,35,549,550,558,557,0,1090,1089,1105,1106,35,550,551,559,558,0,1092,1091,1107,1108,35,551,545,553,559,0,1094,1093,1109,1110,35,553,552,560,561,0,1096,1095,1111,1112,35,552,554,562,560,0,1098,1097,1113,1114,35,554,555,563,562,0,1100,1099,1115,1116,35,555,556,564,563,0,1102,1101,1117,1118,35,556,557,565,564,0,1104,1103,1119,1120,35,557,558,566,565,0,1106,1105,1121,1122,35,558,559,567,566,0,1108,1107,1123,1124,35,559,553,561,567,0,1110,1109,1125,1126,35,561,560,568,569,0,1112,1111,1127,1128,35,560,562,570,568,0,1114,1113,1129,1130,35,562,563,571,570,0,1116,1115,1131,1132,35,563,564,572,571,0,1118,1117,1133,1134,35,564,565,573,572,0,1120,1119,1135,1136,35,565,566,574,573,0,1122,1121,1137,1138,35,566,567,575,574,0,1124,1123,1139,1140,35,567,561,569,575,0,1126,1125,1141,1142,35,569,568,576,577,0,1128,1127,1143,1144,35,568,570,578,576,0,1130,1129,1145,1146,35,570,571,579,578,0,1132,1131,1147,1148,35,571,572,580,579,0,1134,1133,1149,1150,35,572,573,581,580,0,1136,1135,1151,1152,35,573,574,582,581,0,1138,1137,1153,1154,35,574,575,583,582,0,1140,1139,1155,1156,35,575,569,577,583,0,1142,1141,1157,1158,35,577,576,584,585,0,1144,1143,1159,1160,35,576,578,586,584,0,1146,1145,1161,1162,35,578,579,587,586,0,1148,1147,1163,1164,35,579,580,588,587,0,1150,1149,1165,1166,35,580,581,589,588,0,1152,1151,1167,1168,35,581,582,590,589,0,1154,1153,1169,1170,35,582,583,591,590,0,1156,1155,1171,1172,35,583,577,585,591,0,1158,1157,1173,1174,35,585,584,592,593,0,1160,1159,1175,1176,35,584,586,594,592,0,1162,1161,1177,1178,35,586,587,595,594,0,1164,1163,1179,1180,35,587,588,596,595,0,1166,1165,1181,1182,35,588,589,597,596,0,1168,1167,1183,1184,35,589,590,598,597,0,1170,1169,1185,1186,35,590,591,599,598,0,1172,1171,1187,1188,35,591,585,593,599,0,1174,1173,1189,1190,35,593,592,600,601,0,1176,1175,1191,1192,35,592,594,602,600,0,1178,1177,1193,1194,35,594,595,603,602,0,1180,1179,1195,1196,35,595,596,604,603,0,1182,1181,1197,1198,35,596,597,605,604,0,1184,1183,1199,1200,35,597,598,606,605,0,1186,1185,1201,1202,35,598,599,607,606,0,1188,1187,1203,1204,35,599,593,601,607,0,1190,1189,1205,1206,35,601,600,608,609,0,1192,1191,1207,1208,35,600,602,610,608,0,1194,1193,1209,1210,35,602,603,611,610,0,1196,1195,1211,1212,35,603,604,612,611,0,1198,1197,1213,1214,35,604,605,613,612,0,1200,1199,1215,1216,35,605,606,614,613,0,1202,1201,1217,1218,35,606,607,615,614,0,1204,1203,1219,1220,35,607,601,609,615,0,1206,1205,1221,1222,35,609,608,616,617,0,1208,1207,1223,1224,35,608,610,618,616,0,1210,1209,1225,1226,35,610,611,619,618,0,1212,1211,1227,1228,35,611,612,620,619,0,1214,1213,1229,1230,35,612,613,621,620,0,1216,1215,1231,1232,35,613,614,622,621,0,1218,1217,1233,1234,35,614,615,623,622,0,1220,1219,1235,1236,35,615,609,617,623,0,1222,1221,1237,1238,35,617,616,624,625,0,1224,1223,1239,1240,35,616,618,626,624,0,1226,1225,1241,1242,35,618,619,627,626,0,1228,1227,1243,1244,35,619,620,628,627,0,1230,1229,1245,1246,35,620,621,629,628,0,1232,1231,1247,1248,35,621,622,630,629,0,1234,1233,1249,1250,35,622,623,631,630,0,1236,1235,1251,1252,35,623,617,625,631,0,1238,1237,1253,1254,35,625,624,632,633,0,1240,1239,1255,1256,35,624,626,634,632,0,1242,1241,1257,1258,35,626,627,635,634,0,1244,1243,1259,1260,35,627,628,636,635,0,1246,1245,1261,1262,35,628,629,637,636,0,1248,1247,1263,1264,35,629,630,638,637,0,1250,1249,1265,1266,35,630,631,639,638,0,1252,1251,1267,1268,35,631,625,633,639,0,1254,1253,1269,1270,35,633,632,640,641,0,1256,1255,1271,1272,35,632,634,642,640,0,1258,1257,1273,1274,35,634,635,643,642,0,1260,1259,1275,1276,35,635,636,644,643,0,1262,1261,1277,1278,35,636,637,645,644,0,1264,1263,1279,1280,35,637,638,646,645,0,1266,1265,1281,1282,35,638,639,647,646,0,1268,1267,1283,1284,35,639,633,641,647,0,1270,1269,1285,1286,35,641,640,648,649,0,1272,1271,1287,1288,35,640,642,650,648,0,1274,1273,1289,1290,35,642,643,651,650,0,1276,1275,1291,1292,35,643,644,652,651,0,1278,1277,1293,1294,35,644,645,653,652,0,1280,1279,1295,1296,35,645,646,654,653,0,1282,1281,1297,1298,35,646,647,655,654,0,1284,1283,1299,1300,35,647,641,649,655,0,1286,1285,1301,1302,35,649,648,656,657,0,1288,1287,1303,1304,35,648,650,658,656,0,1290,1289,1305,1306,35,650,651,659,658,0,1292,1291,1307,1308,35,651,652,660,659,0,1294,1293,1309,1310,35,652,653,661,660,0,1296,1295,1311,1312,35,653,654,662,661,0,1298,1297,1313,1314,35,654,655,663,662,0,1300,1299,1315,1316,35,655,649,657,663,0,1302,1301,1317,1318,35,657,656,664,665,0,1304,1303,1319,1320,35,656,658,666,664,0,1306,1305,1321,1322,35,658,659,667,666,0,1308,1307,1323,1324,35,659,660,668,667,0,1310,1309,1325,1326,35,660,661,669,668,0,1312,1311,1327,1328,35,661,662,670,669,0,1314,1313,1329,1330,35,662,663,671,670,0,1316,1315,1331,1332,35,663,657,665,671,0,1318,1317,1333,1334,35,665,664,672,673,0,1320,1319,1335,1336,35,664,666,674,672,0,1322,1321,1337,1338,35,666,667,675,674,0,1324,1323,1339,1340,35,667,668,676,675,0,1326,1325,1341,1342,35,668,669,677,676,0,1328,1327,1343,1344,35,669,670,678,677,0,1330,1329,1345,1346,35,670,671,679,678,0,1332,1331,1347,1348,35,671,665,673,679,0,1334,1333,1349,1350,35,673,672,680,681,0,1336,1335,1351,1352,35,672,674,682,680,0,1338,1337,1353,1354,35,674,675,683,682,0,1340,1339,1355,1356,35,675,676,684,683,0,1342,1341,1357,1358,35,676,677,685,684,0,1344,1343,1359,1360,35,677,678,686,685,0,1346,1345,1361,1362,35,678,679,687,686,0,1348,1347,1363,1364,35,679,673,681,687,0,1350,1349,1365,1366,35,681,680,688,689,0,1352,1351,1367,1368,35,680,682,690,688,0,1354,1353,1369,1370,35,682,683,691,690,0,1356,1355,1371,1372,35,683,684,692,691,0,1358,1357,1373,1374,35,684,685,693,692,0,1360,1359,1375,1376,35,685,686,694,693,0,1362,1361,1377,1378,35,686,687,695,694,0,1364,1363,1379,1380,35,687,681,689,695,0,1366,1365,1381,1382,35,689,688,696,697,0,1368,1367,1383,1384,35,688,690,698,696,0,1370,1369,1385,1386,35,690,691,699,698,0,1372,1371,1387,1388,35,691,692,700,699,0,1374,1373,1389,1390,35,692,693,701,700,0,1376,1375,1391,1392,35,693,694,702,701,0,1378,1377,1393,1394,35,694,695,703,702,0,1380,1379,1395,1396,35,695,689,697,703,0,1382,1381,1397,1398,35,697,696,704,705,0,1384,1383,1399,1400,35,696,698,706,704,0,1386,1385,1401,1402,35,698,699,707,706,0,1388,1387,1403,1404,35,699,700,708,707,0,1390,1389,1405,1406,35,700,701,709,708,0,1392,1391,1407,1408,35,701,702,710,709,0,1394,1393,1409,1410,35,702,703,711,710,0,1396,1395,1411,1412,35,703,697,705,711,0,1398,1397,1413,1414,35,705,704,712,713,0,1400,1399,1415,1416,35,704,706,714,712,0,1402,1401,1417,1418,35,706,707,715,714,0,1404,1403,1419,1420,35,707,708,716,715,0,1406,1405,1421,1422,35,708,709,717,716,0,1408,1407,1423,1424,35,709,710,718,717,0,1410,1409,1425,1426,35,710,711,719,718,0,1412,1411,1427,1428,35,711,705,713,719,0,1414,1413,1429,1430,35,713,712,720,721,0,1416,1415,1431,1432,35,712,714,722,720,0,1418,1417,1433,1434,35,714,715,723,722,0,1420,1419,1435,1436,35,715,716,724,723,0,1422,1421,1437,1438,35,716,717,725,724,0,1424,1423,1439,1440,35,717,718,726,725,0,1426,1425,1441,1442,35,718,719,727,726,0,1428,1427,1443,1444,35,719,713,721,727,0,1430,1429,1445,1446,35,721,720,728,729,0,1432,1431,1447,1448,35,720,722,730,728,0,1434,1433,1449,1450,35,722,723,731,730,0,1436,1435,1451,1452,35,723,724,732,731,0,1438,1437,1453,1454,35,724,725,733,732,0,1440,1439,1455,1456,35,725,726,734,733,0,1442,1441,1457,1458,35,726,727,735,734,0,1444,1443,1459,1460,35,727,721,729,735,0,1446,1445,1461,1462,35,729,728,736,737,0,1448,1447,1463,1464,35,728,730,738,736,0,1450,1449,1465,1466,35,730,731,739,738,0,1452,1451,1467,1468,35,731,732,740,739,0,1454,1453,1469,1470,35,732,733,741,740,0,1456,1455,1471,1471,35,733,734,742,741,0,1458,1457,1472,1473,35,734,735,743,742,0,1460,1459,1474,1475,35,735,729,737,743,0,1462,1461,1476,1477,35,737,736,744,745,0,1464,1463,1478,1479,35,736,738,746,744,0,1466,1465,1480,1481,35,738,739,747,746,0,1468,1467,1482,1483,35,739,740,748,747,0,1470,1469,1484,1485,35,740,741,749,748,0,1471,1471,1486,1487,35,741,742,750,749,0,1473,1472,1488,1489,35,742,743,751,750,0,1475,1474,1490,1491,35,743,737,745,751,0,1477,1476,1492,1493,35,745,744,752,753,0,1479,1478,1494,1495,35,744,746,754,752,0,1481,1480,1496,1497,35,746,747,755,754,0,1483,1482,1498,1499,35,747,748,756,755,0,1485,1484,1500,1501,35,748,749,757,756,0,1487,1486,1502,1503,35,749,750,758,757,0,1489,1488,1504,1505,35,750,751,759,758,0,1491,1490,1506,1507,35,751,745,753,759,0,1493,1492,1508,1509,35,753,752,760,761,0,1495,1494,1510,1511,35,752,754,762,760,0,1497,1496,1512,1513,35,754,755,763,762,0,1499,1498,1514,1515,35,755,756,764,763,0,1501,1500,1516,1517,35,756,757,765,764,0,1503,1502,1518,1519,35,757,758,766,765,0,1505,1504,1520,1521,35,758,759,767,766,0,1507,1506,1522,1523,35,759,753,761,767,0,1509,1508,1524,1525,35,761,760,768,769,0,1511,1510,1526,1527,35,760,762,770,768,0,1513,1512,1528,1529,35,762,763,771,770,0,1515,1514,1530,1531,35,763,764,772,771,0,1517,1516,1532,1533,35,764,765,773,772,0,1519,1518,1534,1535,35,765,766,774,773,0,1521,1520,1536,1537,35,766,767,775,774,0,1523,1522,1538,1539,35,767,761,769,775,0,1525,1524,1540,1541,35,769,768,776,777,0,1527,1526,1542,1543,35,768,770,778,776,0,1529,1528,1544,1545,35,770,771,779,778,0,1531,1530,1546,1547,35,771,772,780,779,0,1533,1532,1548,1549,35,772,773,781,780,0,1535,1534,1550,1551,35,773,774,782,781,0,1537,1536,1552,1553,35,774,775,783,782,0,1539,1538,1554,1555,35,775,769,777,783,0,1541,1540,1556,1557,35,777,776,784,785,0,1543,1542,1558,1559,35,776,778,786,784,0,1545,1544,1560,1561,35,778,779,787,786,0,1547,1546,1562,1563,35,779,780,788,787,0,1549,1548,1564,1565,35,780,781,789,788,0,1551,1550,1566,1567,35,781,782,790,789,0,1553,1552,1568,1569,35,782,783,791,790,0,1555,1554,1570,1571,35,783,777,785,791,0,1557,1556,1572,1573,35,785,784,792,793,0,1559,1558,1574,1575,35,784,786,794,792,0,1561,1560,1576,1577,35,786,787,795,794,0,1563,1562,1578,1579,35,787,788,796,795,0,1565,1564,1580,1581,35,788,789,797,796,0,1567,1566,1582,1583,35,789,790,798,797,0,1569,1568,1584,1585,35,790,791,799,798,0,1571,1570,1586,1587,35,791,785,793,799,0,1573,1572,1588,1589,35,793,792,800,801,0,1575,1574,1590,1591,35,792,794,802,800,0,1577,1576,1592,1593,35,794,795,803,802,0,1579,1578,1594,1595,35,795,796,804,803,0,1581,1580,1596,1597,35,796,797,805,804,0,1583,1582,1598,1599,35,797,798,806,805,0,1585,1584,1600,1601,35,798,799,807,806,0,1587,1586,1602,1603,35,799,793,801,807,0,1589,1588,1604,1605,35,801,800,808,809,0,1591,1590,1606,1607,35,800,802,810,808,0,1593,1592,1608,1609,35,802,803,811,810,0,1595,1594,1610,1611,35,803,804,812,811,0,1597,1596,1612,1613,35,804,805,813,812,0,1599,1598,1614,1615,35,805,806,814,813,0,1601,1600,1616,1617,35,806,807,815,814,0,1603,1602,1618,1619,35,807,801,809,815,0,1605,1604,1620,1621,35,809,808,816,817,0,1607,1606,1622,1623,35,808,810,818,816,0,1609,1608,1624,1625,35,810,811,819,818,0,1611,1610,1626,1627,35,811,812,820,819,0,1613,1612,1628,1629,35,812,813,821,820,0,1615,1614,1630,1631,35,813,814,822,821,0,1617,1616,1632,1633,35,814,815,823,822,0,1619,1618,1634,1635,35,815,809,817,823,0,1621,1620,1636,1637,35,817,816,824,825,0,1623,1622,1638,1639,35,816,818,826,824,0,1625,1624,1640,1641,35,818,819,827,826,0,1627,1626,1642,1643,35,819,820,828,827,0,1629,1628,1644,1645,35,820,821,829,828,0,1631,1630,1646,1647,35,821,822,830,829,0,1633,1632,1648,1649,35,822,823,831,830,0,1635,1634,1650,1651,35,823,817,825,831,0,1637,1636,1652,1653,35,825,824,832,833,0,1639,1638,1654,1655,35,824,826,834,832,0,1641,1640,1656,1657,35,826,827,835,834,0,1643,1642,1658,1659,35,827,828,836,835,0,1645,1644,1660,1661,35,828,829,837,836,0,1647,1646,1662,1663,35,829,830,838,837,0,1649,1648,1664,1665,35,830,831,839,838,0,1651,1650,1666,1667,35,831,825,833,839,0,1653,1652,1668,1669,35,833,832,840,841,0,1655,1654,1670,1671,35,832,834,842,840,0,1657,1656,1672,1673,35,834,835,843,842,0,1659,1658,1674,1675,35,835,836,844,843,0,1661,1660,1676,1677,35,836,837,845,844,0,1663,1662,1678,1679,35,837,838,846,845,0,1665,1664,1680,1681,35,838,839,847,846,0,1667,1666,1682,1683,35,839,833,841,847,0,1669,1668,1684,1685,35,841,840,848,849,0,1671,1670,1686,1687,35,840,842,850,848,0,1673,1672,1688,1689,35,842,843,851,850,0,1675,1674,1690,1691,35,843,844,852,851,0,1677,1676,1692,1693,35,844,845,853,852,0,1679,1678,1694,1695,35,845,846,854,853,0,1681,1680,1696,1697,35,846,847,855,854,0,1683,1682,1698,1699,35,847,841,849,855,0,1685,1684,1700,1701,35,849,848,856,857,0,1687,1686,1702,1703,35,848,850,858,856,0,1689,1688,1704,1705,35,850,851,859,858,0,1691,1690,1706,1707,35,851,852,860,859,0,1693,1692,1708,1709,35,852,853,861,860,0,1695,1694,1710,1711,35,853,854,862,861,0,1697,1696,1712,1713,35,854,855,863,862,0,1699,1698,1714,1715,35,855,849,857,863,0,1701,1700,1716,1717,35,857,856,864,865,0,1703,1702,1718,1719,35,856,858,866,864,0,1705,1704,1720,1721,35,858,859,867,866,0,1707,1706,1722,1723,35,859,860,868,867,0,1709,1708,1724,1725,35,860,861,869,868,0,1711,1710,1726,1727,35,861,862,870,869,0,1713,1712,1728,1729,35,862,863,871,870,0,1715,1714,1730,1731,35,863,857,865,871,0,1717,1716,1732,1733,35,865,864,872,873,0,1719,1718,1734,1735,35,864,866,874,872,0,1721,1720,1736,1737,35,866,867,875,874,0,1723,1722,1738,1739,35,867,868,876,875,0,1725,1724,1740,1741,35,868,869,877,876,0,1727,1726,1742,1743,35,869,870,878,877,0,1729,1728,1744,1745,35,870,871,879,878,0,1731,1730,1746,1747,35,871,865,873,879,0,1733,1732,1748,1749,35,873,872,880,881,0,1735,1734,1750,1751,35,872,874,882,880,0,1737,1736,1752,1753,35,874,875,883,882,0,1739,1738,1754,1755,35,875,876,884,883,0,1741,1740,1756,1757,35,876,877,885,884,0,1743,1742,1758,1759,35,877,878,886,885,0,1745,1744,1760,1761,35,878,879,887,886,0,1747,1746,1762,1763,35,879,873,881,887,0,1749,1748,1764,1765,35,881,880,888,889,0,1751,1750,1766,1767,35,880,882,890,888,0,1753,1752,1768,1769,35,882,883,891,890,0,1755,1754,1770,1771,35,883,884,892,891,0,1757,1756,1772,1773,35,884,885,893,892,0,1759,1758,1774,1775,35,885,886,894,893,0,1761,1760,1776,1777,35,886,887,895,894,0,1763,1762,1778,1779,35,887,881,889,895,0,1765,1764,1780,1781,35,889,888,896,897,0,1767,1766,1782,1783,35,888,890,898,896,0,1769,1768,1784,1785,35,890,891,899,898,0,1771,1770,1786,1787,35,891,892,900,899,0,1773,1772,1788,1789,35,892,893,901,900,0,1775,1774,1790,1791,35,893,894,902,901,0,1777,1776,1792,1793,35,894,895,903,902,0,1779,1778,1794,1795,35,895,889,897,903,0,1781,1780,1796,1797,35,897,896,904,905,0,1783,1782,1798,1799,35,896,898,906,904,0,1785,1784,1800,1801,35,898,899,907,906,0,1787,1786,1802,1803,35,899,900,908,907,0,1789,1788,1804,1805,35,900,901,909,908,0,1791,1790,1806,1807,35,901,902,910,909,0,1793,1792,1808,1809,35,902,903,911,910,0,1795,1794,1810,1811,35,903,897,905,911,0,1797,1796,1812,1813,35,905,904,912,913,0,1799,1798,1814,1815,35,904,906,914,912,0,1801,1800,1816,1817,35,906,907,915,914,0,1803,1802,1818,1819,35,907,908,916,915,0,1805,1804,1820,1821,35,908,909,917,916,0,1807,1806,1822,1823,35,909,910,918,917,0,1809,1808,1824,1825,35,910,911,919,918,0,1811,1810,1826,1827,35,911,905,913,919,0,1813,1812,1828,1829,35,913,912,920,921,0,1815,1814,1830,1831,35,912,914,922,920,0,1817,1816,1832,1833,35,914,915,923,922,0,1819,1818,1834,1835,35,915,916,924,923,0,1821,1820,1836,1837,35,916,917,925,924,0,1823,1822,1838,1839,35,917,918,926,925,0,1825,1824,1840,1841,35,918,919,927,926,0,1827,1826,1842,1843,35,919,913,921,927,0,1829,1828,1844,1845,35,921,920,928,929,0,1831,1830,1846,1847,35,920,922,930,928,0,1833,1832,1848,1849,35,922,923,931,930,0,1835,1834,1850,1851,35,923,924,932,931,0,1837,1836,1852,1853,35,924,925,933,932,0,1839,1838,1854,1855,35,925,926,934,933,0,1841,1840,1856,1857,35,926,927,935,934,0,1843,1842,1858,1859,35,927,921,929,935,0,1845,1844,1860,1861,35,929,928,936,937,0,1847,1846,1862,1863,35,928,930,938,936,0,1849,1848,1864,1865,35,930,931,939,938,0,1851,1850,1866,1867,35,931,932,940,939,0,1853,1852,1868,1869,35,932,933,941,940,0,1855,1854,1870,1871,35,933,934,942,941,0,1857,1856,1872,1873,35,934,935,943,942,0,1859,1858,1874,1875,35,935,929,937,943,0,1861,1860,1876,1877,35,937,936,944,945,0,1863,1862,1878,1879,35,936,938,946,944,0,1865,1864,1880,1881,35,938,939,947,946,0,1867,1866,1882,1883,35,939,940,948,947,0,1869,1868,1884,1885,35,940,941,949,948,0,1871,1870,1886,1887,35,941,942,950,949,0,1873,1872,1888,1889,35,942,943,951,950,0,1875,1874,1890,1891,35,943,937,945,951,0,1877,1876,1892,1893,35,945,944,952,953,0,1879,1878,1894,1895,35,944,946,954,952,0,1881,1880,1896,1897,35,946,947,955,954,0,1883,1882,1898,1899,35,947,948,956,955,0,1885,1884,1900,1901,35,948,949,957,956,0,1887,1886,1902,1903,35,949,950,958,957,0,1889,1888,1904,1905,35,950,951,959,958,0,1891,1890,1906,1907,35,951,945,953,959,0,1893,1892,1908,1909,35,953,952,960,961,0,1895,1894,1910,1911,35,952,954,962,960,0,1897,1896,1912,1913,35,954,955,963,962,0,1899,1898,1914,1915,35,955,956,964,963,0,1901,1900,1916,1917,35,956,957,965,964,0,1903,1902,1918,1919,35,957,958,966,965,0,1905,1904,1920,1921,35,958,959,967,966,0,1907,1906,1922,1923,35,959,953,961,967,0,1909,1908,1924,1925,35,961,960,968,969,0,1911,1910,1926,1927,35,960,962,970,968,0,1913,1912,1928,1929,35,962,963,971,970,0,1915,1914,1930,1931,35,963,964,972,971,0,1917,1916,1932,1933,35,964,965,973,972,0,1919,1918,1934,1935,35,965,966,974,973,0,1921,1920,1936,1937,35,966,967,975,974,0,1923,1922,1938,1939,35,967,961,969,975,0,1925,1924,1940,1941,35,969,968,976,977,0,1927,1926,1942,1943,35,968,970,978,976,0,1929,1928,1944,1945,35,970,971,979,978,0,1931,1930,1946,1947,35,971,972,980,979,0,1933,1932,1948,1949,35,972,973,981,980,0,1935,1934,1950,1951,35,973,974,982,981,0,1937,1936,1952,1953,35,974,975,983,982,0,1939,1938,1954,1955,35,975,969,977,983,0,1941,1940,1956,1957,35,977,976,984,985,0,1943,1942,1958,1959,35,976,978,986,984,0,1945,1944,1960,1961,35,978,979,987,986,0,1947,1946,1962,1963,35,979,980,988,987,0,1949,1948,1964,1965,35,980,981,989,988,0,1951,1950,1966,1967,35,981,982,990,989,0,1953,1952,1968,1969,35,982,983,991,990,0,1955,1954,1970,1971,35,983,977,985,991,0,1957,1956,1972,1973,35,985,984,992,993,0,1959,1958,1974,1975,35,984,986,994,992,0,1961,1960,1976,1977,35,986,987,995,994,0,1963,1962,1978,1979,35,987,988,996,995,0,1965,1964,1980,1981,35,988,989,997,996,0,1967,1966,1982,1983,35,989,990,998,997,0,1969,1968,1984,1985,35,990,991,999,998,0,1971,1970,1986,1987,35,991,985,993,999,0,1973,1972,1988,1989,35,993,992,1000,1001,0,1975,1974,1990,1991,35,992,994,1002,1000,0,1977,1976,1992,1993,35,994,995,1003,1002,0,1979,1978,1994,1995,35,995,996,1004,1003,0,1981,1980,1996,1997,35,996,997,1005,1004,0,1983,1982,1998,1999,35,997,998,1006,1005,0,1985,1984,2000,2001,35,998,999,1007,1006,0,1987,1986,2002,2003,35,999,993,1001,1007,0,1989,1988,2004,2005,35,1001,1000,1008,1009,0,1991,1990,2006,2007,35,1000,1002,1010,1008,0,1993,1992,2008,2009,35,1002,1003,1011,1010,0,1995,1994,2010,2011,35,1003,1004,1012,1011,0,1997,1996,2012,2013,35,1004,1005,1013,1012,0,1999,1998,2014,2015,35,1005,1006,1014,1013,0,2001,2000,2016,2017,35,1006,1007,1015,1014,0,2003,2002,2018,2019,35,1007,1001,1009,1015,0,2005,2004,2020,2021,35,1009,1008,1016,1017,0,2007,2006,2022,2023,35,1008,1010,1018,1016,0,2009,2008,2024,2025,35,1010,1011,1019,1018,0,2011,2010,2026,2027,35,1011,1012,1020,1019,0,2013,2012,2028,2029,35,1012,1013,1021,1020,0,2015,2014,2030,2031,35,1013,1014,1022,1021,0,2017,2016,2032,2033,35,1014,1015,1023,1022,0,2019,2018,2034,2035,35,1015,1009,1017,1023,0,2021,2020,2036,2037,35,1017,1016,1024,1025,0,2023,2022,2038,2039,35,1016,1018,1026,1024,0,2025,2024,2040,2041,35,1018,1019,1027,1026,0,2027,2026,2042,2043,35,1019,1020,1028,1027,0,2029,2028,2044,2045,35,1020,1021,1029,1028,0,2031,2030,2046,2047,35,1021,1022,1030,1029,0,2033,2032,2048,2049,35,1022,1023,1031,1030,0,2035,2034,2050,2051,35,1023,1017,1025,1031,0,2037,2036,2052,2053,35,1025,1024,1032,1033,0,2039,2038,2054,2055,35,1024,1026,1034,1032,0,2041,2040,2056,2057,35,1026,1027,1035,1034,0,2043,2042,2058,2059,35,1027,1028,1036,1035,0,2045,2044,2060,2061,35,1028,1029,1037,1036,0,2047,2046,2062,2063,35,1029,1030,1038,1037,0,2049,2048,2064,2065,35,1030,1031,1039,1038,0,2051,2050,2066,2067,35,1031,1025,1033,1039,0,2053,2052,2068,2069,35,1033,1032,1040,1041,0,2055,2054,2070,2071,35,1032,1034,1042,1040,0,2057,2056,2072,2073,35,1034,1035,1043,1042,0,2059,2058,2074,2075,35,1035,1036,1044,1043,0,2061,2060,2076,2077,35,1036,1037,1045,1044,0,2063,2062,2078,2079,35,1037,1038,1046,1045,0,2065,2064,2080,2081,35,1038,1039,1047,1046,0,2067,2066,2082,2083,35,1039,1033,1041,1047,0,2069,2068,2084,2085,35,1041,1040,1048,1049,0,2071,2070,2086,2087,35,1040,1042,1050,1048,0,2073,2072,2088,2089,35,1042,1043,1051,1050,0,2075,2074,2090,2091,35,1043,1044,1052,1051,0,2077,2076,2092,2093,35,1044,1045,1053,1052,0,2079,2078,2094,2095,35,1045,1046,1054,1053,0,2081,2080,2096,2097,35,1046,1047,1055,1054,0,2083,2082,2098,2099,35,1047,1041,1049,1055,0,2085,2084,2100,2101,35,1049,1048,1056,1057,0,2087,2086,2102,2103,35,1048,1050,1058,1056,0,2089,2088,2104,2105,35,1050,1051,1059,1058,0,2091,2090,2106,2107,35,1051,1052,1060,1059,0,2093,2092,2108,2109,35,1052,1053,1061,1060,0,2095,2094,2110,2111,35,1053,1054,1062,1061,0,2097,2096,2112,2113,35,1054,1055,1063,1062,0,2099,2098,2114,2115,35,1055,1049,1057,1063,0,2101,2100,2116,2117,35,1057,1056,1064,1065,0,2103,2102,2118,2119,35,1056,1058,1066,1064,0,2105,2104,2120,2121,35,1058,1059,1067,1066,0,2107,2106,2122,2123,35,1059,1060,1068,1067,0,2109,2108,2124,2125,35,1060,1061,1069,1068,0,2111,2110,2126,2127,35,1061,1062,1070,1069,0,2113,2112,2128,2129,35,1062,1063,1071,1070,0,2115,2114,2130,2131,35,1063,1057,1065,1071,0,2117,2116,2132,2133,35,1065,1064,1072,1073,0,2119,2118,2134,2135,35,1064,1066,1074,1072,0,2121,2120,2136,2137,35,1066,1067,1075,1074,0,2123,2122,2138,2139,35,1067,1068,1076,1075,0,2125,2124,2140,2141,35,1068,1069,1077,1076,0,2127,2126,2142,2143,35,1069,1070,1078,1077,0,2129,2128,2144,2145,35,1070,1071,1079,1078,0,2131,2130,2146,2147,35,1071,1065,1073,1079,0,2133,2132,2148,2149,35,1073,1072,1080,1081,0,2135,2134,2150,2151,35,1072,1074,1082,1080,0,2137,2136,2152,2153,35,1074,1075,1083,1082,0,2139,2138,2154,2155,35,1075,1076,1084,1083,0,2141,2140,2156,2157,35,1076,1077,1085,1084,0,2143,2142,2158,2159,35,1077,1078,1086,1085,0,2145,2144,2160,2161,35,1078,1079,1087,1086,0,2147,2146,2162,2163,35,1079,1073,1081,1087,0,2149,2148,2164,2165,35,1081,1080,1088,1089,0,2151,2150,2166,2167,35,1080,1082,1090,1088,0,2153,2152,2168,2169,35,1082,1083,1091,1090,0,2155,2154,2170,2171,35,1083,1084,1092,1091,0,2157,2156,2172,2173,35,1084,1085,1093,1092,0,2159,2158,2174,2175,35,1085,1086,1094,1093,0,2161,2160,2176,2177,35,1086,1087,1095,1094,0,2163,2162,2178,2179,35,1087,1081,1089,1095,0,2165,2164,2180,2181,35,1089,1088,1096,1097,0,2167,2166,2182,2183,35,1088,1090,1098,1096,0,2169,2168,2184,2185,35,1090,1091,1099,1098,0,2171,2170,2186,2187,35,1091,1092,1100,1099,0,2173,2172,2188,2189,35,1092,1093,1101,1100,0,2175,2174,2190,2191,35,1093,1094,1102,1101,0,2177,2176,2192,2193,35,1094,1095,1103,1102,0,2179,2178,2194,2195,35,1095,1089,1097,1103,0,2181,2180,2196,2197,35,1097,1096,1104,1105,0,2183,2182,2198,2199,35,1096,1098,1106,1104,0,2185,2184,2200,2201,35,1098,1099,1107,1106,0,2187,2186,2202,2203,35,1099,1100,1108,1107,0,2189,2188,2204,2205,35,1100,1101,1109,1108,0,2191,2190,2206,2207,35,1101,1102,1110,1109,0,2193,2192,2208,2209,35,1102,1103,1111,1110,0,2195,2194,2210,2211,35,1103,1097,1105,1111,0,2197,2196,2212,2213,35,1105,1104,1112,1113,0,2199,2198,2214,2214,35,1104,1106,1114,1112,0,2201,2200,2215,2216,35,1106,1107,1115,1114,0,2203,2202,2217,2218,35,1107,1108,1116,1115,0,2205,2204,2219,2220,35,1108,1109,1117,1116,0,2207,2206,2221,2221,35,1109,1110,1118,1117,0,2209,2208,2222,2223,35,1110,1111,1119,1118,0,2211,2210,2224,2225,35,1111,1105,1113,1119,0,2213,2212,2226,2227,35,1113,1112,1120,1121,0,2214,2214,2228,2229,35,1112,1114,1122,1120,0,2216,2215,2230,2231,35,1114,1115,1123,1122,0,2218,2217,2232,2233,35,1115,1116,1124,1123,0,2220,2219,2234,2235,35,1116,1117,1125,1124,0,2221,2221,2236,2237,35,1117,1118,1126,1125,0,2223,2222,2238,2239,35,1118,1119,1127,1126,0,2225,2224,2240,2241,35,1119,1113,1121,1127,0,2227,2226,2242,2243,35,1121,1120,1128,1129,0,2229,2228,2244,2245,35,1120,1122,1130,1128,0,2231,2230,2246,2247,35,1122,1123,1131,1130,0,2233,2232,2248,2249,35,1123,1124,1132,1131,0,2235,2234,2250,2251,35,1124,1125,1133,1132,0,2237,2236,2252,2253,35,1125,1126,1134,1133,0,2239,2238,2254,2255,35,1126,1127,1135,1134,0,2241,2240,2256,2257,35,1127,1121,1129,1135,0,2243,2242,2258,2259,35,1129,1128,1136,1137,0,2245,2244,2260,2261,35,1128,1130,1138,1136,0,2247,2246,2262,2263,35,1130,1131,1139,1138,0,2249,2248,2264,2265,35,1131,1132,1140,1139,0,2251,2250,2266,2267,35,1132,1133,1141,1140,0,2253,2252,2268,2269,35,1133,1134,1142,1141,0,2255,2254,2270,2271,35,1134,1135,1143,1142,0,2257,2256,2272,2273,35,1135,1129,1137,1143,0,2259,2258,2274,2275,35,1137,1136,1144,1145,0,2261,2260,2276,2277,35,1136,1138,1146,1144,0,2263,2262,2278,2279,35,1138,1139,1147,1146,0,2265,2264,2280,2281,35,1139,1140,1148,1147,0,2267,2266,2282,2283,35,1140,1141,1149,1148,0,2269,2268,2284,2285,35,1141,1142,1150,1149,0,2271,2270,2286,2287,35,1142,1143,1151,1150,0,2273,2272,2288,2289,35,1143,1137,1145,1151,0,2275,2274,2290,2291,35,1145,1144,1152,1153,0,2277,2276,2292,2293,35,1144,1146,1154,1152,0,2279,2278,2294,2295,35,1146,1147,1155,1154,0,2281,2280,2296,2297,35,1147,1148,1156,1155,0,2283,2282,2298,2299,35,1148,1149,1157,1156,0,2285,2284,2300,2301,35,1149,1150,1158,1157,0,2287,2286,2302,2303,35,1150,1151,1159,1158,0,2289,2288,2304,2305,35,1151,1145,1153,1159,0,2291,2290,2306,2307,35,1153,1152,1160,1161,0,2293,2292,2308,2309,35,1152,1154,1162,1160,0,2295,2294,2310,2311,35,1154,1155,1163,1162,0,2297,2296,2312,2313,35,1155,1156,1164,1163,0,2299,2298,2314,2315,35,1156,1157,1165,1164,0,2301,2300,2316,2317,35,1157,1158,1166,1165,0,2303,2302,2318,2319,35,1158,1159,1167,1166,0,2305,2304,2320,2321,35,1159,1153,1161,1167,0,2307,2306,2322,2323,35,1161,1160,1168,1169,0,2309,2308,2324,2325,35,1160,1162,1170,1168,0,2311,2310,2326,2327,35,1162,1163,1171,1170,0,2313,2312,2328,2329,35,1163,1164,1172,1171,0,2315,2314,2330,2331,35,1164,1165,1173,1172,0,2317,2316,2332,2333,35,1165,1166,1174,1173,0,2319,2318,2334,2335,35,1166,1167,1175,1174,0,2321,2320,2336,2337,35,1167,1161,1169,1175,0,2323,2322,2338,2339,35,1169,1168,1176,1177,0,2325,2324,2340,2341,35,1168,1170,1178,1176,0,2327,2326,2342,2343,35,1170,1171,1179,1178,0,2329,2328,2344,2345,35,1171,1172,1180,1179,0,2331,2330,2346,2347,35,1172,1173,1181,1180,0,2333,2332,2348,2349,35,1173,1174,1182,1181,0,2335,2334,2350,2351,35,1174,1175,1183,1182,0,2337,2336,2352,2353,35,1175,1169,1177,1183,0,2339,2338,2354,2355,35,1177,1176,1184,1185,0,2341,2340,2356,2357,35,1176,1178,1186,1184,0,2343,2342,2358,2359,35,1178,1179,1187,1186,0,2345,2344,2360,2361,35,1179,1180,1188,1187,0,2347,2346,2362,2363,35,1180,1181,1189,1188,0,2349,2348,2364,2365,35,1181,1182,1190,1189,0,2351,2350,2366,2367,35,1182,1183,1191,1190,0,2353,2352,2368,2369,35,1183,1177,1185,1191,0,2355,2354,2370,2371,35,1185,1184,1192,1193,0,2357,2356,2372,2373,35,1184,1186,1194,1192,0,2359,2358,2374,2375,35,1186,1187,1195,1194,0,2361,2360,2376,2377,35,1187,1188,1196,1195,0,2363,2362,2378,2379,35,1188,1189,1197,1196,0,2365,2364,2380,2381,35,1189,1190,1198,1197,0,2367,2366,2382,2383,35,1190,1191,1199,1198,0,2369,2368,2384,2385,35,1191,1185,1193,1199,0,2371,2370,2386,2387,35,1193,1192,1200,1201,0,2373,2372,2388,2389,35,1192,1194,1202,1200,0,2375,2374,2390,2391,35,1194,1195,1203,1202,0,2377,2376,2392,2393,35,1195,1196,1204,1203,0,2379,2378,2394,2395,35,1196,1197,1205,1204,0,2381,2380,2396,2397,35,1197,1198,1206,1205,0,2383,2382,2398,2399,35,1198,1199,1207,1206,0,2385,2384,2400,2401,35,1199,1193,1201,1207,0,2387,2386,2402,2403,35,1201,1200,1208,1209,0,2389,2388,2404,2405,35,1200,1202,1210,1208,0,2391,2390,2406,2407,35,1202,1203,1211,1210,0,2393,2392,2408,2409,35,1203,1204,1212,1211,0,2395,2394,2410,2411,35,1204,1205,1213,1212,0,2397,2396,2412,2413,35,1205,1206,1214,1213,0,2399,2398,2414,2415,35,1206,1207,1215,1214,0,2401,2400,2416,2417,35,1207,1201,1209,1215,0,2403,2402,2418,2419,35,1209,1208,1216,1217,0,2405,2404,2420,2421,35,1208,1210,1218,1216,0,2407,2406,2422,2423,35,1210,1211,1219,1218,0,2409,2408,2424,2425,35,1211,1212,1220,1219,0,2411,2410,2426,2427,35,1212,1213,1221,1220,0,2413,2412,2428,2429,35,1213,1214,1222,1221,0,2415,2414,2430,2431,35,1214,1215,1223,1222,0,2417,2416,2432,2433,35,1215,1209,1217,1223,0,2419,2418,2434,2435,35,1217,1216,1224,1225,0,2421,2420,2436,2437,35,1216,1218,1226,1224,0,2423,2422,2438,2439,35,1218,1219,1227,1226,0,2425,2424,2440,2441,35,1219,1220,1228,1227,0,2427,2426,2442,2443,35,1220,1221,1229,1228,0,2429,2428,2444,2445,35,1221,1222,1230,1229,0,2431,2430,2446,2447,35,1222,1223,1231,1230,0,2433,2432,2448,2449,35,1223,1217,1225,1231,0,2435,2434,2450,2451,35,1225,1224,1232,1233,0,2437,2436,2452,2453,35,1224,1226,1234,1232,0,2439,2438,2454,2455,35,1226,1227,1235,1234,0,2441,2440,2456,2457,35,1227,1228,1236,1235,0,2443,2442,2458,2459,35,1228,1229,1237,1236,0,2445,2444,2460,2461,35,1229,1230,1238,1237,0,2447,2446,2462,2463,35,1230,1231,1239,1238,0,2449,2448,2464,2465,35,1231,1225,1233,1239,0,2451,2450,2466,2467,35,1233,1232,1240,1241,0,2453,2452,541,541,35,1232,1234,1242,1240,0,2455,2454,2468,2469,35,1234,1235,1243,1242,0,2457,2456,2470,2471,35,1235,1236,1244,1243,0,2459,2458,2472,2473,35,1236,1237,1245,1244,0,2461,2460,2474,2475,35,1237,1238,1246,1245,0,2463,2462,2476,2477,35,1238,1239,1247,1246,0,2465,2464,2478,2479,35,1239,1233,1241,1247,0,2467,2466,2480,2481,35,1241,1240,1248,1249,0,541,541,541,541,35,1240,1242,1250,1248,0,2469,2468,2482,2482,35,1242,1243,1251,1250,0,2471,2470,2483,544,35,1243,1244,1252,1251,0,2473,2472,2484,2485,35,1244,1245,1253,1252,0,2475,2474,2486,2487,35,1245,1246,1254,1253,0,2477,2476,2488,2489,35,1246,1247,1255,1254,0,2479,2478,2490,2491,35,1247,1241,1249,1255,0,2481,2480,2492,2492,35,1249,1248,1256,1257,0,541,541,541,541,35,1248,1250,1258,1256,0,2482,2482,2493,2493,35,1250,1251,1259,1258,0,544,2483,544,544,35,1251,1252,1260,1259,0,2485,2484,2494,2494,35,1252,1253,1261,1260,0,2487,2486,541,541,35,1253,1254,1262,1261,0,2489,2488,2495,2495,35,1254,1255,1263,1262,0,2491,2490,2496,2496,35,1255,1249,1257,1263,0,2492,2492,2497,2497,35,1257,1256,1264,1265,0,541,541,541,541,35,1256,1258,1266,1264,0,2493,2493,2498,2498,35,1258,1259,1267,1266,0,544,544,544,544,35,1259,1260,1268,1267,0,2494,2494,2499,2499,35,1260,1261,1269,1268,0,541,541,541,541,35,1261,1262,1270,1269,0,2495,2495,2500,2500,35,1262,1263,1271,1270,0,2496,2496,2501,2501,35,1263,1257,1265,1271,0,2497,2497,2502,2502,35,1265,1264,1272,1273,0,541,541,541,541,35,1264,1266,1274,1272,0,2498,2498,2503,2503,35,1266,1267,1275,1274,0,544,544,544,544,35,1267,1268,1276,1275,0,2499,2499,2504,2504,35,1268,1269,1277,1276,0,541,541,541,541,35,1269,1270,1278,1277,0,2500,2500,2505,2506,35,1270,1271,1279,1278,0,2501,2501,2507,2507,35,1271,1265,1273,1279,0,2502,2502,2508,2508,35,1273,1272,1280,1281,0,541,541,541,541,35,1272,1274,1282,1280,0,2503,2503,2509,2509,35,1274,1275,1283,1282,0,544,544,2510,2511,35,1275,1276,1284,1283,0,2504,2504,2512,2512,35,1276,1277,1285,1284,0,541,541,541,2513,35,1277,1278,1286,1285,0,2506,2505,2514,2514,35,1278,1279,1287,1286,0,2507,2507,2515,2515,35,1279,1273,1281,1287,0,2508,2508,2516,2516,35,1281,1280,1288,1289,0,541,541,541,541,35,1280,1282,1290,1288,0,2509,2509,2517,2517,35,1282,1283,1291,1290,0,2511,2510,2518,2519,35,1283,1284,1292,1291,0,2512,2512,2520,2521,35,1284,1285,1293,1292,0,2513,541,2522,2523,35,1285,1286,1294,1293,0,2514,2514,2524,2525,35,1286,1287,1295,1294,0,2515,2515,2526,2527,35,1287,1281,1289,1295,0,2516,2516,2528,2528,35,1289,1288,1296,1297,0,541,541,2529,2530,35,1288,1290,1298,1296,0,2517,2517,2531,2532,35,1290,1291,1299,1298,0,2519,2518,2533,2534,35,1291,1292,1300,1299,0,2521,2520,2535,2536,35,1292,1293,1301,1300,0,2523,2522,2537,2538,35,1293,1294,1302,1301,0,2525,2524,2539,2540,35,1294,1295,1303,1302,0,2527,2526,2541,2542,35,1295,1289,1297,1303,0,2528,2528,2543,2544,35,1297,1296,1304,1305,0,2530,2529,2545,2546,35,1296,1298,1306,1304,0,2532,2531,2547,2548,35,1298,1299,1307,1306,0,2534,2533,2549,2550,35,1299,1300,1308,1307,0,2536,2535,2551,2552,35,1300,1301,1309,1308,0,2538,2537,2553,2554,35,1301,1302,1310,1309,0,2540,2539,2555,2556,35,1302,1303,1311,1310,0,2542,2541,2557,2558,35,1303,1297,1305,1311,0,2544,2543,2559,2560,35,1305,1304,1312,1313,0,2546,2545,2561,2562,35,1304,1306,1314,1312,0,2548,2547,2563,2564,35,1306,1307,1315,1314,0,2550,2549,2565,2566,35,1307,1308,1316,1315,0,2552,2551,2567,2568,35,1308,1309,1317,1316,0,2554,2553,2569,2570,35,1309,1310,1318,1317,0,2556,2555,2571,2572,35,1310,1311,1319,1318,0,2558,2557,2573,2574,35,1311,1305,1313,1319,0,2560,2559,2575,2576,35,1313,1312,1320,1321,0,2562,2561,2577,2578,35,1312,1314,1322,1320,0,2564,2563,2579,2580,35,1314,1315,1323,1322,0,2566,2565,2581,2582,35,1315,1316,1324,1323,0,2568,2567,2583,2584,35,1316,1317,1325,1324,0,2570,2569,2585,2586,35,1317,1318,1326,1325,0,2572,2571,2587,2588,35,1318,1319,1327,1326,0,2574,2573,2589,2590,35,1319,1313,1321,1327,0,2576,2575,2591,2592,35,1321,1320,1328,1329,0,2578,2577,2593,2594,35,1320,1322,1330,1328,0,2580,2579,2595,2596,35,1322,1323,1331,1330,0,2582,2581,2597,2598,35,1323,1324,1332,1331,0,2584,2583,2599,2600,35,1324,1325,1333,1332,0,2586,2585,2601,2602,35,1325,1326,1334,1333,0,2588,2587,2603,2604,35,1326,1327,1335,1334,0,2590,2589,2605,2606,35,1327,1321,1329,1335,0,2592,2591,2607,2608,35,1329,1328,1336,1337,0,2594,2593,2609,2610,35,1328,1330,1338,1336,0,2596,2595,2611,2612,35,1330,1331,1339,1338,0,2598,2597,2613,2614,35,1331,1332,1340,1339,0,2600,2599,2615,2616,35,1332,1333,1341,1340,0,2602,2601,2617,2618,35,1333,1334,1342,1341,0,2604,2603,2619,2620,35,1334,1335,1343,1342,0,2606,2605,2621,2622,35,1335,1329,1337,1343,0,2608,2607,2623,2624,35,1337,1336,1344,1345,0,2610,2609,2625,2626,35,1336,1338,1346,1344,0,2612,2611,2627,2628,35,1338,1339,1347,1346,0,2614,2613,2629,2630,35,1339,1340,1348,1347,0,2616,2615,2631,2632,35,1340,1341,1349,1348,0,2618,2617,2633,2634,35,1341,1342,1350,1349,0,2620,2619,2635,2636,35,1342,1343,1351,1350,0,2622,2621,2637,2638,35,1343,1337,1345,1351,0,2624,2623,2639,2640,35,1345,1344,1352,1353,0,2626,2625,2641,2642,35,1344,1346,1354,1352,0,2628,2627,2643,2644,35,1346,1347,1355,1354,0,2630,2629,2645,2646,35,1347,1348,1356,1355,0,2632,2631,2647,2648,35,1348,1349,1357,1356,0,2634,2633,2649,2650,35,1349,1350,1358,1357,0,2636,2635,2651,2652,35,1350,1351,1359,1358,0,2638,2637,2653,2654,35,1351,1345,1353,1359,0,2640,2639,2655,2656,35,1353,1352,1360,1361,0,2642,2641,2657,2658,35,1352,1354,1362,1360,0,2644,2643,2659,2660,35,1354,1355,1363,1362,0,2646,2645,2661,2662,35,1355,1356,1364,1363,0,2648,2647,2663,2664,35,1356,1357,1365,1364,0,2650,2649,2665,2666,35,1357,1358,1366,1365,0,2652,2651,2667,2668,35,1358,1359,1367,1366,0,2654,2653,2669,2670,35,1359,1353,1361,1367,0,2656,2655,2671,2672,35,1361,1360,1368,1369,0,2658,2657,2673,2674,35,1360,1362,1370,1368,0,2660,2659,2675,2676,35,1362,1363,1371,1370,0,2662,2661,2677,2678,35,1363,1364,1372,1371,0,2664,2663,2679,2680,35,1364,1365,1373,1372,0,2666,2665,2681,2682,35,1365,1366,1374,1373,0,2668,2667,2683,2684,35,1366,1367,1375,1374,0,2670,2669,2685,2686,35,1367,1361,1369,1375,0,2672,2671,2687,2688,35,1369,1368,1376,1377,0,2674,2673,2689,2690,35,1368,1370,1378,1376,0,2676,2675,2691,2692,35,1370,1371,1379,1378,0,2678,2677,2693,2694,35,1371,1372,1380,1379,0,2680,2679,2695,2696,35,1372,1373,1381,1380,0,2682,2681,2697,2698,35,1373,1374,1382,1381,0,2684,2683,2699,2700,35,1374,1375,1383,1382,0,2686,2685,2701,2702,35,1375,1369,1377,1383,0,2688,2687,2703,2704,35,1377,1376,1384,1385,0,2690,2689,2705,2706,35,1376,1378,1386,1384,0,2692,2691,2707,2708,35,1378,1379,1387,1386,0,2694,2693,2709,2710,35,1379,1380,1388,1387,0,2696,2695,2711,2712,35,1380,1381,1389,1388,0,2698,2697,2713,2714,35,1381,1382,1390,1389,0,2700,2699,2715,2716,35,1382,1383,1391,1390,0,2702,2701,2717,2718,35,1383,1377,1385,1391,0,2704,2703,2719,2720,35,1385,1384,1392,1393,0,2706,2705,2721,2722,35,1384,1386,1394,1392,0,2708,2707,2723,2723,35,1386,1387,1395,1394,0,2710,2709,2724,2725,35,1387,1388,1396,1395,0,2712,2711,2726,2727,35,1388,1389,1397,1396,0,2714,2713,2728,2729,35,1389,1390,1398,1397,0,2716,2715,2730,2731,35,1390,1391,1399,1398,0,2718,2717,2732,2733,35,1391,1385,1393,1399,0,2720,2719,2734,2735,35,1393,1392,1400,1401,0,2722,2721,2736,2737,35,1392,1394,1402,1400,0,2723,2723,2738,2739,35,1394,1395,1403,1402,0,2725,2724,2740,2741,35,1395,1396,1404,1403,0,2727,2726,2742,2743,35,1396,1397,1405,1404,0,2729,2728,2744,2745,35,1397,1398,1406,1405,0,2731,2730,2746,2747,35,1398,1399,1407,1406,0,2733,2732,2748,2749,35,1399,1393,1401,1407,0,2735,2734,2750,2751,35,1401,1400,1408,1409,0,2737,2736,2752,2753,35,1400,1402,1410,1408,0,2739,2738,2754,2755,35,1402,1403,1411,1410,0,2741,2740,2756,2757,35,1403,1404,1412,1411,0,2743,2742,2758,2759,35,1404,1405,1413,1412,0,2745,2744,2760,2761,35,1405,1406,1414,1413,0,2747,2746,2762,2763,35,1406,1407,1415,1414,0,2749,2748,2764,2765,35,1407,1401,1409,1415,0,2751,2750,2766,2767,35,1409,1408,1416,1417,0,2753,2752,2768,2769,35,1408,1410,1418,1416,0,2755,2754,2770,2771,35,1410,1411,1419,1418,0,2757,2756,2772,2773,35,1411,1412,1420,1419,0,2759,2758,2774,2775,35,1412,1413,1421,1420,0,2761,2760,2776,2777,35,1413,1414,1422,1421,0,2763,2762,2778,2779,35,1414,1415,1423,1422,0,2765,2764,2780,2781,35,1415,1409,1417,1423,0,2767,2766,2782,2783,35,1417,1416,1424,1425,0,2769,2768,2784,2785,35,1416,1418,1426,1424,0,2771,2770,2786,2787,35,1418,1419,1427,1426,0,2773,2772,2788,2789,35,1419,1420,1428,1427,0,2775,2774,2790,2791,35,1420,1421,1429,1428,0,2777,2776,2792,2793,35,1421,1422,1430,1429,0,2779,2778,2794,2795,35,1422,1423,1431,1430,0,2781,2780,2796,2797,35,1423,1417,1425,1431,0,2783,2782,2798,2799,35,1425,1424,1432,1433,0,2785,2784,2800,2801,35,1424,1426,1434,1432,0,2787,2786,2802,2803,35,1426,1427,1435,1434,0,2789,2788,2804,2805,35,1427,1428,1436,1435,0,2791,2790,2806,2807,35,1428,1429,1437,1436,0,2793,2792,2808,2809,35,1429,1430,1438,1437,0,2795,2794,2810,2811,35,1430,1431,1439,1438,0,2797,2796,2812,2813,35,1431,1425,1433,1439,0,2799,2798,2814,2815,35,1433,1432,1440,1441,0,2801,2800,2816,2817,35,1432,1434,1442,1440,0,2803,2802,2818,2819,35,1434,1435,1443,1442,0,2805,2804,2820,2821,35,1435,1436,1444,1443,0,2807,2806,2822,2823,35,1436,1437,1445,1444,0,2809,2808,2824,2825,35,1437,1438,1446,1445,0,2811,2810,2826,2827,35,1438,1439,1447,1446,0,2813,2812,2828,2829,35,1439,1433,1441,1447,0,2815,2814,2830,2831,35,1441,1440,1448,1449,0,2817,2816,2832,2833,35,1440,1442,1450,1448,0,2819,2818,2834,2835,35,1442,1443,1451,1450,0,2821,2820,2836,2837,35,1443,1444,1452,1451,0,2823,2822,2838,2839,35,1444,1445,1453,1452,0,2825,2824,2840,2841,35,1445,1446,1454,1453,0,2827,2826,2842,2843,35,1446,1447,1455,1454,0,2829,2828,2844,2845,35,1447,1441,1449,1455,0,2831,2830,2846,2847,35,1449,1448,1456,1457,0,2833,2832,2848,2849,35,1448,1450,1458,1456,0,2835,2834,2850,2851,35,1450,1451,1459,1458,0,2837,2836,2852,2853,35,1451,1452,1460,1459,0,2839,2838,2854,2855,35,1452,1453,1461,1460,0,2841,2840,2856,2857,35,1453,1454,1462,1461,0,2843,2842,2858,2859,35,1454,1455,1463,1462,0,2845,2844,2860,2861,35,1455,1449,1457,1463,0,2847,2846,2862,2863,35,1457,1456,1464,1465,0,2849,2848,2864,2865,35,1456,1458,1466,1464,0,2851,2850,2866,2867,35,1458,1459,1467,1466,0,2853,2852,2868,2869,35,1459,1460,1468,1467,0,2855,2854,2870,2871,35,1460,1461,1469,1468,0,2857,2856,2872,2873,35,1461,1462,1470,1469,0,2859,2858,2874,2875,35,1462,1463,1471,1470,0,2861,2860,2876,2877,35,1463,1457,1465,1471,0,2863,2862,2878,2879,35,1465,1464,1472,1473,0,2865,2864,2880,2881,35,1464,1466,1474,1472,0,2867,2866,2882,2883,35,1466,1467,1475,1474,0,2869,2868,2884,2885,35,1467,1468,1476,1475,0,2871,2870,2886,2887,35,1468,1469,1477,1476,0,2873,2872,2888,2889,35,1469,1470,1478,1477,0,2875,2874,2890,2891,35,1470,1471,1479,1478,0,2877,2876,2892,2893,35,1471,1465,1473,1479,0,2879,2878,2894,2895,35,1473,1472,1480,1481,0,2881,2880,2896,2897,35,1472,1474,1482,1480,0,2883,2882,2898,2899,35,1474,1475,1483,1482,0,2885,2884,2900,2901,35,1475,1476,1484,1483,0,2887,2886,2902,2903,35,1476,1477,1485,1484,0,2889,2888,2904,2905,35,1477,1478,1486,1485,0,2891,2890,2906,2907,35,1478,1479,1487,1486,0,2893,2892,2908,2909,35,1479,1473,1481,1487,0,2895,2894,2910,2911,35,1481,1480,1488,1489,0,2897,2896,2912,2913,35,1480,1482,1490,1488,0,2899,2898,2914,2915,35,1482,1483,1491,1490,0,2901,2900,2916,2917,35,1483,1484,1492,1491,0,2903,2902,2918,2919,35,1484,1485,1493,1492,0,2905,2904,2920,2921,35,1485,1486,1494,1493,0,2907,2906,2922,2923,35,1486,1487,1495,1494,0,2909,2908,2924,2925,35,1487,1481,1489,1495,0,2911,2910,2926,2927,35,1489,1488,1496,1497,0,2913,2912,2928,2929,35,1488,1490,1498,1496,0,2915,2914,2930,2931,35,1490,1491,1499,1498,0,2917,2916,2932,2933,35,1491,1492,1500,1499,0,2919,2918,2934,2935,35,1492,1493,1501,1500,0,2921,2920,2936,2937,35,1493,1494,1502,1501,0,2923,2922,2938,2939,35,1494,1495,1503,1502,0,2925,2924,2940,2941,35,1495,1489,1497,1503,0,2927,2926,2942,2943,35,1497,1496,1504,1505,0,2929,2928,2944,2945,35,1496,1498,1506,1504,0,2931,2930,2946,2947,35,1498,1499,1507,1506,0,2933,2932,2948,2949,35,1499,1500,1508,1507,0,2935,2934,2950,2951,35,1500,1501,1509,1508,0,2937,2936,2952,2953,35,1501,1502,1510,1509,0,2939,2938,2954,2955,35,1502,1503,1511,1510,0,2941,2940,2956,2957,35,1503,1497,1505,1511,0,2943,2942,2958,2959,35,1505,1504,1512,1513,0,2945,2944,2960,2961,35,1504,1506,1514,1512,0,2947,2946,2962,2963,35,1506,1507,1515,1514,0,2949,2948,2964,2965,35,1507,1508,1516,1515,0,2951,2950,2966,2967,35,1508,1509,1517,1516,0,2953,2952,2968,2969,35,1509,1510,1518,1517,0,2955,2954,2970,2971,35,1510,1511,1519,1518,0,2957,2956,2972,2973,35,1511,1505,1513,1519,0,2959,2958,2974,2975,35,1513,1512,1520,1521,0,2961,2960,2976,2977,35,1512,1514,1522,1520,0,2963,2962,2978,2979,35,1514,1515,1523,1522,0,2965,2964,2980,2981,35,1515,1516,1524,1523,0,2967,2966,2982,2983,35,1516,1517,1525,1524,0,2969,2968,2984,2985,35,1517,1518,1526,1525,0,2971,2970,2986,2987,35,1518,1519,1527,1526,0,2973,2972,2988,2989,35,1519,1513,1521,1527,0,2975,2974,2990,2991,35,1521,1520,1528,1529,0,2977,2976,2992,2993,35,1520,1522,1530,1528,0,2979,2978,2994,2995,35,1522,1523,1531,1530,0,2981,2980,2996,2997,35,1523,1524,1532,1531,0,2983,2982,2998,2999,35,1524,1525,1533,1532,0,2985,2984,3000,3001,35,1525,1526,1534,1533,0,2987,2986,3002,3003,35,1526,1527,1535,1534,0,2989,2988,3004,3005,35,1527,1521,1529,1535,0,2991,2990,3006,3007,35,1529,1528,1536,1537,0,2993,2992,3008,3009,35,1528,1530,1538,1536,0,2995,2994,3010,3011,35,1530,1531,1539,1538,0,2997,2996,3012,3013,35,1531,1532,1540,1539,0,2999,2998,3014,3015,35,1532,1533,1541,1540,0,3001,3000,3016,3017,35,1533,1534,1542,1541,0,3003,3002,3018,3019,35,1534,1535,1543,1542,0,3005,3004,3020,3021,35,1535,1529,1537,1543,0,3007,3006,3022,3023,35,1537,1536,1544,1545,0,3009,3008,3024,3025,35,1536,1538,1546,1544,0,3011,3010,3026,3027,35,1538,1539,1547,1546,0,3013,3012,3028,3029,35,1539,1540,1548,1547,0,3015,3014,3030,3031,35,1540,1541,1549,1548,0,3017,3016,3032,3033,35,1541,1542,1550,1549,0,3019,3018,3034,3035,35,1542,1543,1551,1550,0,3021,3020,3036,3037,35,1543,1537,1545,1551,0,3023,3022,3038,3039,35,1545,1544,1552,1553,0,3025,3024,3040,561,35,1544,1546,1554,1552,0,3027,3026,3041,3042,35,1546,1547,1555,1554,0,3029,3028,3043,3044,35,1547,1548,1556,1555,0,3031,3030,3045,3046,35,1548,1549,1557,1556,0,3033,3032,541,541,35,1549,1550,1558,1557,0,3035,3034,3047,3048,35,1550,1551,1559,1558,0,3037,3036,3049,3049,35,1551,1545,1553,1559,0,3039,3038,3050,3051,35,1553,1552,1560,1561,0,561,3040,2513,2513,35,1552,1554,1562,1560,0,3042,3041,3052,3052,35,1554,1555,1563,1562,0,3044,3043,2511,2511,35,1555,1556,1564,1563,0,3046,3045,3053,3053,35,1556,1557,1565,1564,0,541,541,2513,2513,35,1557,1558,1566,1565,0,3048,3047,3054,3054,35,1558,1559,1567,1566,0,3049,3049,3055,3055,35,1559,1553,1561,1567,0,3051,3050,3056,3056,35,1561,1560,1568,1569,0,2513,2513,2513,2513,35,1560,1562,1570,1568,0,3052,3052,3057,3058,35,1562,1563,1571,1570,0,2511,2511,544,544,35,1563,1564,1572,1571,0,3053,3053,3059,3060,35,1564,1565,1573,1572,0,2513,2513,2513,2513,35,1565,1566,1574,1573,0,3054,3054,3061,3062,35,1566,1567,1575,1574,0,3055,3055,3063,3063,35,1567,1561,1569,1575,0,3056,3056,3064,3065,35,1569,1568,1576,1577,0,2513,2513,2513,2513,35,1568,1570,1578,1576,0,3058,3057,3066,3067,35,1570,1571,1579,1578,0,544,544,544,544,35,1571,1572,1580,1579,0,3060,3059,3068,3069,35,1572,1573,1581,1580,0,2513,2513,541,541,35,1573,1574,1582,1581,0,3062,3061,3070,3071,35,1574,1575,1583,1582,0,3063,3063,3072,3072,35,1575,1569,1577,1583,0,3065,3064,3073,3074,35,1577,1576,1584,1585,0,2513,2513,541,541,35,1576,1578,1586,1584,0,3067,3066,3075,3076,35,1578,1579,1587,1586,0,544,544,544,544,35,1579,1580,1588,1587,0,3069,3068,3077,3078,35,1580,1581,1589,1588,0,541,541,541,541,35,1581,1582,1590,1589,0,3071,3070,3079,3080,35,1582,1583,1591,1590,0,3072,3072,3081,3081,35,1583,1577,1585,1591,0,3074,3073,3082,3083,35,1585,1584,1592,1593,0,541,541,541,541,35,1584,1586,1594,1592,0,3076,3075,3084,3084,35,1586,1587,1595,1594,0,544,544,544,544,35,1587,1588,1596,1595,0,3078,3077,3085,3086,35,1588,1589,1597,1596,0,541,541,541,541,35,1589,1590,1598,1597,0,3080,3079,3087,3088,35,1590,1591,1599,1598,0,3081,3081,3089,3089,35,1591,1585,1593,1599,0,3083,3082,3090,3091,35,1593,1592,1600,1601,0,541,541,541,541,35,1592,1594,1602,1600,0,3084,3084,3092,3093,35,1594,1595,1603,1602,0,544,544,544,544,35,1595,1596,1604,1603,0,3086,3085,3094,3094,35,1596,1597,1605,1604,0,541,541,541,541,35,1597,1598,1606,1605,0,3088,3087,3095,3096,35,1598,1599,1607,1606,0,3089,3089,3097,3097,35,1599,1593,1601,1607,0,3091,3090,3098,3099,35,1601,1600,1608,1609,0,541,541,541,541,35,1600,1602,1610,1608,0,3093,3092,3100,3101,35,1602,1603,1611,1610,0,544,544,544,544,35,1603,1604,1612,1611,0,3094,3094,3102,3103,35,1604,1605,1613,1612,0,541,541,541,541,35,1605,1606,1614,1613,0,3096,3095,3104,3105,35,1606,1607,1615,1614,0,3097,3097,3106,3106,35,1607,1601,1609,1615,0,3099,3098,3107,3108,35,1609,1608,1616,1617,0,541,541,3109,3109,35,1608,1610,1618,1616,0,3101,3100,3110,3110,35,1610,1611,1619,1618,0,544,544,544,544,35,1611,1612,1620,1619,0,3103,3102,3111,3112,35,1612,1613,1621,1620,0,541,541,3109,3109,35,1613,1614,1622,1621,0,3105,3104,3113,3114,35,1614,1615,1623,1622,0,3106,3106,3115,3115,35,1615,1609,1617,1623,0,3108,3107,3116,3117,35,1617,1616,1624,1625,0,3109,3109,541,541,35,1616,1618,1626,1624,0,3110,3110,3118,3118,35,1618,1619,1627,1626,0,544,544,544,544,35,1619,1620,1628,1627,0,3112,3111,3119,3119,35,1620,1621,1629,1628,0,3109,3109,541,541,35,1621,1622,1630,1629,0,3114,3113,3120,3120,35,1622,1623,1631,1630,0,3115,3115,3121,3121,35,1623,1617,1625,1631,0,3117,3116,3122,3123,35,1625,1624,1632,1633,0,541,541,541,541,35,1624,1626,1634,1632,0,3118,3118,3124,3125,35,1626,1627,1635,1634,0,544,544,544,544,35,1627,1628,1636,1635,0,3119,3119,3126,3126,35,1628,1629,1637,1636,0,541,541,541,541,35,1629,1630,1638,1637,0,3120,3120,3127,3127,35,1630,1631,1639,1638,0,3121,3121,3128,3128,35,1631,1625,1633,1639,0,3123,3122,3129,3129,35,1633,1632,1640,1641,0,541,541,3130,3131,35,1632,1634,1642,1640,0,3125,3124,3132,3133,35,1634,1635,1643,1642,0,544,544,3134,3135,35,1635,1636,1644,1643,0,3126,3126,3136,3137,35,1636,1637,1645,1644,0,541,541,3138,3139,35,1637,1638,1646,1645,0,3127,3127,3140,3140,35,1638,1639,1647,1646,0,3128,3128,3141,3142,35,1639,1633,1641,1647,0,3129,3129,3143,3144,35,1641,1640,1648,1649,0,3131,3130,3145,3146,35,1640,1642,1650,1648,0,3133,3132,3147,3148,35,1642,1643,1651,1650,0,3135,3134,3149,3150,35,1643,1644,1652,1651,0,3137,3136,3151,3152,35,1644,1645,1653,1652,0,3139,3138,3153,3154,35,1645,1646,1654,1653,0,3140,3140,3155,3156,35,1646,1647,1655,1654,0,3142,3141,3157,3158,35,1647,1641,1649,1655,0,3144,3143,3159,3160,35,1649,1648,1656,1657,0,3146,3145,3161,3162,35,1648,1650,1658,1656,0,3148,3147,3163,3164,35,1650,1651,1659,1658,0,3150,3149,3165,3166,35,1651,1652,1660,1659,0,3152,3151,3167,3168,35,1652,1653,1661,1660,0,3154,3153,3169,3170,35,1653,1654,1662,1661,0,3156,3155,3171,3172,35,1654,1655,1663,1662,0,3158,3157,3173,3174,35,1655,1649,1657,1663,0,3160,3159,3175,3176,35,1657,1656,1664,1665,0,3162,3161,3177,3178,35,1656,1658,1666,1664,0,3164,3163,3179,3180,35,1658,1659,1667,1666,0,3166,3165,3181,3182,35,1659,1660,1668,1667,0,3168,3167,3183,3184,35,1660,1661,1669,1668,0,3170,3169,3185,3186,35,1661,1662,1670,1669,0,3172,3171,3187,3188,35,1662,1663,1671,1670,0,3174,3173,3189,3190,35,1663,1657,1665,1671,0,3176,3175,3191,3192,35,1665,1664,1672,1673,0,3178,3177,3193,3194,35,1664,1666,1674,1672,0,3180,3179,3195,3196,35,1666,1667,1675,1674,0,3182,3181,3197,3198,35,1667,1668,1676,1675,0,3184,3183,3199,3200,35,1668,1669,1677,1676,0,3186,3185,3201,3202,35,1669,1670,1678,1677,0,3188,3187,3203,3204,35,1670,1671,1679,1678,0,3190,3189,3205,3206,35,1671,1665,1673,1679,0,3192,3191,3207,3208,35,1673,1672,1680,1681,0,3194,3193,3209,3210,35,1672,1674,1682,1680,0,3196,3195,3211,3212,35,1674,1675,1683,1682,0,3198,3197,3213,3214,35,1675,1676,1684,1683,0,3200,3199,3215,3216,35,1676,1677,1685,1684,0,3202,3201,3217,3218,35,1677,1678,1686,1685,0,3204,3203,3219,3220,35,1678,1679,1687,1686,0,3206,3205,3221,3222,35,1679,1673,1681,1687,0,3208,3207,3223,3224,35,1681,1680,1688,1689,0,3210,3209,3225,3226,35,1680,1682,1690,1688,0,3212,3211,3227,3228,35,1682,1683,1691,1690,0,3214,3213,3229,3230,35,1683,1684,1692,1691,0,3216,3215,3231,3232,35,1684,1685,1693,1692,0,3218,3217,3233,3234,35,1685,1686,1694,1693,0,3220,3219,3235,3236,35,1686,1687,1695,1694,0,3222,3221,3237,3238,35,1687,1681,1689,1695,0,3224,3223,3239,3240,35,1689,1688,1696,1697,0,3226,3225,3241,3242,35,1688,1690,1698,1696,0,3228,3227,3243,3244,35,1690,1691,1699,1698,0,3230,3229,3245,3246,35,1691,1692,1700,1699,0,3232,3231,3247,3248,35,1692,1693,1701,1700,0,3234,3233,3249,3250,35,1693,1694,1702,1701,0,3236,3235,3251,3252,35,1694,1695,1703,1702,0,3238,3237,3253,3254,35,1695,1689,1697,1703,0,3240,3239,3255,3256,35,1697,1696,1704,1705,0,3242,3241,3257,3258,35,1696,1698,1706,1704,0,3244,3243,3259,3260,35,1698,1699,1707,1706,0,3246,3245,3261,3262,35,1699,1700,1708,1707,0,3248,3247,3263,3264,35,1700,1701,1709,1708,0,3250,3249,3265,3266,35,1701,1702,1710,1709,0,3252,3251,3267,3268,35,1702,1703,1711,1710,0,3254,3253,3269,3270,35,1703,1697,1705,1711,0,3256,3255,3271,3272,35,1705,1704,1712,1713,0,3258,3257,3273,3274,35,1704,1706,1714,1712,0,3260,3259,3275,3276,35,1706,1707,1715,1714,0,3262,3261,3277,3278,35,1707,1708,1716,1715,0,3264,3263,3279,3280,35,1708,1709,1717,1716,0,3266,3265,3281,3282,35,1709,1710,1718,1717,0,3268,3267,3283,3284,35,1710,1711,1719,1718,0,3270,3269,3285,3286,35,1711,1705,1713,1719,0,3272,3271,3287,3288,35,1713,1712,1720,1721,0,3274,3273,3289,3290,35,1712,1714,1722,1720,0,3276,3275,3291,3292,35,1714,1715,1723,1722,0,3278,3277,3293,3294,35,1715,1716,1724,1723,0,3280,3279,3295,3296,35,1716,1717,1725,1724,0,3282,3281,3297,3298,35,1717,1718,1726,1725,0,3284,3283,3299,3300,35,1718,1719,1727,1726,0,3286,3285,3301,3302,35,1719,1713,1721,1727,0,3288,3287,3303,3304,35,1721,1720,1728,1729,0,3290,3289,3305,3306,35,1720,1722,1730,1728,0,3292,3291,3307,3308,35,1722,1723,1731,1730,0,3294,3293,3309,3310,35,1723,1724,1732,1731,0,3296,3295,3311,3312,35,1724,1725,1733,1732,0,3298,3297,3313,3314,35,1725,1726,1734,1733,0,3300,3299,3315,3316,35,1726,1727,1735,1734,0,3302,3301,3317,3318,35,1727,1721,1729,1735,0,3304,3303,3319,3320,35,1729,1728,1736,1737,0,3306,3305,3321,3322,35,1728,1730,1738,1736,0,3308,3307,3323,3324,35,1730,1731,1739,1738,0,3310,3309,3325,3326,35,1731,1732,1740,1739,0,3312,3311,3327,3328,35,1732,1733,1741,1740,0,3314,3313,3329,3330,35,1733,1734,1742,1741,0,3316,3315,3331,3332,35,1734,1735,1743,1742,0,3318,3317,3333,3334,35,1735,1729,1737,1743,0,3320,3319,3335,3336,35,1737,1736,1744,1745,0,3322,3321,3337,3338,35,1736,1738,1746,1744,0,3324,3323,3339,3340,35,1738,1739,1747,1746,0,3326,3325,3341,3342,35,1739,1740,1748,1747,0,3328,3327,3343,3344,35,1740,1741,1749,1748,0,3330,3329,3345,3346,35,1741,1742,1750,1749,0,3332,3331,3347,3348,35,1742,1743,1751,1750,0,3334,3333,3349,3350,35,1743,1737,1745,1751,0,3336,3335,3351,3352,35,1745,1744,1752,1753,0,3338,3337,3353,3354,35,1744,1746,1754,1752,0,3340,3339,3355,3356,35,1746,1747,1755,1754,0,3342,3341,3357,3358,35,1747,1748,1756,1755,0,3344,3343,3359,3360,35,1748,1749,1757,1756,0,3346,3345,3361,3362,35,1749,1750,1758,1757,0,3348,3347,3363,3364,35,1750,1751,1759,1758,0,3350,3349,3365,3366,35,1751,1745,1753,1759,0,3352,3351,3367,3368,35,1753,1752,1760,1761,0,3354,3353,3369,3370,35,1752,1754,1762,1760,0,3356,3355,3371,3372,35,1754,1755,1763,1762,0,3358,3357,3373,3374,35,1755,1756,1764,1763,0,3360,3359,3375,3376,35,1756,1757,1765,1764,0,3362,3361,3377,3378,35,1757,1758,1766,1765,0,3364,3363,3379,3380,35,1758,1759,1767,1766,0,3366,3365,3381,3382,35,1759,1753,1761,1767,0,3368,3367,3383,3384,35,1761,1760,1768,1769,0,3370,3369,3385,3386,35,1760,1762,1770,1768,0,3372,3371,3387,3388,35,1762,1763,1771,1770,0,3374,3373,3389,3390,35,1763,1764,1772,1771,0,3376,3375,3391,3392,35,1764,1765,1773,1772,0,3378,3377,3393,3394,35,1765,1766,1774,1773,0,3380,3379,3395,3396,35,1766,1767,1775,1774,0,3382,3381,3397,3398,35,1767,1761,1769,1775,0,3384,3383,3399,3400,35,1769,1768,1776,1777,0,3386,3385,3401,3402,35,1768,1770,1778,1776,0,3388,3387,3403,3404,35,1770,1771,1779,1778,0,3390,3389,3405,3406,35,1771,1772,1780,1779,0,3392,3391,3407,3408,35,1772,1773,1781,1780,0,3394,3393,3409,3410,35,1773,1774,1782,1781,0,3396,3395,3411,3412,35,1774,1775,1783,1782,0,3398,3397,3413,3414,35,1775,1769,1777,1783,0,3400,3399,3415,3416,35,1777,1776,1784,1785,0,3402,3401,3417,3418,35,1776,1778,1786,1784,0,3404,3403,3419,3420,35,1778,1779,1787,1786,0,3406,3405,3421,3422,35,1779,1780,1788,1787,0,3408,3407,3423,3424,35,1780,1781,1789,1788,0,3410,3409,3425,3426,35,1781,1782,1790,1789,0,3412,3411,3427,3428,35,1782,1783,1791,1790,0,3414,3413,3429,3430,35,1783,1777,1785,1791,0,3416,3415,3431,3432,35,1785,1784,1792,1793,0,3418,3417,3433,3434,35,1784,1786,1794,1792,0,3420,3419,3435,3436,35,1786,1787,1795,1794,0,3422,3421,3437,3438,35,1787,1788,1796,1795,0,3424,3423,3439,3440,35,1788,1789,1797,1796,0,3426,3425,3441,3442,35,1789,1790,1798,1797,0,3428,3427,3443,3444,35,1790,1791,1799,1798,0,3430,3429,3445,3446,35,1791,1785,1793,1799,0,3432,3431,3447,3448,35,1793,1792,1800,1801,0,3434,3433,3449,3450,35,1792,1794,1802,1800,0,3436,3435,3451,3452,35,1794,1795,1803,1802,0,3438,3437,3453,3454,35,1795,1796,1804,1803,0,3440,3439,3455,3456,35,1796,1797,1805,1804,0,3442,3441,3457,3458,35,1797,1798,1806,1805,0,3444,3443,3459,3460,35,1798,1799,1807,1806,0,3446,3445,3461,3462,35,1799,1793,1801,1807,0,3448,3447,3463,3464,35,1801,1800,1808,1809,0,3450,3449,3465,3466,35,1800,1802,1810,1808,0,3452,3451,3467,3468,35,1802,1803,1811,1810,0,3454,3453,3469,3470,35,1803,1804,1812,1811,0,3456,3455,3471,3472,35,1804,1805,1813,1812,0,3458,3457,3473,3474,35,1805,1806,1814,1813,0,3460,3459,3475,3476,35,1806,1807,1815,1814,0,3462,3461,3477,3478,35,1807,1801,1809,1815,0,3464,3463,3479,3480,35,1809,1808,1816,1817,0,3466,3465,3481,3482,35,1808,1810,1818,1816,0,3468,3467,3483,3484,35,1810,1811,1819,1818,0,3470,3469,3485,3486,35,1811,1812,1820,1819,0,3472,3471,3487,3488,35,1812,1813,1821,1820,0,3474,3473,3489,3490,35,1813,1814,1822,1821,0,3476,3475,3491,3492,35,1814,1815,1823,1822,0,3478,3477,3493,3494,35,1815,1809,1817,1823,0,3480,3479,3495,3496,35,1817,1816,1824,1825,0,3482,3481,3497,3498,35,1816,1818,1826,1824,0,3484,3483,3499,3500,35,1818,1819,1827,1826,0,3486,3485,3501,3502,35,1819,1820,1828,1827,0,3488,3487,3503,3504,35,1820,1821,1829,1828,0,3490,3489,3505,3506,35,1821,1822,1830,1829,0,3492,3491,3507,3508,35,1822,1823,1831,1830,0,3494,3493,3509,3510,35,1823,1817,1825,1831,0,3496,3495,3511,3512,35,1825,1824,1832,1833,0,3498,3497,3513,3514,35,1824,1826,1834,1832,0,3500,3499,3515,3516,35,1826,1827,1835,1834,0,3502,3501,3517,3518,35,1827,1828,1836,1835,0,3504,3503,3519,3520,35,1828,1829,1837,1836,0,3506,3505,3521,3522,35,1829,1830,1838,1837,0,3508,3507,3523,3524,35,1830,1831,1839,1838,0,3510,3509,3525,3526,35,1831,1825,1833,1839,0,3512,3511,3527,3528,35,1833,1832,1840,1841,0,3514,3513,3529,3530,35,1832,1834,1842,1840,0,3516,3515,3531,3532,35,1834,1835,1843,1842,0,3518,3517,3533,3534,35,1835,1836,1844,1843,0,3520,3519,3535,3536,35,1836,1837,1845,1844,0,3522,3521,3537,3538,35,1837,1838,1846,1845,0,3524,3523,3539,3540,35,1838,1839,1847,1846,0,3526,3525,3541,3542,35,1839,1833,1841,1847,0,3528,3527,3543,3544,35,1841,1840,1848,1849,0,3530,3529,3545,3546,35,1840,1842,1850,1848,0,3532,3531,3547,3548,35,1842,1843,1851,1850,0,3534,3533,3549,3550,35,1843,1844,1852,1851,0,3536,3535,3551,3552,35,1844,1845,1853,1852,0,3538,3537,3553,3554,35,1845,1846,1854,1853,0,3540,3539,3555,3556,35,1846,1847,1855,1854,0,3542,3541,3557,3558,35,1847,1841,1849,1855,0,3544,3543,3559,3560,35,1849,1848,1856,1857,0,3546,3545,3561,3562,35,1848,1850,1858,1856,0,3548,3547,3563,3564,35,1850,1851,1859,1858,0,3550,3549,3565,3566,35,1851,1852,1860,1859,0,3552,3551,3567,3568,35,1852,1853,1861,1860,0,3554,3553,3569,3570,35,1853,1854,1862,1861,0,3556,3555,3571,3572,35,1854,1855,1863,1862,0,3558,3557,3573,3574,35,1855,1849,1857,1863,0,3560,3559,3575,3576,35,1857,1856,1864,1865,0,3562,3561,3577,3578,35,1856,1858,1866,1864,0,3564,3563,3579,3580,35,1858,1859,1867,1866,0,3566,3565,3581,3582,35,1859,1860,1868,1867,0,3568,3567,3583,3584,35,1860,1861,1869,1868,0,3570,3569,3585,3586,35,1861,1862,1870,1869,0,3572,3571,3587,3588,35,1862,1863,1871,1870,0,3574,3573,3589,3590,35,1863,1857,1865,1871,0,3576,3575,3591,3592,35,1865,1864,1872,1873,0,3578,3577,3593,3594,35,1864,1866,1874,1872,0,3580,3579,3595,3596,35,1866,1867,1875,1874,0,3582,3581,3597,3598,35,1867,1868,1876,1875,0,3584,3583,3599,3600,35,1868,1869,1877,1876,0,3586,3585,3601,3602,35,1869,1870,1878,1877,0,3588,3587,3603,3604,35,1870,1871,1879,1878,0,3590,3589,3605,3606,35,1871,1865,1873,1879,0,3592,3591,3607,3608,35,1873,1872,1880,1881,0,3594,3593,3609,3610,35,1872,1874,1882,1880,0,3596,3595,3611,3612,35,1874,1875,1883,1882,0,3598,3597,3613,3614,35,1875,1876,1884,1883,0,3600,3599,3615,3616,35,1876,1877,1885,1884,0,3602,3601,3617,3618,35,1877,1878,1886,1885,0,3604,3603,3619,3620,35,1878,1879,1887,1886,0,3606,3605,3621,3622,35,1879,1873,1881,1887,0,3608,3607,3623,3624,35,1881,1880,1888,1889,0,3610,3609,3625,3626,35,1880,1882,1890,1888,0,3612,3611,3627,3628,35,1882,1883,1891,1890,0,3614,3613,3629,3630,35,1883,1884,1892,1891,0,3616,3615,3631,3632,35,1884,1885,1893,1892,0,3618,3617,3633,3634,35,1885,1886,1894,1893,0,3620,3619,3635,3636,35,1886,1887,1895,1894,0,3622,3621,3637,3638,35,1887,1881,1889,1895,0,3624,3623,3639,3640,35,1889,1888,1896,1897,0,3626,3625,3641,3642,35,1888,1890,1898,1896,0,3628,3627,3643,3644,35,1890,1891,1899,1898,0,3630,3629,3645,3646,35,1891,1892,1900,1899,0,3632,3631,3647,3648,35,1892,1893,1901,1900,0,3634,3633,3649,3650,35,1893,1894,1902,1901,0,3636,3635,3651,3652,35,1894,1895,1903,1902,0,3638,3637,3653,3654,35,1895,1889,1897,1903,0,3640,3639,3655,3656,35,1897,1896,1904,1905,0,3642,3641,3657,3658,35,1896,1898,1906,1904,0,3644,3643,3659,3660,35,1898,1899,1907,1906,0,3646,3645,3661,3662,35,1899,1900,1908,1907,0,3648,3647,3663,3664,35,1900,1901,1909,1908,0,3650,3649,3665,3666,35,1901,1902,1910,1909,0,3652,3651,3667,3668,35,1902,1903,1911,1910,0,3654,3653,3669,3670,35,1903,1897,1905,1911,0,3656,3655,3671,3672,35,1905,1904,1912,1913,0,3658,3657,3673,3674,35,1904,1906,1914,1912,0,3660,3659,3675,3676,35,1906,1907,1915,1914,0,3662,3661,3677,3678,35,1907,1908,1916,1915,0,3664,3663,3679,3680,35,1908,1909,1917,1916,0,3666,3665,3681,3682,35,1909,1910,1918,1917,0,3668,3667,3683,3684,35,1910,1911,1919,1918,0,3670,3669,3685,3686,35,1911,1905,1913,1919,0,3672,3671,3687,3688,35,1913,1912,1920,1921,0,3674,3673,3689,3690,35,1912,1914,1922,1920,0,3676,3675,3691,3692,35,1914,1915,1923,1922,0,3678,3677,3693,3694,35,1915,1916,1924,1923,0,3680,3679,3695,3696,35,1916,1917,1925,1924,0,3682,3681,3697,3698,35,1917,1918,1926,1925,0,3684,3683,3699,3700,35,1918,1919,1927,1926,0,3686,3685,3701,3702,35,1919,1913,1921,1927,0,3688,3687,3703,3704,35,1921,1920,1928,1929,0,3690,3689,3705,3706,35,1920,1922,1930,1928,0,3692,3691,3707,3708,35,1922,1923,1931,1930,0,3694,3693,3709,3710,35,1923,1924,1932,1931,0,3696,3695,3711,3712,35,1924,1925,1933,1932,0,3698,3697,3713,3714,35,1925,1926,1934,1933,0,3700,3699,3715,3716,35,1926,1927,1935,1934,0,3702,3701,3717,3718,35,1927,1921,1929,1935,0,3704,3703,3719,3720,35,1929,1928,1936,1937,0,3706,3705,3721,3722,35,1928,1930,1938,1936,0,3708,3707,3723,3724,35,1930,1931,1939,1938,0,3710,3709,3725,3726,35,1931,1932,1940,1939,0,3712,3711,3727,3728,35,1932,1933,1941,1940,0,3714,3713,3729,3730,35,1933,1934,1942,1941,0,3716,3715,3731,3732,35,1934,1935,1943,1942,0,3718,3717,3733,3734,35,1935,1929,1937,1943,0,3720,3719,3735,3736,35,1937,1936,1944,1945,0,3722,3721,3737,3738,35,1936,1938,1946,1944,0,3724,3723,3739,3740,35,1938,1939,1947,1946,0,3726,3725,3741,3742,35,1939,1940,1948,1947,0,3728,3727,3743,3744,35,1940,1941,1949,1948,0,3730,3729,3745,3746,35,1941,1942,1950,1949,0,3732,3731,3747,3748,35,1942,1943,1951,1950,0,3734,3733,3749,3750,35,1943,1937,1945,1951,0,3736,3735,3751,3752,35,1945,1944,1952,1953,0,3738,3737,3753,3754,35,1944,1946,1954,1952,0,3740,3739,3755,3756,35,1946,1947,1955,1954,0,3742,3741,3757,3758,35,1947,1948,1956,1955,0,3744,3743,3759,3760,35,1948,1949,1957,1956,0,3746,3745,3761,3762,35,1949,1950,1958,1957,0,3748,3747,3763,3764,35,1950,1951,1959,1958,0,3750,3749,3765,3766,35,1951,1945,1953,1959,0,3752,3751,3767,3768,35,1953,1952,1960,1961,0,3754,3753,3769,3770,35,1952,1954,1962,1960,0,3756,3755,3771,3772,35,1954,1955,1963,1962,0,3758,3757,3773,3774,35,1955,1956,1964,1963,0,3760,3759,3775,3776,35,1956,1957,1965,1964,0,3762,3761,3777,3778,35,1957,1958,1966,1965,0,3764,3763,3779,3780,35,1958,1959,1967,1966,0,3766,3765,3781,3782,35,1959,1953,1961,1967,0,3768,3767,3783,3784,35,1961,1960,1968,1969,0,3770,3769,3785,3786,35,1960,1962,1970,1968,0,3772,3771,3787,3788,35,1962,1963,1971,1970,0,3774,3773,3789,3790,35,1963,1964,1972,1971,0,3776,3775,3791,3792,35,1964,1965,1973,1972,0,3778,3777,3793,3794,35,1965,1966,1974,1973,0,3780,3779,3795,3796,35,1966,1967,1975,1974,0,3782,3781,3797,3798,35,1967,1961,1969,1975,0,3784,3783,3799,3800,35,1969,1968,1976,1977,0,3786,3785,3801,3802,35,1968,1970,1978,1976,0,3788,3787,3803,3804,35,1970,1971,1979,1978,0,3790,3789,3805,3806,35,1971,1972,1980,1979,0,3792,3791,3807,3808,35,1972,1973,1981,1980,0,3794,3793,3809,3810,35,1973,1974,1982,1981,0,3796,3795,3811,3812,35,1974,1975,1983,1982,0,3798,3797,3813,3814,35,1975,1969,1977,1983,0,3800,3799,3815,3816,35,1977,1976,1984,1985,0,3802,3801,3817,3818,35,1976,1978,1986,1984,0,3804,3803,3819,3820,35,1978,1979,1987,1986,0,3806,3805,3821,3822,35,1979,1980,1988,1987,0,3808,3807,3823,3824,35,1980,1981,1989,1988,0,3810,3809,3825,3826,35,1981,1982,1990,1989,0,3812,3811,3827,3828,35,1982,1983,1991,1990,0,3814,3813,3829,3830,35,1983,1977,1985,1991,0,3816,3815,3831,3832,35,1985,1984,1992,1993,0,3818,3817,3833,3834,35,1984,1986,1994,1992,0,3820,3819,3835,3836,35,1986,1987,1995,1994,0,3822,3821,3837,3838,35,1987,1988,1996,1995,0,3824,3823,3839,3840,35,1988,1989,1997,1996,0,3826,3825,3841,3842,35,1989,1990,1998,1997,0,3828,3827,3843,3844,35,1990,1991,1999,1998,0,3830,3829,3845,3846,35,1991,1985,1993,1999,0,3832,3831,3847,3848,35,1993,1992,2000,2001,0,3834,3833,3849,3850,35,1992,1994,2002,2000,0,3836,3835,3851,3852,35,1994,1995,2003,2002,0,3838,3837,3853,3854,35,1995,1996,2004,2003,0,3840,3839,3855,3856,35,1996,1997,2005,2004,0,3842,3841,3857,3858,35,1997,1998,2006,2005,0,3844,3843,3859,3860,35,1998,1999,2007,2006,0,3846,3845,3861,3862,35,1999,1993,2001,2007,0,3848,3847,3863,3864,35,2001,2000,2008,2009,0,3850,3849,3865,3866,35,2000,2002,2010,2008,0,3852,3851,3867,3868,35,2002,2003,2011,2010,0,3854,3853,3869,3870,35,2003,2004,2012,2011,0,3856,3855,3871,3872,35,2004,2005,2013,2012,0,3858,3857,3873,3874,35,2005,2006,2014,2013,0,3860,3859,3875,3876,35,2006,2007,2015,2014,0,3862,3861,3877,3878,35,2007,2001,2009,2015,0,3864,3863,3879,3880,35,2009,2008,2016,2017,0,3866,3865,3881,3882,35,2008,2010,2018,2016,0,3868,3867,3883,3884,35,2010,2011,2019,2018,0,3870,3869,3885,3886,35,2011,2012,2020,2019,0,3872,3871,3887,3888,35,2012,2013,2021,2020,0,3874,3873,3889,3890,35,2013,2014,2022,2021,0,3876,3875,3891,3892,35,2014,2015,2023,2022,0,3878,3877,3893,3894,35,2015,2009,2017,2023,0,3880,3879,3895,3896,35,2017,2016,2024,2025,0,3882,3881,3897,3898,35,2016,2018,2026,2024,0,3884,3883,3899,3900,35,2018,2019,2027,2026,0,3886,3885,3901,3902,35,2019,2020,2028,2027,0,3888,3887,3903,3904,35,2020,2021,2029,2028,0,3890,3889,3905,3906,35,2021,2022,2030,2029,0,3892,3891,3907,3908,35,2022,2023,2031,2030,0,3894,3893,3909,3910,35,2023,2017,2025,2031,0,3896,3895,3911,3912,35,2025,2024,2032,2033,0,3898,3897,3913,3914,35,2024,2026,2034,2032,0,3900,3899,3915,3916,35,2026,2027,2035,2034,0,3902,3901,3917,3918,35,2027,2028,2036,2035,0,3904,3903,3919,3920,35,2028,2029,2037,2036,0,3906,3905,3921,3922,35,2029,2030,2038,2037,0,3908,3907,3923,3924,35,2030,2031,2039,2038,0,3910,3909,3925,3926,35,2031,2025,2033,2039,0,3912,3911,3927,3928,35,2033,2032,2040,2041,0,3914,3913,3929,3930,35,2032,2034,2042,2040,0,3916,3915,3931,3932,35,2034,2035,2043,2042,0,3918,3917,3933,3934,35,2035,2036,2044,2043,0,3920,3919,3935,3936,35,2036,2037,2045,2044,0,3922,3921,3937,3938,35,2037,2038,2046,2045,0,3924,3923,3939,3940,35,2038,2039,2047,2046,0,3926,3925,3941,3942,35,2039,2033,2041,2047,0,3928,3927,3943,3944,35,2041,2040,2048,2049,0,3930,3929,3945,3946,35,2040,2042,2050,2048,0,3932,3931,3947,3948,35,2042,2043,2051,2050,0,3934,3933,3949,3950,35,2043,2044,2052,2051,0,3936,3935,3951,3952,35,2044,2045,2053,2052,0,3938,3937,3953,3954,35,2045,2046,2054,2053,0,3940,3939,3955,3956,35,2046,2047,2055,2054,0,3942,3941,3957,3958,35,2047,2041,2049,2055,0,3944,3943,3959,3960,35,2049,2048,2056,2057,0,3946,3945,3961,3962,35,2048,2050,2058,2056,0,3948,3947,3963,3964,35,2050,2051,2059,2058,0,3950,3949,3965,3966,35,2051,2052,2060,2059,0,3952,3951,3967,3968,35,2052,2053,2061,2060,0,3954,3953,3969,3970,35,2053,2054,2062,2061,0,3956,3955,3971,3972,35,2054,2055,2063,2062,0,3958,3957,3973,3974,35,2055,2049,2057,2063,0,3960,3959,3975,3976,35,2057,2056,2064,2065,0,3962,3961,3977,3978,35,2056,2058,2066,2064,0,3964,3963,3979,3980,35,2058,2059,2067,2066,0,3966,3965,3981,3982,35,2059,2060,2068,2067,0,3968,3967,3983,3984,35,2060,2061,2069,2068,0,3970,3969,3985,3986,35,2061,2062,2070,2069,0,3972,3971,3987,3988,35,2062,2063,2071,2070,0,3974,3973,3989,3990,35,2063,2057,2065,2071,0,3976,3975,3991,3992,35,2065,2064,2072,2073,0,3978,3977,3993,3994,35,2064,2066,2074,2072,0,3980,3979,3995,3996,35,2066,2067,2075,2074,0,3982,3981,3997,3998,35,2067,2068,2076,2075,0,3984,3983,3999,4000,35,2068,2069,2077,2076,0,3986,3985,4001,4002,35,2069,2070,2078,2077,0,3988,3987,4003,4004,35,2070,2071,2079,2078,0,3990,3989,4005,4006,35,2071,2065,2073,2079,0,3992,3991,4007,4008,35,2073,2072,2080,2081,0,3994,3993,4009,4010,35,2072,2074,2082,2080,0,3996,3995,4011,4012,35,2074,2075,2083,2082,0,3998,3997,4013,4014,35,2075,2076,2084,2083,0,4000,3999,4015,4016,35,2076,2077,2085,2084,0,4002,4001,4017,4018,35,2077,2078,2086,2085,0,4004,4003,4019,4020,35,2078,2079,2087,2086,0,4006,4005,4021,4022,35,2079,2073,2081,2087,0,4008,4007,4023,4024,35,2081,2080,2088,2089,0,4010,4009,4025,4026,35,2080,2082,2090,2088,0,4012,4011,4027,4028,35,2082,2083,2091,2090,0,4014,4013,4029,4030,35,2083,2084,2092,2091,0,4016,4015,4031,4032,35,2084,2085,2093,2092,0,4018,4017,4033,4034,35,2085,2086,2094,2093,0,4020,4019,4035,4036,35,2086,2087,2095,2094,0,4022,4021,4037,4038,35,2087,2081,2089,2095,0,4024,4023,4039,4040,35,2089,2088,2096,2097,0,4026,4025,4041,4042,35,2088,2090,2098,2096,0,4028,4027,4043,4044,35,2090,2091,2099,2098,0,4030,4029,4045,4046,35,2091,2092,2100,2099,0,4032,4031,4047,4048,35,2092,2093,2101,2100,0,4034,4033,4049,4050,35,2093,2094,2102,2101,0,4036,4035,4051,4052,35,2094,2095,2103,2102,0,4038,4037,4053,4054,35,2095,2089,2097,2103,0,4040,4039,4055,4056,35,2097,2096,2104,2105,0,4042,4041,4057,4058,35,2096,2098,2106,2104,0,4044,4043,4059,4060,35,2098,2099,2107,2106,0,4046,4045,4061,4062,35,2099,2100,2108,2107,0,4048,4047,4063,4064,35,2100,2101,2109,2108,0,4050,4049,4065,4066,35,2101,2102,2110,2109,0,4052,4051,4067,4068,35,2102,2103,2111,2110,0,4054,4053,4069,4070,35,2103,2097,2105,2111,0,4056,4055,4071,4072,35,2105,2104,2112,2113,0,4058,4057,4073,4074,35,2104,2106,2114,2112,0,4060,4059,4075,4076,35,2106,2107,2115,2114,0,4062,4061,4077,4078,35,2107,2108,2116,2115,0,4064,4063,4079,4080,35,2108,2109,2117,2116,0,4066,4065,4081,4082,35,2109,2110,2118,2117,0,4068,4067,4083,4084,35,2110,2111,2119,2118,0,4070,4069,4085,4086,35,2111,2105,2113,2119,0,4072,4071,4087,4088,35,2113,2112,2120,2121,0,4074,4073,4089,4090,35,2112,2114,2122,2120,0,4076,4075,4091,4092,35,2114,2115,2123,2122,0,4078,4077,4093,4094,35,2115,2116,2124,2123,0,4080,4079,4095,4096,35,2116,2117,2125,2124,0,4082,4081,4097,4098,35,2117,2118,2126,2125,0,4084,4083,4099,4100,35,2118,2119,2127,2126,0,4086,4085,4101,4102,35,2119,2113,2121,2127,0,4088,4087,4103,4104,35,2121,2120,2128,2129,0,4090,4089,4105,4106,35,2120,2122,2130,2128,0,4092,4091,4107,4108,35,2122,2123,2131,2130,0,4094,4093,4109,4110,35,2123,2124,2132,2131,0,4096,4095,4111,4112,35,2124,2125,2133,2132,0,4098,4097,4113,4114,35,2125,2126,2134,2133,0,4100,4099,4115,4116,35,2126,2127,2135,2134,0,4102,4101,4117,4118,35,2127,2121,2129,2135,0,4104,4103,4119,4120,35,2129,2128,2136,2137,0,4106,4105,4121,4122,35,2128,2130,2138,2136,0,4108,4107,4123,4124,35,2130,2131,2139,2138,0,4110,4109,4125,4126,35,2131,2132,2140,2139,0,4112,4111,4127,4128,35,2132,2133,2141,2140,0,4114,4113,4129,4130,35,2133,2134,2142,2141,0,4116,4115,4131,4132,35,2134,2135,2143,2142,0,4118,4117,4133,4134,35,2135,2129,2137,2143,0,4120,4119,4135,4136,35,2137,2136,2144,2145,0,4122,4121,4137,4138,35,2136,2138,2146,2144,0,4124,4123,4139,4140,35,2138,2139,2147,2146,0,4126,4125,4141,4142,35,2139,2140,2148,2147,0,4128,4127,4143,4144,35,2140,2141,2149,2148,0,4130,4129,4145,4146,35,2141,2142,2150,2149,0,4132,4131,4147,4148,35,2142,2143,2151,2150,0,4134,4133,4149,4150,35,2143,2137,2145,2151,0,4136,4135,4151,4152,35,2145,2144,2152,2153,0,4138,4137,4153,4154,35,2144,2146,2154,2152,0,4140,4139,4155,4156,35,2146,2147,2155,2154,0,4142,4141,4157,4158,35,2147,2148,2156,2155,0,4144,4143,4159,4160,35,2148,2149,2157,2156,0,4146,4145,4161,4162,35,2149,2150,2158,2157,0,4148,4147,4163,4164,35,2150,2151,2159,2158,0,4150,4149,4165,4166,35,2151,2145,2153,2159,0,4152,4151,4167,4168,35,2153,2152,2160,2161,0,4154,4153,4169,4170,35,2152,2154,2162,2160,0,4156,4155,4171,4172,35,2154,2155,2163,2162,0,4158,4157,4173,4174,35,2155,2156,2164,2163,0,4160,4159,4175,4176,35,2156,2157,2165,2164,0,4162,4161,4177,4178,35,2157,2158,2166,2165,0,4164,4163,4179,4180,35,2158,2159,2167,2166,0,4166,4165,4181,4182,35,2159,2153,2161,2167,0,4168,4167,4183,4184,35,2161,2160,2168,2169,0,4170,4169,4185,4186,35,2160,2162,2170,2168,0,4172,4171,4187,4188,35,2162,2163,2171,2170,0,4174,4173,4189,4190,35,2163,2164,2172,2171,0,4176,4175,4191,4192,35,2164,2165,2173,2172,0,4178,4177,4193,4194,35,2165,2166,2174,2173,0,4180,4179,4195,4196,35,2166,2167,2175,2174,0,4182,4181,4197,4198,35,2167,2161,2169,2175,0,4184,4183,4199,4200,35,2169,2168,2176,2177,0,4186,4185,4201,4202,35,2168,2170,2178,2176,0,4188,4187,4203,4204,35,2170,2171,2179,2178,0,4190,4189,4205,4206,35,2171,2172,2180,2179,0,4192,4191,4207,4208,35,2172,2173,2181,2180,0,4194,4193,4209,4210,35,2173,2174,2182,2181,0,4196,4195,4211,4212,35,2174,2175,2183,2182,0,4198,4197,4213,4214,35,2175,2169,2177,2183,0,4200,4199,4215,4216,35,2177,2176,2184,2185,0,4202,4201,4217,4218,35,2176,2178,2186,2184,0,4204,4203,4219,4220,35,2178,2179,2187,2186,0,4206,4205,4221,4222,35,2179,2180,2188,2187,0,4208,4207,4223,4224,35,2180,2181,2189,2188,0,4210,4209,4225,4226,35,2181,2182,2190,2189,0,4212,4211,4227,4228,35,2182,2183,2191,2190,0,4214,4213,4229,4230,35,2183,2177,2185,2191,0,4216,4215,4231,4232,35,2185,2184,2192,2193,0,4218,4217,4233,4234,35,2184,2186,2194,2192,0,4220,4219,4235,4236,35,2186,2187,2195,2194,0,4222,4221,4237,4238,35,2187,2188,2196,2195,0,4224,4223,4239,4240,35,2188,2189,2197,2196,0,4226,4225,4241,4242,35,2189,2190,2198,2197,0,4228,4227,4243,4244,35,2190,2191,2199,2198,0,4230,4229,4245,4246,35,2191,2185,2193,2199,0,4232,4231,4247,4248,35,2193,2192,2200,2201,0,4234,4233,4249,4250,35,2192,2194,2202,2200,0,4236,4235,4251,4252,35,2194,2195,2203,2202,0,4238,4237,4253,4254,35,2195,2196,2204,2203,0,4240,4239,4255,4256,35,2196,2197,2205,2204,0,4242,4241,4257,4258,35,2197,2198,2206,2205,0,4244,4243,4259,4260,35,2198,2199,2207,2206,0,4246,4245,4261,4262,35,2199,2193,2201,2207,0,4248,4247,4263,4264,35,2201,2200,2208,2209,0,4250,4249,4265,4266,35,2200,2202,2210,2208,0,4252,4251,4267,4268,35,2202,2203,2211,2210,0,4254,4253,4269,4270,35,2203,2204,2212,2211,0,4256,4255,4271,4272,35,2204,2205,2213,2212,0,4258,4257,4273,4274,35,2205,2206,2214,2213,0,4260,4259,4275,4276,35,2206,2207,2215,2214,0,4262,4261,4277,4278,35,2207,2201,2209,2215,0,4264,4263,4279,4280,35,2209,2208,2216,2217,0,4266,4265,4281,4282,35,2208,2210,2218,2216,0,4268,4267,4283,4284,35,2210,2211,2219,2218,0,4270,4269,4285,4286,35,2211,2212,2220,2219,0,4272,4271,4287,4288,35,2212,2213,2221,2220,0,4274,4273,4289,4290,35,2213,2214,2222,2221,0,4276,4275,4291,4292,35,2214,2215,2223,2222,0,4278,4277,4293,4294,35,2215,2209,2217,2223,0,4280,4279,4295,4296,35,2217,2216,2224,2225,0,4282,4281,4297,4298,35,2216,2218,2226,2224,0,4284,4283,4299,4300,35,2218,2219,2227,2226,0,4286,4285,4301,4302,35,2219,2220,2228,2227,0,4288,4287,4303,4304,35,2220,2221,2229,2228,0,4290,4289,4305,4306,35,2221,2222,2230,2229,0,4292,4291,4307,4308,35,2222,2223,2231,2230,0,4294,4293,4309,4310,35,2223,2217,2225,2231,0,4296,4295,4311,4312,35,2225,2224,2232,2233,0,4298,4297,4313,4314,35,2224,2226,2234,2232,0,4300,4299,4315,4316,35,2226,2227,2235,2234,0,4302,4301,4317,4318,35,2227,2228,2236,2235,0,4304,4303,4319,4320,35,2228,2229,2237,2236,0,4306,4305,4321,4322,35,2229,2230,2238,2237,0,4308,4307,4323,4324,35,2230,2231,2239,2238,0,4310,4309,4325,4326,35,2231,2225,2233,2239,0,4312,4311,4327,4328,35,2233,2232,2240,2241,0,4314,4313,541,541,35,2232,2234,2242,2240,0,4316,4315,4329,4330,35,2234,2235,2243,2242,0,4318,4317,4331,4332,35,2235,2236,2244,2243,0,4320,4319,4333,4334,35,2236,2237,2245,2244,0,4322,4321,4335,4336,35,2237,2238,2246,2245,0,4324,4323,4337,4338,35,2238,2239,2247,2246,0,4326,4325,4339,4340,35,2239,2233,2241,2247,0,4328,4327,4341,4342,35,2241,2240,2248,2249,0,541,541,541,541,35,2240,2242,2250,2248,0,4330,4329,4343,4344,35,2242,2243,2251,2250,0,4332,4331,4345,544,35,2243,2244,2252,2251,0,4334,4333,4346,4346,35,2244,2245,2253,2252,0,4336,4335,4347,4348,35,2245,2246,2254,2253,0,4338,4337,4349,4350,35,2246,2247,2255,2254,0,4340,4339,4351,4351,35,2247,2241,2249,2255,0,4342,4341,4352,4353,35,2249,2248,2256,2257,0,541,541,541,541,35,2248,2250,2258,2256,0,4344,4343,4354,4354,35,2250,2251,2259,2258,0,544,4345,544,544,35,2251,2252,2260,2259,0,4346,4346,4355,4356,35,2252,2253,2261,2260,0,4348,4347,541,541,35,2253,2254,2262,2261,0,4350,4349,4357,4358,35,2254,2255,2263,2262,0,4351,4351,4359,4359,35,2255,2249,2257,2263,0,4353,4352,4360,4361,35,2257,2256,2264,2265,0,541,541,541,541,35,2256,2258,2266,2264,0,4354,4354,4362,4363,35,2258,2259,2267,2266,0,544,544,544,2511,35,2259,2260,2268,2267,0,4356,4355,4364,4365,35,2260,2261,2269,2268,0,541,541,541,541,35,2261,2262,2270,2269,0,4358,4357,4366,4367,35,2262,2263,2271,2270,0,4359,4359,4368,4368,35,2263,2257,2265,2271,0,4361,4360,4369,4370,35,2265,2264,2272,2273,0,541,541,2513,2513,35,2264,2266,2274,2272,0,4363,4362,4371,4372,35,2266,2267,2275,2274,0,2511,544,2511,2511,35,2267,2268,2276,2275,0,4365,4364,4373,4373,35,2268,2269,2277,2276,0,541,541,2513,2513,35,2269,2270,2278,2277,0,4367,4366,4374,4374,35,2270,2271,2279,2278,0,4368,4368,4375,4375,35,2271,2265,2273,2279,0,4370,4369,4376,4376,35,2273,2272,2280,2281,0,2513,2513,2513,2513,35,2272,2274,2282,2280,0,4372,4371,4377,4377,35,2274,2275,2283,2282,0,2511,2511,544,544,35,2275,2276,2284,2283,0,4373,4373,4378,4379,35,2276,2277,2285,2284,0,2513,2513,2513,2513,35,2277,2278,2286,2285,0,4374,4374,4380,4381,35,2278,2279,2287,2286,0,4375,4375,4382,4382,35,2279,2273,2281,2287,0,4376,4376,4383,4384,35,2281,2280,2288,2289,0,2513,2513,541,541,35,2280,2282,2290,2288,0,4377,4377,4385,4386,35,2282,2283,2291,2290,0,544,544,544,544,35,2283,2284,2292,2291,0,4379,4378,4387,4388,35,2284,2285,2293,2292,0,2513,2513,2513,2513,35,2285,2286,2294,2293,0,4381,4380,4389,4389,35,2286,2287,2295,2294,0,4382,4382,4390,4390,35,2287,2281,2289,2295,0,4384,4383,4391,4391,35,2289,2288,2296,2297,0,541,541,2513,2513,35,2288,2290,2298,2296,0,4386,4385,4392,4392,35,2290,2291,2299,2298,0,544,544,544,544,35,2291,2292,2300,2299,0,4388,4387,4393,4394,35,2292,2293,2301,2300,0,2513,2513,541,541,35,2293,2294,2302,2301,0,4389,4389,4395,4396,35,2294,2295,2303,2302,0,4390,4390,4397,4397,35,2295,2289,2297,2303,0,4391,4391,4398,4399,35,2297,2296,2304,2305,0,2513,2513,541,541,35,2296,2298,2306,2304,0,4392,4392,4400,4401,35,2298,2299,2307,2306,0,544,544,544,544,35,2299,2300,2308,2307,0,4394,4393,4402,4403,35,2300,2301,2309,2308,0,541,541,541,541,35,2301,2302,2310,2309,0,4396,4395,4404,4405,35,2302,2303,2311,2310,0,4397,4397,4406,4406,35,2303,2297,2305,2311,0,4399,4398,4407,4408,35,2305,2304,2312,2313,0,541,541,541,541,35,2304,2306,2314,2312,0,4401,4400,4409,4410,35,2306,2307,2315,2314,0,544,544,544,544,35,2307,2308,2316,2315,0,4403,4402,4411,4412,35,2308,2309,2317,2316,0,541,541,541,541,35,2309,2310,2318,2317,0,4405,4404,4413,4414,35,2310,2311,2319,2318,0,4406,4406,4415,4415,35,2311,2305,2313,2319,0,4408,4407,4416,4417,35,2313,2312,2320,2321,0,541,541,541,541,35,2312,2314,2322,2320,0,4410,4409,4418,4419,35,2314,2315,2323,2322,0,544,544,544,544,35,2315,2316,2324,2323,0,4412,4411,4420,4420,35,2316,2317,2325,2324,0,541,541,541,541,35,2317,2318,2326,2325,0,4414,4413,4421,4421,35,2318,2319,2327,2326,0,4415,4415,4422,4422,35,2319,2313,2321,2327,0,4417,4416,4423,4423,35,2321,2320,2328,2329,0,541,541,541,541,35,2320,2322,2330,2328,0,4419,4418,4424,4425,35,2322,2323,2331,2330,0,544,544,544,544,35,2323,2324,2332,2331,0,4420,4420,4426,4426,35,2324,2325,2333,2332,0,541,541,541,541,35,2325,2326,2334,2333,0,4421,4421,4427,4428,35,2326,2327,2335,2334,0,4422,4422,4429,4429,35,2327,2321,2329,2335,0,4423,4423,4430,4430,35,2329,2328,2336,2337,0,541,541,541,541,35,2328,2330,2338,2336,0,4425,4424,4431,4432,35,2330,2331,2339,2338,0,544,544,2511,544,35,2331,2332,2340,2339,0,4426,4426,4433,4434,35,2332,2333,2341,2340,0,541,541,4435,4436,35,2333,2334,2342,2341,0,4428,4427,4437,4438,35,2334,2335,2343,2342,0,4429,4429,4439,4439,35,2335,2329,2337,2343,0,4430,4430,4440,4441,35,2337,2336,2344,2345,0,541,541,541,541,35,2336,2338,2346,2344,0,4432,4431,4442,4443,35,2338,2339,2347,2346,0,544,2511,4444,4445,35,2339,2340,2348,2347,0,4434,4433,4446,4447,35,2340,2341,2349,2348,0,4436,4435,4448,4449,35,2341,2342,2350,2349,0,4438,4437,4450,4451,35,2342,2343,2351,2350,0,4439,4439,4452,4453,35,2343,2337,2345,2351,0,4441,4440,4454,4455,35,2345,2344,2352,2353,0,541,541,2513,4456,35,2344,2346,2354,2352,0,4443,4442,4457,4458,35,2346,2347,2355,2354,0,4445,4444,4459,4460,35,2347,2348,2356,2355,0,4447,4446,4461,4462,35,2348,2349,2357,2356,0,4449,4448,4463,4464,35,2349,2350,2358,2357,0,4451,4450,4465,4466,35,2350,2351,2359,2358,0,4453,4452,4467,4468,35,2351,2345,2353,2359,0,4455,4454,4469,4470,35,2353,2352,2360,2361,0,4456,2513,4471,4472,35,2352,2354,2362,2360,0,4458,4457,4473,4474,35,2354,2355,2363,2362,0,4460,4459,4475,4476,35,2355,2356,2364,2363,0,4462,4461,4477,4478,35,2356,2357,2365,2364,0,4464,4463,4479,4480,35,2357,2358,2366,2365,0,4466,4465,4481,4482,35,2358,2359,2367,2366,0,4468,4467,4483,4484,35,2359,2353,2361,2367,0,4470,4469,4485,4486,35,2361,2360,2368,2369,0,4472,4471,4487,4488,35,2360,2362,2370,2368,0,4474,4473,4489,4490,35,2362,2363,2371,2370,0,4476,4475,4491,4492,35,2363,2364,2372,2371,0,4478,4477,4493,4494,35,2364,2365,2373,2372,0,4480,4479,4495,4496,35,2365,2366,2374,2373,0,4482,4481,4497,4498,35,2366,2367,2375,2374,0,4484,4483,4499,4500,35,2367,2361,2369,2375,0,4486,4485,4501,4502,35,2369,2368,2376,2377,0,4488,4487,4503,4504,35,2368,2370,2378,2376,0,4490,4489,4505,4506,35,2370,2371,2379,2378,0,4492,4491,4507,4508,35,2371,2372,2380,2379,0,4494,4493,4509,4510,35,2372,2373,2381,2380,0,4496,4495,4511,4512,35,2373,2374,2382,2381,0,4498,4497,4513,4514,35,2374,2375,2383,2382,0,4500,4499,4515,4516,35,2375,2369,2377,2383,0,4502,4501,4517,4518,35,2377,2376,2384,2385,0,4504,4503,4519,4520,35,2376,2378,2386,2384,0,4506,4505,4521,4522,35,2378,2379,2387,2386,0,4508,4507,4523,4524,35,2379,2380,2388,2387,0,4510,4509,4525,4526,35,2380,2381,2389,2388,0,4512,4511,4527,4528,35,2381,2382,2390,2389,0,4514,4513,4529,4530,35,2382,2383,2391,2390,0,4516,4515,4531,4532,35,2383,2377,2385,2391,0,4518,4517,4533,4534,35,2385,2384,2392,2393,0,4520,4519,4535,4536,35,2384,2386,2394,2392,0,4522,4521,4537,4538,35,2386,2387,2395,2394,0,4524,4523,4539,4540,35,2387,2388,2396,2395,0,4526,4525,4541,4542,35,2388,2389,2397,2396,0,4528,4527,4543,4544,35,2389,2390,2398,2397,0,4530,4529,4545,4546,35,2390,2391,2399,2398,0,4532,4531,4547,4548,35,2391,2385,2393,2399,0,4534,4533,4549,4550,35,2393,2392,2400,2401,0,4536,4535,4551,4552,35,2392,2394,2402,2400,0,4538,4537,4553,4554,35,2394,2395,2403,2402,0,4540,4539,4555,4556,35,2395,2396,2404,2403,0,4542,4541,4557,4558,35,2396,2397,2405,2404,0,4544,4543,4559,4560,35,2397,2398,2406,2405,0,4546,4545,4561,4562,35,2398,2399,2407,2406,0,4548,4547,4563,4564,35,2399,2393,2401,2407,0,4550,4549,4565,4566,35,2401,2400,2408,2409,0,4552,4551,4567,4568,35,2400,2402,2410,2408,0,4554,4553,4569,4570,35,2402,2403,2411,2410,0,4556,4555,4571,4572,35,2403,2404,2412,2411,0,4558,4557,4573,4574,35,2404,2405,2413,2412,0,4560,4559,4575,4576,35,2405,2406,2414,2413,0,4562,4561,4577,4578,35,2406,2407,2415,2414,0,4564,4563,4579,4580,35,2407,2401,2409,2415,0,4566,4565,4581,4582,35,2409,2408,2416,2417,0,4568,4567,4583,4584,35,2408,2410,2418,2416,0,4570,4569,4585,4586,35,2410,2411,2419,2418,0,4572,4571,4587,4588,35,2411,2412,2420,2419,0,4574,4573,4589,4590,35,2412,2413,2421,2420,0,4576,4575,4591,4592,35,2413,2414,2422,2421,0,4578,4577,4593,4594,35,2414,2415,2423,2422,0,4580,4579,4595,4596,35,2415,2409,2417,2423,0,4582,4581,4597,4598,35,2417,2416,2424,2425,0,4584,4583,4599,4600,35,2416,2418,2426,2424,0,4586,4585,4601,4602,35,2418,2419,2427,2426,0,4588,4587,4603,4604,35,2419,2420,2428,2427,0,4590,4589,4605,4606,35,2420,2421,2429,2428,0,4592,4591,4607,4608,35,2421,2422,2430,2429,0,4594,4593,4609,4610,35,2422,2423,2431,2430,0,4596,4595,4611,4612,35,2423,2417,2425,2431,0,4598,4597,4613,4614,35,2425,2424,2432,2433,0,4600,4599,4615,4616,35,2424,2426,2434,2432,0,4602,4601,4617,4618,35,2426,2427,2435,2434,0,4604,4603,4619,4620,35,2427,2428,2436,2435,0,4606,4605,4621,4622,35,2428,2429,2437,2436,0,4608,4607,4623,4624,35,2429,2430,2438,2437,0,4610,4609,4625,4626,35,2430,2431,2439,2438,0,4612,4611,4627,4628,35,2431,2425,2433,2439,0,4614,4613,4629,4630,35,2433,2432,2440,2441,0,4616,4615,4631,4632,35,2432,2434,2442,2440,0,4618,4617,4633,4634,35,2434,2435,2443,2442,0,4620,4619,4635,4636,35,2435,2436,2444,2443,0,4622,4621,4637,4638,35,2436,2437,2445,2444,0,4624,4623,4639,4640,35,2437,2438,2446,2445,0,4626,4625,4641,4642,35,2438,2439,2447,2446,0,4628,4627,4643,4644,35,2439,2433,2441,2447,0,4630,4629,4645,4646,35,2441,2440,2448,2449,0,4632,4631,4647,4648,35,2440,2442,2450,2448,0,4634,4633,4649,4650,35,2442,2443,2451,2450,0,4636,4635,4651,4652,35,2443,2444,2452,2451,0,4638,4637,4653,4654,35,2444,2445,2453,2452,0,4640,4639,4655,4656,35,2445,2446,2454,2453,0,4642,4641,4657,4658,35,2446,2447,2455,2454,0,4644,4643,4659,4660,35,2447,2441,2449,2455,0,4646,4645,4661,4662,35,2449,2448,2456,2457,0,4648,4647,4663,4664,35,2448,2450,2458,2456,0,4650,4649,4665,4666,35,2450,2451,2459,2458,0,4652,4651,4667,4668,35,2451,2452,2460,2459,0,4654,4653,4669,4670,35,2452,2453,2461,2460,0,4656,4655,4671,4672,35,2453,2454,2462,2461,0,4658,4657,4673,4674,35,2454,2455,2463,2462,0,4660,4659,4675,4676,35,2455,2449,2457,2463,0,4662,4661,4677,4678,35,2457,2456,2464,2465,0,4664,4663,4679,4680,35,2456,2458,2466,2464,0,4666,4665,4681,4682,35,2458,2459,2467,2466,0,4668,4667,4683,4684,35,2459,2460,2468,2467,0,4670,4669,4685,4686,35,2460,2461,2469,2468,0,4672,4671,4687,4688,35,2461,2462,2470,2469,0,4674,4673,4689,4690,35,2462,2463,2471,2470,0,4676,4675,4691,4692,35,2463,2457,2465,2471,0,4678,4677,4693,4694,35,2465,2464,2472,2473,0,4680,4679,4695,4696,35,2464,2466,2474,2472,0,4682,4681,4697,4698,35,2466,2467,2475,2474,0,4684,4683,4699,4700,35,2467,2468,2476,2475,0,4686,4685,4701,4702,35,2468,2469,2477,2476,0,4688,4687,4703,4704,35,2469,2470,2478,2477,0,4690,4689,4705,4706,35,2470,2471,2479,2478,0,4692,4691,4707,4708,35,2471,2465,2473,2479,0,4694,4693,4709,4710,35,2473,2472,2480,2481,0,4696,4695,4711,4712,35,2472,2474,2482,2480,0,4698,4697,4713,4714,35,2474,2475,2483,2482,0,4700,4699,4715,4716,35,2475,2476,2484,2483,0,4702,4701,4717,4718,35,2476,2477,2485,2484,0,4704,4703,4719,4720,35,2477,2478,2486,2485,0,4706,4705,4721,4722,35,2478,2479,2487,2486,0,4708,4707,4723,4724,35,2479,2473,2481,2487,0,4710,4709,4725,4726,35,2481,2480,2488,2489,0,4712,4711,4727,4728,35,2480,2482,2490,2488,0,4714,4713,4729,4730,35,2482,2483,2491,2490,0,4716,4715,4731,4732,35,2483,2484,2492,2491,0,4718,4717,4733,4734,35,2484,2485,2493,2492,0,4720,4719,4735,4736,35,2485,2486,2494,2493,0,4722,4721,4737,4738,35,2486,2487,2495,2494,0,4724,4723,4739,4740,35,2487,2481,2489,2495,0,4726,4725,4741,4742,35,2489,2488,2496,2497,0,4728,4727,4743,4744,35,2488,2490,2498,2496,0,4730,4729,4745,4746,35,2490,2491,2499,2498,0,4732,4731,4747,4748,35,2491,2492,2500,2499,0,4734,4733,4749,4750,35,2492,2493,2501,2500,0,4736,4735,4751,4752,35,2493,2494,2502,2501,0,4738,4737,4753,4754,35,2494,2495,2503,2502,0,4740,4739,4755,4756,35,2495,2489,2497,2503,0,4742,4741,4757,4758,35,2497,2496,2504,2505,0,4744,4743,4759,4760,35,2496,2498,2506,2504,0,4746,4745,4761,4762,35,2498,2499,2507,2506,0,4748,4747,4763,4764,35,2499,2500,2508,2507,0,4750,4749,4765,4766,35,2500,2501,2509,2508,0,4752,4751,4767,4768,35,2501,2502,2510,2509,0,4754,4753,4769,4770,35,2502,2503,2511,2510,0,4756,4755,4771,4772,35,2503,2497,2505,2511,0,4758,4757,4773,4774,35,2505,2504,2512,2513,0,4760,4759,4775,4776,35,2504,2506,2514,2512,0,4762,4761,4777,4778,35,2506,2507,2515,2514,0,4764,4763,4779,4780,35,2507,2508,2516,2515,0,4766,4765,4781,4782,35,2508,2509,2517,2516,0,4768,4767,4783,4784,35,2509,2510,2518,2517,0,4770,4769,4785,4786,35,2510,2511,2519,2518,0,4772,4771,4787,4788,35,2511,2505,2513,2519,0,4774,4773,4789,4790,35,2513,2512,2520,2521,0,4776,4775,4791,4792,35,2512,2514,2522,2520,0,4778,4777,4793,4794,35,2514,2515,2523,2522,0,4780,4779,4795,4796,35,2515,2516,2524,2523,0,4782,4781,4797,4798,35,2516,2517,2525,2524,0,4784,4783,4799,4800,35,2517,2518,2526,2525,0,4786,4785,4801,4802,35,2518,2519,2527,2526,0,4788,4787,4803,4804,35,2519,2513,2521,2527,0,4790,4789,4805,4806,35,2521,2520,2528,2529,0,4792,4791,4807,4808,35,2520,2522,2530,2528,0,4794,4793,4809,4810,35,2522,2523,2531,2530,0,4796,4795,4811,4812,35,2523,2524,2532,2531,0,4798,4797,4813,4814,35,2524,2525,2533,2532,0,4800,4799,4815,4816,35,2525,2526,2534,2533,0,4802,4801,4817,4818,35,2526,2527,2535,2534,0,4804,4803,4819,4820,35,2527,2521,2529,2535,0,4806,4805,4821,4822,35,2529,2528,2536,2537,0,4808,4807,4823,4824,35,2528,2530,2538,2536,0,4810,4809,4825,4826,35,2530,2531,2539,2538,0,4812,4811,4827,4828,35,2531,2532,2540,2539,0,4814,4813,4829,4830,35,2532,2533,2541,2540,0,4816,4815,4831,4832,35,2533,2534,2542,2541,0,4818,4817,4833,4834,35,2534,2535,2543,2542,0,4820,4819,4835,4836,35,2535,2529,2537,2543,0,4822,4821,4837,4838,35,2537,2536,2544,2545,0,4824,4823,4839,4840,35,2536,2538,2546,2544,0,4826,4825,4841,4842,35,2538,2539,2547,2546,0,4828,4827,4843,4844,35,2539,2540,2548,2547,0,4830,4829,4845,4846,35,2540,2541,2549,2548,0,4832,4831,4847,4848,35,2541,2542,2550,2549,0,4834,4833,4849,4850,35,2542,2543,2551,2550,0,4836,4835,4851,4852,35,2543,2537,2545,2551,0,4838,4837,4853,4854,35,2545,2544,2552,2553,0,4840,4839,4855,4856,35,2544,2546,2554,2552,0,4842,4841,4857,4858,35,2546,2547,2555,2554,0,4844,4843,4859,4860,35,2547,2548,2556,2555,0,4846,4845,4861,4862,35,2548,2549,2557,2556,0,4848,4847,4863,4864,35,2549,2550,2558,2557,0,4850,4849,4865,4866,35,2550,2551,2559,2558,0,4852,4851,4867,4868,35,2551,2545,2553,2559,0,4854,4853,4869,4870,35,2553,2552,2560,2561,0,4856,4855,4871,4872,35,2552,2554,2562,2560,0,4858,4857,4873,4874,35,2554,2555,2563,2562,0,4860,4859,4875,4876,35,2555,2556,2564,2563,0,4862,4861,4877,4878,35,2556,2557,2565,2564,0,4864,4863,4879,4880,35,2557,2558,2566,2565,0,4866,4865,4881,4882,35,2558,2559,2567,2566,0,4868,4867,4883,4884,35,2559,2553,2561,2567,0,4870,4869,4885,4886,35,2561,2560,2568,2569,0,4872,4871,4887,4888,35,2560,2562,2570,2568,0,4874,4873,4889,4890,35,2562,2563,2571,2570,0,4876,4875,4891,4892,35,2563,2564,2572,2571,0,4878,4877,4893,4894,35,2564,2565,2573,2572,0,4880,4879,4895,4896,35,2565,2566,2574,2573,0,4882,4881,4897,4898,35,2566,2567,2575,2574,0,4884,4883,4899,4900,35,2567,2561,2569,2575,0,4886,4885,4901,4902,35,2569,2568,2576,2577,0,4888,4887,4903,4904,35,2568,2570,2578,2576,0,4890,4889,4905,4906,35,2570,2571,2579,2578,0,4892,4891,4907,4908,35,2571,2572,2580,2579,0,4894,4893,4909,4910,35,2572,2573,2581,2580,0,4896,4895,4911,4912,35,2573,2574,2582,2581,0,4898,4897,4913,4914,35,2574,2575,2583,2582,0,4900,4899,4915,4916,35,2575,2569,2577,2583,0,4902,4901,4917,4918,35,2577,2576,2584,2585,0,4904,4903,4919,4920,35,2576,2578,2586,2584,0,4906,4905,4921,4922,35,2578,2579,2587,2586,0,4908,4907,4923,4924,35,2579,2580,2588,2587,0,4910,4909,4925,4926,35,2580,2581,2589,2588,0,4912,4911,4927,4928,35,2581,2582,2590,2589,0,4914,4913,4929,4930,35,2582,2583,2591,2590,0,4916,4915,4931,4932,35,2583,2577,2585,2591,0,4918,4917,4933,4934,35,2585,2584,2592,2593,0,4920,4919,4935,4936,35,2584,2586,2594,2592,0,4922,4921,4937,4938,35,2586,2587,2595,2594,0,4924,4923,4939,4940,35,2587,2588,2596,2595,0,4926,4925,4941,4942,35,2588,2589,2597,2596,0,4928,4927,4943,4944,35,2589,2590,2598,2597,0,4930,4929,4945,4946,35,2590,2591,2599,2598,0,4932,4931,4947,4948,35,2591,2585,2593,2599,0,4934,4933,4949,4950,35,2593,2592,2600,2601,0,4936,4935,4951,4952,35,2592,2594,2602,2600,0,4938,4937,4953,4954,35,2594,2595,2603,2602,0,4940,4939,4955,4956,35,2595,2596,2604,2603,0,4942,4941,4957,4958,35,2596,2597,2605,2604,0,4944,4943,4959,4960,35,2597,2598,2606,2605,0,4946,4945,4961,4962,35,2598,2599,2607,2606,0,4948,4947,4963,4964,35,2599,2593,2601,2607,0,4950,4949,4965,4966,35,2601,2600,2608,2609,0,4952,4951,4967,4968,35,2600,2602,2610,2608,0,4954,4953,4969,4970,35,2602,2603,2611,2610,0,4956,4955,4971,4972,35,2603,2604,2612,2611,0,4958,4957,4973,4974,35,2604,2605,2613,2612,0,4960,4959,4975,4976,35,2605,2606,2614,2613,0,4962,4961,4977,4978,35,2606,2607,2615,2614,0,4964,4963,4979,4980,35,2607,2601,2609,2615,0,4966,4965,4981,4982,35,2609,2608,2616,2617,0,4968,4967,4983,4984,35,2608,2610,2618,2616,0,4970,4969,4985,4986,35,2610,2611,2619,2618,0,4972,4971,4987,4988,35,2611,2612,2620,2619,0,4974,4973,4989,4990,35,2612,2613,2621,2620,0,4976,4975,4991,4992,35,2613,2614,2622,2621,0,4978,4977,4993,4994,35,2614,2615,2623,2622,0,4980,4979,4995,4996,35,2615,2609,2617,2623,0,4982,4981,4997,4998,35,2617,2616,2624,2625,0,4984,4983,4999,5000,35,2616,2618,2626,2624,0,4986,4985,5001,5002,35,2618,2619,2627,2626,0,4988,4987,5003,5004,35,2619,2620,2628,2627,0,4990,4989,5005,5006,35,2620,2621,2629,2628,0,4992,4991,5007,5008,35,2621,2622,2630,2629,0,4994,4993,5009,5010,35,2622,2623,2631,2630,0,4996,4995,5011,5012,35,2623,2617,2625,2631,0,4998,4997,5013,5014,35,2625,2624,2632,2633,0,5000,4999,5015,5016,35,2624,2626,2634,2632,0,5002,5001,5017,5018,35,2626,2627,2635,2634,0,5004,5003,5019,5020,35,2627,2628,2636,2635,0,5006,5005,5021,5022,35,2628,2629,2637,2636,0,5008,5007,5023,5023,35,2629,2630,2638,2637,0,5010,5009,5024,5025,35,2630,2631,2639,2638,0,5012,5011,5026,5027,35,2631,2625,2633,2639,0,5014,5013,5028,5029,35,2633,2632,2640,2641,0,5016,5015,5030,5031,35,2632,2634,2642,2640,0,5018,5017,5032,5033,35,2634,2635,2643,2642,0,5020,5019,5034,5035,35,2635,2636,2644,2643,0,5022,5021,5036,5037,35,2636,2637,2645,2644,0,5023,5023,5038,5039,35,2637,2638,2646,2645,0,5025,5024,5040,5041,35,2638,2639,2647,2646,0,5027,5026,5042,5043,35,2639,2633,2641,2647,0,5029,5028,5044,5045,35,2641,2640,2648,2649,0,5031,5030,5046,5047,35,2640,2642,2650,2648,0,5033,5032,5048,5049,35,2642,2643,2651,2650,0,5035,5034,5050,5051,35,2643,2644,2652,2651,0,5037,5036,5052,5053,35,2644,2645,2653,2652,0,5039,5038,5054,5055,35,2645,2646,2654,2653,0,5041,5040,5056,5057,35,2646,2647,2655,2654,0,5043,5042,5058,5059,35,2647,2641,2649,2655,0,5045,5044,5060,5061,35,2649,2648,2656,2657,0,5047,5046,5062,5063,35,2648,2650,2658,2656,0,5049,5048,5064,5065,35,2650,2651,2659,2658,0,5051,5050,5066,5067,35,2651,2652,2660,2659,0,5053,5052,5068,5069,35,2652,2653,2661,2660,0,5055,5054,5070,5071,35,2653,2654,2662,2661,0,5057,5056,5072,5073,35,2654,2655,2663,2662,0,5059,5058,5074,5075,35,2655,2649,2657,2663,0,5061,5060,5076,5077,35,2657,2656,2664,2665,0,5063,5062,5078,5079,35,2656,2658,2666,2664,0,5065,5064,5080,5081,35,2658,2659,2667,2666,0,5067,5066,5082,5083,35,2659,2660,2668,2667,0,5069,5068,5084,5085,35,2660,2661,2669,2668,0,5071,5070,5086,5087,35,2661,2662,2670,2669,0,5073,5072,5088,5089,35,2662,2663,2671,2670,0,5075,5074,5090,5091,35,2663,2657,2665,2671,0,5077,5076,5092,5093,35,2665,2664,2672,2673,0,5079,5078,5094,5095,35,2664,2666,2674,2672,0,5081,5080,5096,5097,35,2666,2667,2675,2674,0,5083,5082,5098,5099,35,2667,2668,2676,2675,0,5085,5084,5100,5101,35,2668,2669,2677,2676,0,5087,5086,5102,5103,35,2669,2670,2678,2677,0,5089,5088,5104,5105,35,2670,2671,2679,2678,0,5091,5090,5106,5107,35,2671,2665,2673,2679,0,5093,5092,5108,5109,35,2673,2672,2680,2681,0,5095,5094,5110,5111,35,2672,2674,2682,2680,0,5097,5096,5112,5113,35,2674,2675,2683,2682,0,5099,5098,5114,5115,35,2675,2676,2684,2683,0,5101,5100,5116,5117,35,2676,2677,2685,2684,0,5103,5102,5118,5119,35,2677,2678,2686,2685,0,5105,5104,5120,5121,35,2678,2679,2687,2686,0,5107,5106,5122,5123,35,2679,2673,2681,2687,0,5109,5108,5124,5125,35,2681,2680,2688,2689,0,5111,5110,5126,5126,35,2680,2682,2690,2688,0,5113,5112,5127,5128,35,2682,2683,2691,2690,0,5115,5114,5129,5130,35,2683,2684,2692,2691,0,5117,5116,5131,5132,35,2684,2685,2693,2692,0,5119,5118,5133,5133,35,2685,2686,2694,2693,0,5121,5120,5134,5135,35,2686,2687,2695,2694,0,5123,5122,5136,5137,35,2687,2681,2689,2695,0,5125,5124,5138,5139,35,2689,2688,2696,2697,0,5126,5126,5140,5141,35,2688,2690,2698,2696,0,5128,5127,5142,5143,35,2690,2691,2699,2698,0,5130,5129,5144,5145,35,2691,2692,2700,2699,0,5132,5131,5146,5147,35,2692,2693,2701,2700,0,5133,5133,5148,5149,35,2693,2694,2702,2701,0,5135,5134,5150,5151,35,2694,2695,2703,2702,0,5137,5136,5152,5153,35,2695,2689,2697,2703,0,5139,5138,5154,5155,35,2697,2696,2704,2705,0,5141,5140,5156,5157,35,2696,2698,2706,2704,0,5143,5142,5158,5159,35,2698,2699,2707,2706,0,5145,5144,5160,5161,35,2699,2700,2708,2707,0,5147,5146,5162,5163,35,2700,2701,2709,2708,0,5149,5148,5164,5165,35,2701,2702,2710,2709,0,5151,5150,5166,5167,35,2702,2703,2711,2710,0,5153,5152,5168,5169,35,2703,2697,2705,2711,0,5155,5154,5170,5171,35,2705,2704,2712,2713,0,5157,5156,5172,5173,35,2704,2706,2714,2712,0,5159,5158,5174,5175,35,2706,2707,2715,2714,0,5161,5160,5176,5177,35,2707,2708,2716,2715,0,5163,5162,5178,5179,35,2708,2709,2717,2716,0,5165,5164,5180,5181,35,2709,2710,2718,2717,0,5167,5166,5182,5183,35,2710,2711,2719,2718,0,5169,5168,5184,5185,35,2711,2705,2713,2719,0,5171,5170,5186,5187,35,2713,2712,2720,2721,0,5173,5172,5188,5189,35,2712,2714,2722,2720,0,5175,5174,5190,5191,35,2714,2715,2723,2722,0,5177,5176,5192,5193,35,2715,2716,2724,2723,0,5179,5178,5194,5195,35,2716,2717,2725,2724,0,5181,5180,5196,5197,35,2717,2718,2726,2725,0,5183,5182,5198,5199,35,2718,2719,2727,2726,0,5185,5184,5200,5201,35,2719,2713,2721,2727,0,5187,5186,5202,5203,35,2721,2720,2728,2729,0,5189,5188,5204,5205,35,2720,2722,2730,2728,0,5191,5190,5206,5207,35,2722,2723,2731,2730,0,5193,5192,5208,5209,35,2723,2724,2732,2731,0,5195,5194,5210,5211,35,2724,2725,2733,2732,0,5197,5196,5212,5213,35,2725,2726,2734,2733,0,5199,5198,5214,5215,35,2726,2727,2735,2734,0,5201,5200,5216,5217,35,2727,2721,2729,2735,0,5203,5202,5218,5219,35,2729,2728,2736,2737,0,5205,5204,5220,5221,35,2728,2730,2738,2736,0,5207,5206,5222,5223,35,2730,2731,2739,2738,0,5209,5208,5224,5225,35,2731,2732,2740,2739,0,5211,5210,5226,5227,35,2732,2733,2741,2740,0,5213,5212,5228,5229,35,2733,2734,2742,2741,0,5215,5214,5230,5231,35,2734,2735,2743,2742,0,5217,5216,5232,5233,35,2735,2729,2737,2743,0,5219,5218,5234,5235,35,2737,2736,2744,2745,0,5221,5220,5236,5237,35,2736,2738,2746,2744,0,5223,5222,5238,5239,35,2738,2739,2747,2746,0,5225,5224,5240,5241,35,2739,2740,2748,2747,0,5227,5226,5242,5243,35,2740,2741,2749,2748,0,5229,5228,5244,5245,35,2741,2742,2750,2749,0,5231,5230,5246,5247,35,2742,2743,2751,2750,0,5233,5232,5248,5249,35,2743,2737,2745,2751,0,5235,5234,5250,5251,35,2745,2744,2752,2753,0,5237,5236,5252,5253,35,2744,2746,2754,2752,0,5239,5238,5254,5255,35,2746,2747,2755,2754,0,5241,5240,5256,5257,35,2747,2748,2756,2755,0,5243,5242,5258,5259,35,2748,2749,2757,2756,0,5245,5244,5260,5261,35,2749,2750,2758,2757,0,5247,5246,5262,5263,35,2750,2751,2759,2758,0,5249,5248,5264,5265,35,2751,2745,2753,2759,0,5251,5250,5266,5267,35,2753,2752,2760,2761,0,5253,5252,5268,5269,35,2752,2754,2762,2760,0,5255,5254,5270,5271,35,2754,2755,2763,2762,0,5257,5256,5272,5273,35,2755,2756,2764,2763,0,5259,5258,5274,5275,35,2756,2757,2765,2764,0,5261,5260,5276,5277,35,2757,2758,2766,2765,0,5263,5262,5278,5279,35,2758,2759,2767,2766,0,5265,5264,5280,5281,35,2759,2753,2761,2767,0,5267,5266,5282,5283,35,2761,2760,2768,2769,0,5269,5268,5284,5285,35,2760,2762,2770,2768,0,5271,5270,5286,5287,35,2762,2763,2771,2770,0,5273,5272,5288,5289,35,2763,2764,2772,2771,0,5275,5274,5290,5291,35,2764,2765,2773,2772,0,5277,5276,5292,5293,35,2765,2766,2774,2773,0,5279,5278,5294,5295,35,2766,2767,2775,2774,0,5281,5280,5296,5297,35,2767,2761,2769,2775,0,5283,5282,5298,5299,35,2769,2768,2776,2777,0,5285,5284,5300,5301,35,2768,2770,2778,2776,0,5287,5286,5302,5303,35,2770,2771,2779,2778,0,5289,5288,5304,5305,35,2771,2772,2780,2779,0,5291,5290,5306,5307,35,2772,2773,2781,2780,0,5293,5292,5308,5309,35,2773,2774,2782,2781,0,5295,5294,5310,5311,35,2774,2775,2783,2782,0,5297,5296,5312,5313,35,2775,2769,2777,2783,0,5299,5298,5314,5315,35,2777,2776,2784,2785,0,5301,5300,5316,5317,35,2776,2778,2786,2784,0,5303,5302,5318,5319,35,2778,2779,2787,2786,0,5305,5304,5320,5321,35,2779,2780,2788,2787,0,5307,5306,5322,5323,35,2780,2781,2789,2788,0,5309,5308,5324,5325,35,2781,2782,2790,2789,0,5311,5310,5326,5327,35,2782,2783,2791,2790,0,5313,5312,5328,5329,35,2783,2777,2785,2791,0,5315,5314,5330,5331,35,2785,2784,2792,2793,0,5317,5316,5332,5333,35,2784,2786,2794,2792,0,5319,5318,5334,5335,35,2786,2787,2795,2794,0,5321,5320,5336,5337,35,2787,2788,2796,2795,0,5323,5322,5338,5339,35,2788,2789,2797,2796,0,5325,5324,5340,5341,35,2789,2790,2798,2797,0,5327,5326,5342,5343,35,2790,2791,2799,2798,0,5329,5328,5344,5345,35,2791,2785,2793,2799,0,5331,5330,5346,5347,35,2793,2792,2800,2801,0,5333,5332,5348,5349,35,2792,2794,2802,2800,0,5335,5334,5350,5351,35,2794,2795,2803,2802,0,5337,5336,5352,5353,35,2795,2796,2804,2803,0,5339,5338,5354,5355,35,2796,2797,2805,2804,0,5341,5340,5356,5357,35,2797,2798,2806,2805,0,5343,5342,5358,5359,35,2798,2799,2807,2806,0,5345,5344,5360,5361,35,2799,2793,2801,2807,0,5347,5346,5362,5363,35,2801,2800,2808,2809,0,5349,5348,5364,5365,35,2800,2802,2810,2808,0,5351,5350,5366,5367,35,2802,2803,2811,2810,0,5353,5352,5368,5369,35,2803,2804,2812,2811,0,5355,5354,5370,5371,35,2804,2805,2813,2812,0,5357,5356,5372,5373,35,2805,2806,2814,2813,0,5359,5358,5374,5375,35,2806,2807,2815,2814,0,5361,5360,5376,5377,35,2807,2801,2809,2815,0,5363,5362,5378,5379,35,2809,2808,2816,2817,0,5365,5364,5380,5381,35,2808,2810,2818,2816,0,5367,5366,5382,5383,35,2810,2811,2819,2818,0,5369,5368,5384,5385,35,2811,2812,2820,2819,0,5371,5370,5386,5387,35,2812,2813,2821,2820,0,5373,5372,5388,5389,35,2813,2814,2822,2821,0,5375,5374,5390,5391,35,2814,2815,2823,2822,0,5377,5376,5392,5393,35,2815,2809,2817,2823,0,5379,5378,5394,5395,35,2817,2816,2824,2825,0,5381,5380,5396,5397,35,2816,2818,2826,2824,0,5383,5382,5398,5399,35,2818,2819,2827,2826,0,5385,5384,5400,5401,35,2819,2820,2828,2827,0,5387,5386,5402,5403,35,2820,2821,2829,2828,0,5389,5388,5404,5405,35,2821,2822,2830,2829,0,5391,5390,5406,5407,35,2822,2823,2831,2830,0,5393,5392,5408,5409,35,2823,2817,2825,2831,0,5395,5394,5410,5411,35,2825,2824,2832,2833,0,5397,5396,5412,5413,35,2824,2826,2834,2832,0,5399,5398,5414,5415,35,2826,2827,2835,2834,0,5401,5400,5416,5417,35,2827,2828,2836,2835,0,5403,5402,5418,5419,35,2828,2829,2837,2836,0,5405,5404,5420,5421,35,2829,2830,2838,2837,0,5407,5406,5422,5423,35,2830,2831,2839,2838,0,5409,5408,5424,5425,35,2831,2825,2833,2839,0,5411,5410,5426,5427,35,2833,2832,2840,2841,0,5413,5412,5428,5428,35,2832,2834,2842,2840,0,5415,5414,5429,5429,35,2834,2835,2843,2842,0,5417,5416,5430,5431,35,2835,2836,2844,2843,0,5419,5418,5432,5432,35,2836,2837,2845,2844,0,5421,5420,5433,5433,35,2837,2838,2846,2845,0,5423,5422,5434,5434,35,2838,2839,2847,2846,0,5425,5424,5435,5435,35,2839,2833,2841,2847,0,5427,5426,5436,5436,35,2841,2840,2848,2849,0,5428,5428,5437,5438,35,2840,2842,2850,2848,0,5429,5429,5439,5440,35,2842,2843,2851,2850,0,5431,5430,5441,5442,35,2843,2844,2852,2851,0,5432,5432,5443,5444,35,2844,2845,2853,2852,0,5433,5433,5445,5446,35,2845,2846,2854,2853,0,5434,5434,5447,5448,35,2846,2847,2855,2854,0,5435,5435,5449,5450,35,2847,2841,2849,2855,0,5436,5436,5451,5452,35,2849,2848,2856,2857,0,5438,5437,5453,5454,35,2848,2850,2858,2856,0,5440,5439,5455,5456,35,2850,2851,2859,2858,0,5442,5441,5457,5458,35,2851,2852,2860,2859,0,5444,5443,5459,5460,35,2852,2853,2861,2860,0,5446,5445,5461,5462,35,2853,2854,2862,2861,0,5448,5447,5463,5464,35,2854,2855,2863,2862,0,5450,5449,5465,5466,35,2855,2849,2857,2863,0,5452,5451,5467,5468,35,2857,2856,2864,2865,0,5454,5453,5469,5470,35,2856,2858,2866,2864,0,5456,5455,5471,5472,35,2858,2859,2867,2866,0,5458,5457,5473,5474,35,2859,2860,2868,2867,0,5460,5459,5475,5476,35,2860,2861,2869,2868,0,5462,5461,5477,5478,35,2861,2862,2870,2869,0,5464,5463,5479,5480,35,2862,2863,2871,2870,0,5466,5465,5481,5482,35,2863,2857,2865,2871,0,5468,5467,5483,5484,35,2865,2864,2872,2873,0,5470,5469,5485,5486,35,2864,2866,2874,2872,0,5472,5471,5487,5488,35,2866,2867,2875,2874,0,5474,5473,5489,5490,35,2867,2868,2876,2875,0,5476,5475,5491,5492,35,2868,2869,2877,2876,0,5478,5477,5493,5494,35,2869,2870,2878,2877,0,5480,5479,5495,5496,35,2870,2871,2879,2878,0,5482,5481,5497,5498,35,2871,2865,2873,2879,0,5484,5483,5499,5500,35,2873,2872,2880,2881,0,5486,5485,5501,5502,35,2872,2874,2882,2880,0,5488,5487,5503,5504,35,2874,2875,2883,2882,0,5490,5489,5505,5506,35,2875,2876,2884,2883,0,5492,5491,5507,5508,35,2876,2877,2885,2884,0,5494,5493,5509,5510,35,2877,2878,2886,2885,0,5496,5495,5511,5512,35,2878,2879,2887,2886,0,5498,5497,5513,5514,35,2879,2873,2881,2887,0,5500,5499,5515,5516,35,2881,2880,2888,2889,0,5502,5501,5517,5518,35,2880,2882,2890,2888,0,5504,5503,5519,5520,35,2882,2883,2891,2890,0,5506,5505,5521,5522,35,2883,2884,2892,2891,0,5508,5507,5523,5524,35,2884,2885,2893,2892,0,5510,5509,5525,5526,35,2885,2886,2894,2893,0,5512,5511,5527,5528,35,2886,2887,2895,2894,0,5514,5513,5529,5530,35,2887,2881,2889,2895,0,5516,5515,5531,5532,35,2889,2888,2896,2897,0,5518,5517,5533,5534,35,2888,2890,2898,2896,0,5520,5519,5535,5536,35,2890,2891,2899,2898,0,5522,5521,5537,5538,35,2891,2892,2900,2899,0,5524,5523,5539,5540,35,2892,2893,2901,2900,0,5526,5525,5541,5542,35,2893,2894,2902,2901,0,5528,5527,5543,5544,35,2894,2895,2903,2902,0,5530,5529,5545,5546,35,2895,2889,2897,2903,0,5532,5531,5547,5548,35,2897,2896,2904,2905,0,5534,5533,5549,5550,35,2896,2898,2906,2904,0,5536,5535,5551,5552,35,2898,2899,2907,2906,0,5538,5537,5553,5554,35,2899,2900,2908,2907,0,5540,5539,5555,5556,35,2900,2901,2909,2908,0,5542,5541,5557,5558,35,2901,2902,2910,2909,0,5544,5543,5559,5560,35,2902,2903,2911,2910,0,5546,5545,5561,5562,35,2903,2897,2905,2911,0,5548,5547,5563,5564,35,2905,2904,2912,2913,0,5550,5549,5565,5566,35,2904,2906,2914,2912,0,5552,5551,5567,5568,35,2906,2907,2915,2914,0,5554,5553,5569,5570,35,2907,2908,2916,2915,0,5556,5555,5571,5572,35,2908,2909,2917,2916,0,5558,5557,5573,5574,35,2909,2910,2918,2917,0,5560,5559,5575,5576,35,2910,2911,2919,2918,0,5562,5561,5577,5578,35,2911,2905,2913,2919,0,5564,5563,5579,5580,35,2913,2912,2920,2921,0,5566,5565,5581,5582,35,2912,2914,2922,2920,0,5568,5567,5583,5584,35,2914,2915,2923,2922,0,5570,5569,5585,5586,35,2915,2916,2924,2923,0,5572,5571,5587,5588,35,2916,2917,2925,2924,0,5574,5573,5589,5590,35,2917,2918,2926,2925,0,5576,5575,5591,5592,35,2918,2919,2927,2926,0,5578,5577,5593,5594,35,2919,2913,2921,2927,0,5580,5579,5595,5596,35,2921,2920,2928,2929,0,5582,5581,5597,5598,35,2920,2922,2930,2928,0,5584,5583,5599,5600,35,2922,2923,2931,2930,0,5586,5585,5601,5602,35,2923,2924,2932,2931,0,5588,5587,5603,5604,35,2924,2925,2933,2932,0,5590,5589,5605,5606,35,2925,2926,2934,2933,0,5592,5591,5607,5608,35,2926,2927,2935,2934,0,5594,5593,5609,5610,35,2927,2921,2929,2935,0,5596,5595,5611,5612,35,2929,2928,2936,2937,0,5598,5597,5613,5614,35,2928,2930,2938,2936,0,5600,5599,5615,5616,35,2930,2931,2939,2938,0,5602,5601,5617,5618,35,2931,2932,2940,2939,0,5604,5603,5619,5620,35,2932,2933,2941,2940,0,5606,5605,5621,5622,35,2933,2934,2942,2941,0,5608,5607,5623,5624,35,2934,2935,2943,2942,0,5610,5609,5625,5626,35,2935,2929,2937,2943,0,5612,5611,5627,5628,35,2937,2936,2944,2945,0,5614,5613,5629,5630,35,2936,2938,2946,2944,0,5616,5615,5631,5632,35,2938,2939,2947,2946,0,5618,5617,5633,5634,35,2939,2940,2948,2947,0,5620,5619,5635,5636,35,2940,2941,2949,2948,0,5622,5621,5637,5638,35,2941,2942,2950,2949,0,5624,5623,5639,5640,35,2942,2943,2951,2950,0,5626,5625,5641,5642,35,2943,2937,2945,2951,0,5628,5627,5643,5644,35,2945,2944,2952,2953,0,5630,5629,5645,5646,35,2944,2946,2954,2952,0,5632,5631,5647,5648,35,2946,2947,2955,2954,0,5634,5633,5649,5650,35,2947,2948,2956,2955,0,5636,5635,5651,5652,35,2948,2949,2957,2956,0,5638,5637,5653,5654,35,2949,2950,2958,2957,0,5640,5639,5655,5656,35,2950,2951,2959,2958,0,5642,5641,5657,5658,35,2951,2945,2953,2959,0,5644,5643,5659,5660,35,2953,2952,2960,2961,0,5646,5645,5661,5662,35,2952,2954,2962,2960,0,5648,5647,5663,5664,35,2954,2955,2963,2962,0,5650,5649,5665,5666,35,2955,2956,2964,2963,0,5652,5651,5667,5668,35,2956,2957,2965,2964,0,5654,5653,5669,5670,35,2957,2958,2966,2965,0,5656,5655,5671,5672,35,2958,2959,2967,2966,0,5658,5657,5673,5674,35,2959,2953,2961,2967,0,5660,5659,5675,5676,35,2961,2960,2968,2969,0,5662,5661,5677,5678,35,2960,2962,2970,2968,0,5664,5663,5679,5680,35,2962,2963,2971,2970,0,5666,5665,5681,5682,35,2963,2964,2972,2971,0,5668,5667,5683,5684,35,2964,2965,2973,2972,0,5670,5669,5685,5686,35,2965,2966,2974,2973,0,5672,5671,5687,5688,35,2966,2967,2975,2974,0,5674,5673,5689,5690,35,2967,2961,2969,2975,0,5676,5675,5691,5692,35,2969,2968,2976,2977,0,5678,5677,5693,5694,35,2968,2970,2978,2976,0,5680,5679,5695,5696,35,2970,2971,2979,2978,0,5682,5681,5697,5698,35,2971,2972,2980,2979,0,5684,5683,5699,5700,35,2972,2973,2981,2980,0,5686,5685,5701,5702,35,2973,2974,2982,2981,0,5688,5687,5703,5704,35,2974,2975,2983,2982,0,5690,5689,5705,5706,35,2975,2969,2977,2983,0,5692,5691,5707,5708,35,2977,2976,2984,2985,0,5694,5693,5709,5710,35,2976,2978,2986,2984,0,5696,5695,5711,5712,35,2978,2979,2987,2986,0,5698,5697,5713,5714,35,2979,2980,2988,2987,0,5700,5699,5715,5716,35,2980,2981,2989,2988,0,5702,5701,5717,5718,35,2981,2982,2990,2989,0,5704,5703,5719,5720,35,2982,2983,2991,2990,0,5706,5705,5721,5722,35,2983,2977,2985,2991,0,5708,5707,5723,5724,35,2985,2984,2992,2993,0,5710,5709,5725,5726,35,2984,2986,2994,2992,0,5712,5711,5727,5728,35,2986,2987,2995,2994,0,5714,5713,5729,5730,35,2987,2988,2996,2995,0,5716,5715,5731,5732,35,2988,2989,2997,2996,0,5718,5717,5733,5734,35,2989,2990,2998,2997,0,5720,5719,5735,5736,35,2990,2991,2999,2998,0,5722,5721,5737,5738,35,2991,2985,2993,2999,0,5724,5723,5739,5740,35,2993,2992,3000,3001,0,5726,5725,5741,5742,35,2992,2994,3002,3000,0,5728,5727,5743,5744,35,2994,2995,3003,3002,0,5730,5729,5745,5746,35,2995,2996,3004,3003,0,5732,5731,5747,5748,35,2996,2997,3005,3004,0,5734,5733,5749,5750,35,2997,2998,3006,3005,0,5736,5735,5751,5752,35,2998,2999,3007,3006,0,5738,5737,5753,5754,35,2999,2993,3001,3007,0,5740,5739,5755,5756,35,3001,3000,3008,3009,0,5742,5741,5757,5758,35,3000,3002,3010,3008,0,5744,5743,5759,5760,35,3002,3003,3011,3010,0,5746,5745,5761,5762,35,3003,3004,3012,3011,0,5748,5747,5763,5764,35,3004,3005,3013,3012,0,5750,5749,5765,5766,35,3005,3006,3014,3013,0,5752,5751,5767,5768,35,3006,3007,3015,3014,0,5754,5753,5769,5770,35,3007,3001,3009,3015,0,5756,5755,5771,5772,35,3009,3008,3016,3017,0,5758,5757,5773,5774,35,3008,3010,3018,3016,0,5760,5759,5775,5776,35,3010,3011,3019,3018,0,5762,5761,5777,5778,35,3011,3012,3020,3019,0,5764,5763,5779,5780,35,3012,3013,3021,3020,0,5766,5765,5781,5782,35,3013,3014,3022,3021,0,5768,5767,5783,5784,35,3014,3015,3023,3022,0,5770,5769,5785,5786,35,3015,3009,3017,3023,0,5772,5771,5787,5788,35,3017,3016,3024,3025,0,5774,5773,5789,5790,35,3016,3018,3026,3024,0,5776,5775,5791,5792,35,3018,3019,3027,3026,0,5778,5777,5793,5794,35,3019,3020,3028,3027,0,5780,5779,5795,5796,35,3020,3021,3029,3028,0,5782,5781,5797,5798,35,3021,3022,3030,3029,0,5784,5783,5799,5800,35,3022,3023,3031,3030,0,5786,5785,5801,5802,35,3023,3017,3025,3031,0,5788,5787,5803,5804,35,3025,3024,3032,3033,0,5790,5789,5805,5806,35,3024,3026,3034,3032,0,5792,5791,5807,5808,35,3026,3027,3035,3034,0,5794,5793,5809,5810,35,3027,3028,3036,3035,0,5796,5795,5811,5812,35,3028,3029,3037,3036,0,5798,5797,5813,5814,35,3029,3030,3038,3037,0,5800,5799,5815,5816,35,3030,3031,3039,3038,0,5802,5801,5817,5818,35,3031,3025,3033,3039,0,5804,5803,5819,5820,35,3033,3032,3040,3041,0,5806,5805,5821,5822,35,3032,3034,3042,3040,0,5808,5807,5823,5824,35,3034,3035,3043,3042,0,5810,5809,5825,5826,35,3035,3036,3044,3043,0,5812,5811,5827,5828,35,3036,3037,3045,3044,0,5814,5813,5829,5830,35,3037,3038,3046,3045,0,5816,5815,5831,5832,35,3038,3039,3047,3046,0,5818,5817,5833,5834,35,3039,3033,3041,3047,0,5820,5819,5835,5836,35,3041,3040,3048,3049,0,5822,5821,5837,5838,35,3040,3042,3050,3048,0,5824,5823,5839,5840,35,3042,3043,3051,3050,0,5826,5825,5841,5842,35,3043,3044,3052,3051,0,5828,5827,5843,5844,35,3044,3045,3053,3052,0,5830,5829,5845,5846,35,3045,3046,3054,3053,0,5832,5831,5847,5848,35,3046,3047,3055,3054,0,5834,5833,5849,5850,35,3047,3041,3049,3055,0,5836,5835,5851,5852,35,3049,3048,3056,3057,0,5838,5837,5853,5854,35,3048,3050,3058,3056,0,5840,5839,5855,5856,35,3050,3051,3059,3058,0,5842,5841,5857,5858,35,3051,3052,3060,3059,0,5844,5843,5859,5860,35,3052,3053,3061,3060,0,5846,5845,5861,5862,35,3053,3054,3062,3061,0,5848,5847,5863,5864,35,3054,3055,3063,3062,0,5850,5849,5865,5866,35,3055,3049,3057,3063,0,5852,5851,5867,5868,35,3057,3056,3064,3065,0,5854,5853,5869,5870,35,3056,3058,3066,3064,0,5856,5855,5871,5872,35,3058,3059,3067,3066,0,5858,5857,5873,5874,35,3059,3060,3068,3067,0,5860,5859,5875,5876,35,3060,3061,3069,3068,0,5862,5861,5877,5878,35,3061,3062,3070,3069,0,5864,5863,5879,5880,35,3062,3063,3071,3070,0,5866,5865,5881,5882,35,3063,3057,3065,3071,0,5868,5867,5883,5884,35,3065,3064,3072,3073,0,5870,5869,5885,5886,35,3064,3066,3074,3072,0,5872,5871,5887,5888,35,3066,3067,3075,3074,0,5874,5873,5889,5890,35,3067,3068,3076,3075,0,5876,5875,5891,5892,35,3068,3069,3077,3076,0,5878,5877,5893,5894,35,3069,3070,3078,3077,0,5880,5879,5895,5896,35,3070,3071,3079,3078,0,5882,5881,5897,5898,35,3071,3065,3073,3079,0,5884,5883,5899,5900,35,3073,3072,3080,3081,0,5886,5885,5901,5902,35,3072,3074,3082,3080,0,5888,5887,5903,5904,35,3074,3075,3083,3082,0,5890,5889,5905,5906,35,3075,3076,3084,3083,0,5892,5891,5907,5908,35,3076,3077,3085,3084,0,5894,5893,5909,5910,35,3077,3078,3086,3085,0,5896,5895,5911,5912,35,3078,3079,3087,3086,0,5898,5897,5913,5914,35,3079,3073,3081,3087,0,5900,5899,5915,5916,35,3081,3080,3088,3089,0,5902,5901,5917,5918,35,3080,3082,3090,3088,0,5904,5903,5919,5920,35,3082,3083,3091,3090,0,5906,5905,5921,5922,35,3083,3084,3092,3091,0,5908,5907,5923,5924,35,3084,3085,3093,3092,0,5910,5909,5925,5926,35,3085,3086,3094,3093,0,5912,5911,5927,5928,35,3086,3087,3095,3094,0,5914,5913,5929,5930,35,3087,3081,3089,3095,0,5916,5915,5931,5932,35,3089,3088,3096,3097,0,5918,5917,5933,5934,35,3088,3090,3098,3096,0,5920,5919,5935,5936,35,3090,3091,3099,3098,0,5922,5921,5937,5938,35,3091,3092,3100,3099,0,5924,5923,5939,5940,35,3092,3093,3101,3100,0,5926,5925,5941,5942,35,3093,3094,3102,3101,0,5928,5927,5943,5944,35,3094,3095,3103,3102,0,5930,5929,5945,5946,35,3095,3089,3097,3103,0,5932,5931,5947,5948,35,3097,3096,3104,3105,0,5934,5933,5949,5950,35,3096,3098,3106,3104,0,5936,5935,5951,5952,35,3098,3099,3107,3106,0,5938,5937,5953,5954,35,3099,3100,3108,3107,0,5940,5939,5955,5956,35,3100,3101,3109,3108,0,5942,5941,5957,5958,35,3101,3102,3110,3109,0,5944,5943,5959,5960,35,3102,3103,3111,3110,0,5946,5945,5961,5962,35,3103,3097,3105,3111,0,5948,5947,5963,5964,35,3105,3104,3112,3113,0,5950,5949,5965,5966,35,3104,3106,3114,3112,0,5952,5951,5967,5968,35,3106,3107,3115,3114,0,5954,5953,5969,5970,35,3107,3108,3116,3115,0,5956,5955,5971,5972,35,3108,3109,3117,3116,0,5958,5957,5973,5974,35,3109,3110,3118,3117,0,5960,5959,5975,5976,35,3110,3111,3119,3118,0,5962,5961,5977,5978,35,3111,3105,3113,3119,0,5964,5963,5979,5980,35,3113,3112,3120,3121,0,5966,5965,5981,5982,35,3112,3114,3122,3120,0,5968,5967,5983,5984,35,3114,3115,3123,3122,0,5970,5969,5985,5986,35,3115,3116,3124,3123,0,5972,5971,5987,5988,35,3116,3117,3125,3124,0,5974,5973,5989,5990,35,3117,3118,3126,3125,0,5976,5975,5991,5992,35,3118,3119,3127,3126,0,5978,5977,5993,5994,35,3119,3113,3121,3127,0,5980,5979,5995,5996,35,3121,3120,3128,3129,0,5982,5981,5997,5998,35,3120,3122,3130,3128,0,5984,5983,5999,6000,35,3122,3123,3131,3130,0,5986,5985,6001,6002,35,3123,3124,3132,3131,0,5988,5987,6003,6004,35,3124,3125,3133,3132,0,5990,5989,6005,6006,35,3125,3126,3134,3133,0,5992,5991,6007,6008,35,3126,3127,3135,3134,0,5994,5993,6009,6010,35,3127,3121,3129,3135,0,5996,5995,6011,6012,35,3129,3128,3136,3137,0,5998,5997,6013,6014,35,3128,3130,3138,3136,0,6000,5999,6015,6016,35,3130,3131,3139,3138,0,6002,6001,6017,6018,35,3131,3132,3140,3139,0,6004,6003,6019,6020,35,3132,3133,3141,3140,0,6006,6005,6021,6022,35,3133,3134,3142,3141,0,6008,6007,6023,6024,35,3134,3135,3143,3142,0,6010,6009,6025,6026,35,3135,3129,3137,3143,0,6012,6011,6027,6028,35,3137,3136,3144,3145,0,6014,6013,6029,6030,35,3136,3138,3146,3144,0,6016,6015,6031,6032,35,3138,3139,3147,3146,0,6018,6017,6033,6034,35,3139,3140,3148,3147,0,6020,6019,6035,6036,35,3140,3141,3149,3148,0,6022,6021,6037,6038,35,3141,3142,3150,3149,0,6024,6023,6039,6040,35,3142,3143,3151,3150,0,6026,6025,6041,6042,35,3143,3137,3145,3151,0,6028,6027,6043,6044,35,3145,3144,3152,3153,0,6030,6029,6045,6046,35,3144,3146,3154,3152,0,6032,6031,6047,6048,35,3146,3147,3155,3154,0,6034,6033,6049,6050,35,3147,3148,3156,3155,0,6036,6035,6051,6052,35,3148,3149,3157,3156,0,6038,6037,6053,6054,35,3149,3150,3158,3157,0,6040,6039,6055,6056,35,3150,3151,3159,3158,0,6042,6041,6057,6058,35,3151,3145,3153,3159,0,6044,6043,6059,6060,35,3153,3152,3160,3161,0,6046,6045,6061,6062,35,3152,3154,3162,3160,0,6048,6047,6063,6064,35,3154,3155,3163,3162,0,6050,6049,6065,6066,35,3155,3156,3164,3163,0,6052,6051,6067,6068,35,3156,3157,3165,3164,0,6054,6053,6069,6070,35,3157,3158,3166,3165,0,6056,6055,6071,6072,35,3158,3159,3167,3166,0,6058,6057,6073,6074,35,3159,3153,3161,3167,0,6060,6059,6075,6076,35,3161,3160,3168,3169,0,6062,6061,6077,6078,35,3160,3162,3170,3168,0,6064,6063,6079,6080,35,3162,3163,3171,3170,0,6066,6065,6081,6082,35,3163,3164,3172,3171,0,6068,6067,6083,6084,35,3164,3165,3173,3172,0,6070,6069,6085,6086,35,3165,3166,3174,3173,0,6072,6071,6087,6088,35,3166,3167,3175,3174,0,6074,6073,6089,6090,35,3167,3161,3169,3175,0,6076,6075,6091,6092,35,3169,3168,3176,3177,0,6078,6077,6093,6094,35,3168,3170,3178,3176,0,6080,6079,6095,6096,35,3170,3171,3179,3178,0,6082,6081,6097,6098,35,3171,3172,3180,3179,0,6084,6083,6099,6100,35,3172,3173,3181,3180,0,6086,6085,6101,6102,35,3173,3174,3182,3181,0,6088,6087,6103,6104,35,3174,3175,3183,3182,0,6090,6089,6105,6106,35,3175,3169,3177,3183,0,6092,6091,6107,6108,35,3177,3176,3184,3185,0,6094,6093,6109,6110,35,3176,3178,3186,3184,0,6096,6095,6111,6112,35,3178,3179,3187,3186,0,6098,6097,6113,6114,35,3179,3180,3188,3187,0,6100,6099,6115,6115,35,3180,3181,3189,3188,0,6102,6101,541,541,35,3181,3182,3190,3189,0,6104,6103,6116,6116,35,3182,3183,3191,3190,0,6106,6105,6117,6118,35,3183,3177,3185,3191,0,6108,6107,6119,6120,35,3185,3184,3192,3193,0,6110,6109,6121,6121,35,3184,3186,3194,3192,0,6112,6111,6122,6123,35,3186,3187,3195,3194,0,6114,6113,6124,6125,35,3187,3188,3196,3195,0,6115,6115,6126,6127,35,3188,3189,3197,3196,0,541,541,6128,6128,35,3189,3190,3198,3197,0,6116,6116,6129,6130,35,3190,3191,3199,3198,0,6118,6117,6131,6131,35,3191,3185,3193,3199,0,6120,6119,6132,6133,35,3193,3192,3200,3201,0,6121,6121,6134,6135,35,3192,3194,3202,3200,0,6123,6122,6136,6137,35,3194,3195,3203,3202,0,6125,6124,6138,6139,35,3195,3196,3204,3203,0,6127,6126,6140,6141,35,3196,3197,3205,3204,0,6128,6128,6142,6143,35,3197,3198,3206,3205,0,6130,6129,6144,6145,35,3198,3199,3207,3206,0,6131,6131,6146,6147,35,3199,3193,3201,3207,0,6133,6132,6148,6149,35,3201,3200,1,0,0,6135,6134,1,0,35,3200,3202,4,1,0,6137,6136,4,3,35,3202,3203,6,4,0,6139,6138,8,7,35,3203,3204,8,6,0,6141,6140,12,11,35,3204,3205,10,8,0,6143,6142,16,15,35,3205,3206,12,10,0,6145,6144,20,19,35,3206,3207,14,12,0,6147,6146,24,23,35,3207,3201,0,14,0,6149,6148,28,27] - -} diff --git a/tools/hexgl/icon_128.png b/tools/hexgl/icon_128.png deleted file mode 100644 index bfb50ed..0000000 Binary files a/tools/hexgl/icon_128.png and /dev/null differ diff --git a/tools/hexgl/icon_256.png b/tools/hexgl/icon_256.png deleted file mode 100644 index edfecf3..0000000 Binary files a/tools/hexgl/icon_256.png and /dev/null differ diff --git a/tools/hexgl/icon_32.png b/tools/hexgl/icon_32.png deleted file mode 100644 index 3319df9..0000000 Binary files a/tools/hexgl/icon_32.png and /dev/null differ diff --git a/tools/hexgl/icon_64.png b/tools/hexgl/icon_64.png deleted file mode 100644 index c092135..0000000 Binary files a/tools/hexgl/icon_64.png and /dev/null differ diff --git a/tools/hexgl/index.html b/tools/hexgl/index.html deleted file mode 100644 index c162c22..0000000 --- a/tools/hexgl/index.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - HexGL by BKcore - - - - - - - - - - - - - - - - - - -
-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tools/hexgl/launch.coffee b/tools/hexgl/launch.coffee deleted file mode 100644 index 6e6632e..0000000 --- a/tools/hexgl/launch.coffee +++ /dev/null @@ -1,85 +0,0 @@ -$ = (_) -> document.getElementById _ - -init = (controlType, quality, hud, godmode) -> - hexGL = new bkcore.hexgl.HexGL( - document: document - width: window.innerWidth - height: window.innerHeight - container: $ 'main' - overlay: $ 'overlay' - gameover: $ 'step-5' - quality: quality - difficulty: 0 - hud: hud is 1 - controlType: controlType - godmode: godmode - track: 'Cityscape' - ) - window.hexGL=hexGL - - progressbar = $ 'progressbar' - hexGL.load( - onLoad: -> - console.log 'LOADED.' - hexGL.init() - $('step-3').style.display = 'none' - $('step-4').style.display = 'block' - hexGL.start() - onError: (s) -> - console.error "Error loading #{ s }." - onProgress: (p, t, n) -> - console.log("LOADED "+t+" : "+n+" ( "+p.loaded+" / "+p.total+" ).") - progressbar.style.width = "#{ p.loaded / p.total * 100 }%" - ) - -u = bkcore.Utils.getURLParameter - -defaultControls = if bkcore.Utils.isTouchDevice() then 1 else 0 - -s = [ - ['controlType', ['KEYBOARD', 'TOUCH', 'LEAP MOTION CONTROLLER', - 'GAMEPAD'], defaultControls, defaultControls, 'Controls: '] - ['quality', ['LOW', 'MID', 'HIGH', 'VERY HIGH'], 3, 3, 'Quality: '] - ['hud', ['OFF', 'ON'], 1, 1, 'HUD: '] - ['godmode', ['OFF', 'ON'], 0, 1, 'Godmode: '] -] - -for a in s - do(a)-> - a[3] = u(a[0]) ? a[2] - e = $ "s-#{a[0]}" - (f = -> e.innerHTML = a[4]+a[1][a[3]])() - e.onclick = -> f(a[3] = (a[3]+1)%a[1].length) -$('step-2').onclick = -> - $('step-2').style.display = 'none' - $('step-3').style.display = 'block' - init s[0][3], s[1][3], s[2][3], s[3][3] -$('step-5').onclick = -> - window.location.reload() -$('s-credits').onclick = -> - $('step-1').style.display = 'none' - $('credits').style.display = 'block' -$('credits').onclick = -> - $('step-1').style.display = 'block' - $('credits').style.display = 'none' - -hasWebGL = -> - gl = null - canvas = document.createElement('canvas'); - try - gl = canvas.getContext("webgl") - if not gl? - try - gl = canvas.getContext("experimental-webgl") - return gl? - -if not hasWebGL() - getWebGL = $('start') - getWebGL.innerHTML = 'WebGL is not supported!' - getWebGL.onclick = -> - window.location.href = 'http://get.webgl.org/' -else - $('start').onclick = -> - $('step-1').style.display = 'none' - $('step-2').style.display = 'block' - $('step-2').style.backgroundImage = "url(css/help-#{s[0][3]}.png)" diff --git a/tools/hexgl/launch.js b/tools/hexgl/launch.js deleted file mode 100644 index 92611d2..0000000 --- a/tools/hexgl/launch.js +++ /dev/null @@ -1,116 +0,0 @@ -// Generated by CoffeeScript 1.7.1 -(function() { - var $, a, defaultControls, getWebGL, hasWebGL, init, s, u, _fn, _i, _len; - - $ = function(_) { - return document.getElementById(_); - }; - - init = function(controlType, quality, hud, godmode) { - var hexGL, progressbar; - hexGL = new bkcore.hexgl.HexGL({ - document: document, - width: window.innerWidth, - height: window.innerHeight, - container: $('main'), - overlay: $('overlay'), - gameover: $('step-5'), - quality: quality, - difficulty: 0, - hud: hud === 1, - controlType: controlType, - godmode: godmode, - track: 'Cityscape' - }); - window.hexGL = hexGL; - progressbar = $('progressbar'); - return hexGL.load({ - onLoad: function() { - console.log('LOADED.'); - hexGL.init(); - $('step-3').style.display = 'none'; - $('step-4').style.display = 'block'; - return hexGL.start(); - }, - onError: function(s) { - return console.error("Error loading " + s + "."); - }, - onProgress: function(p, t, n) { - console.log("LOADED " + t + " : " + n + " ( " + p.loaded + " / " + p.total + " )."); - return progressbar.style.width = "" + (p.loaded / p.total * 100) + "%"; - } - }); - }; - - u = bkcore.Utils.getURLParameter; - - defaultControls = bkcore.Utils.isTouchDevice() ? 1 : 0; - - s = [['controlType', ['KEYBOARD', 'TOUCH', 'LEAP MOTION CONTROLLER', 'GAMEPAD'], defaultControls, defaultControls, 'Controls: '], ['quality', ['LOW', 'MID', 'HIGH', 'VERY HIGH'], 3, 3, 'Quality: '], ['hud', ['OFF', 'ON'], 1, 1, 'HUD: '], ['godmode', ['OFF', 'ON'], 0, 1, 'Godmode: ']]; - - _fn = function(a) { - var e, f, _ref; - a[3] = (_ref = u(a[0])) != null ? _ref : a[2]; - e = $("s-" + a[0]); - (f = function() { - return e.innerHTML = a[4] + a[1][a[3]]; - })(); - return e.onclick = function() { - return f(a[3] = (a[3] + 1) % a[1].length); - }; - }; - for (_i = 0, _len = s.length; _i < _len; _i++) { - a = s[_i]; - _fn(a); - } - - $('step-2').onclick = function() { - $('step-2').style.display = 'none'; - $('step-3').style.display = 'block'; - return init(s[0][3], s[1][3], s[2][3], s[3][3]); - }; - - $('step-5').onclick = function() { - return window.location.reload(); - }; - - $('s-credits').onclick = function() { - $('step-1').style.display = 'none'; - return $('credits').style.display = 'block'; - }; - - $('credits').onclick = function() { - $('step-1').style.display = 'block'; - return $('credits').style.display = 'none'; - }; - - hasWebGL = function() { - var canvas, gl; - gl = null; - canvas = document.createElement('canvas'); - try { - gl = canvas.getContext("webgl"); - } catch (_error) {} - if (gl == null) { - try { - gl = canvas.getContext("experimental-webgl"); - } catch (_error) {} - } - return gl != null; - }; - - if (!hasWebGL()) { - getWebGL = $('start'); - getWebGL.innerHTML = 'WebGL is not supported!'; - getWebGL.onclick = function() { - return window.location.href = 'http://get.webgl.org/'; - }; - } else { - $('start').onclick = function() { - $('step-1').style.display = 'none'; - $('step-2').style.display = 'block'; - return $('step-2').style.backgroundImage = "url(css/help-" + s[0][3] + ".png)"; - }; - } - -}).call(this); diff --git a/tools/hexgl/libs/DAT.GUI.min.js b/tools/hexgl/libs/DAT.GUI.min.js deleted file mode 100644 index 8ed2120..0000000 --- a/tools/hexgl/libs/DAT.GUI.min.js +++ /dev/null @@ -1,53 +0,0 @@ -/** - * dat.gui Javascript Controller Library - * http://dataarts.github.com/dat.gui - * - * Copyright 2011 Data Arts Team, Google Creative Lab - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - */ -var DAT=DAT||{}; -DAT.GUI=function(a){a==void 0&&(a={});var b=!1;a.height==void 0?a.height=300:b=!0;var d=[],c=[],i=!0,f,h,j=this,g=!0,e=280;if(a.width!=void 0)e=a.width;var q=!1,k,p,n=0,r;this.domElement=document.createElement("div");this.domElement.setAttribute("class","guidat");this.domElement.style.width=e+"px";var l=a.height,m=document.createElement("div");m.setAttribute("class","guidat-controllers");m.style.height=l+"px";m.addEventListener("DOMMouseScroll",function(a){var b=this.scrollTop;a.wheelDelta?b+=a.wheelDelta: -a.detail&&(b+=a.detail);a.preventDefault&&a.preventDefault();a.returnValue=!1;m.scrollTop=b},!1);var o=document.createElement("a");o.setAttribute("class","guidat-toggle");o.setAttribute("href","#");o.innerHTML=g?"Close Controls":"Open Controls";var t=!1,C=0,x=0,u=!1,v,y,w,z,D=function(a){y=v;z=w;v=a.pageY;w=a.pageX;a=v-y;if(!g)if(a>0)g=!0,l=k=1,o.innerHTML=p||"Close Controls";else return;var b=z-w;if(a>0&&l>h){var d=DAT.GUI.map(l,h,h+100,1,0);a*=d}t=!0;C+=a;k+=a;l+=a;m.style.height=k+"px";x+=b;e+= -b;e=DAT.GUI.constrain(e,240,500);j.domElement.style.width=e+"px";A()};o.addEventListener("mousedown",function(a){y=v=a.pageY;z=w=a.pageX;u=!0;a.preventDefault();C=x=0;document.addEventListener("mousemove",D,!1);return!1},!1);o.addEventListener("click",function(a){a.preventDefault();return!1},!1);document.addEventListener("mouseup",function(a){u&&!t&&j.toggle();if(u&&t)if(x==0&&B(),k>h)clearTimeout(r),k=n=h,s();else if(m.children.length>=1){var b=m.children[0].offsetHeight;clearTimeout(r);n=Math.round(l/ -b)*b-1;n<=0?(j.close(),k=b*2):(k=n,s())}document.removeEventListener("mousemove",D,!1);a.preventDefault();return u=t=!1},!1);this.domElement.appendChild(m);this.domElement.appendChild(o);if(a.domElement)a.domElement.appendChild(this.domElement);else if(DAT.GUI.autoPlace){if(DAT.GUI.autoPlaceContainer==null)DAT.GUI.autoPlaceContainer=document.createElement("div"),DAT.GUI.autoPlaceContainer.setAttribute("id","guidat"),document.body.appendChild(DAT.GUI.autoPlaceContainer);DAT.GUI.autoPlaceContainer.appendChild(this.domElement)}this.autoListenIntervalTime= -1E3/60;var E=function(){f=setInterval(function(){j.listen()},this.autoListenIntervalTime)};this.__defineSetter__("autoListen",function(a){(i=a)?c.length>0&&E():clearInterval(f)});this.__defineGetter__("autoListen",function(){return i});this.listenTo=function(a){c.length==0&&E();c.push(a)};this.unlistenTo=function(a){for(var b=0;bk?"auto":"hidden"},G={number:DAT.GUI.ControllerNumber,string:DAT.GUI.ControllerString,"boolean":DAT.GUI.ControllerBoolean,"function":DAT.GUI.ControllerFunction};this.reset=function(){for(var a=0,b=DAT.GUI.allControllers.length;a-1)document.body.scrollTop=DAT.GUI.scrollTop;n=k;this.open()}DAT.GUI.guiIndex++}DAT.GUI.allGuis.push(this);if(DAT.GUI.allGuis.length==1&&(window.addEventListener("keyup",function(a){!DAT.GUI.supressHotKeys&&a.keyCode==72&&DAT.GUI.toggleHide()},!1), -DAT.GUI.inlineCSS))a=document.createElement("style"),a.setAttribute("type","text/css"),a.innerHTML=DAT.GUI.inlineCSS,document.head.insertBefore(a,document.head.firstChild)};DAT.GUI.hidden=!1;DAT.GUI.autoPlace=!0;DAT.GUI.autoPlaceContainer=null;DAT.GUI.allControllers=[];DAT.GUI.allGuis=[];DAT.GUI.supressHotKeys=!1;DAT.GUI.toggleHide=function(){DAT.GUI.hidden?DAT.GUI.open():DAT.GUI.close()}; -DAT.GUI.open=function(){DAT.GUI.hidden=!1;for(var a in DAT.GUI.allGuis)DAT.GUI.allGuis[a].domElement.style.display="block"};DAT.GUI.close=function(){DAT.GUI.hidden=!0;for(var a in DAT.GUI.allGuis)DAT.GUI.allGuis[a].domElement.style.display="none"};DAT.GUI.saveURL=function(){var a=DAT.GUI.replaceGetVar("saveString",DAT.GUI.getSaveString());window.location=a};DAT.GUI.scrollTop=-1; -DAT.GUI.load=function(a){var a=a.split(","),b=parseInt(a[0]);DAT.GUI.scrollTop=parseInt(a[1]);for(var d=0;dd&&(a=d);return a};DAT.GUI.error=function(a){typeof console.error=="function"&&console.error("[DAT.GUI ERROR] "+a)};DAT.GUI.roundToDecimal=function(a,b){var d=Math.pow(10,b);return Math.round(a*d)/d};DAT.GUI.extendController=function(a){a.prototype=new DAT.GUI.Controller;a.prototype.constructor=a};DAT.GUI.addClass=function(a,b){DAT.GUI.hasClass(a,b)||(a.className+=" "+b)}; -DAT.GUI.hasClass=function(a,b){return a.className.indexOf(b)!=-1};DAT.GUI.removeClass=function(a,b){a.className=a.className.replace(RegExp(" "+b,"g"),"")};DAT.GUI.getVarFromURL("saveString")!=null&&DAT.GUI.load(DAT.GUI.getVarFromURL("saveString")); -DAT.GUI.Controller=function(){this.parent=arguments[0];this.object=arguments[1];this.propertyName=arguments[2];if(arguments.length>0)this.initialValue=this.object[this.propertyName];this.domElement=document.createElement("div");this.domElement.setAttribute("class","guidat-controller "+this.type);this.propertyNameElement=document.createElement("span");this.propertyNameElement.setAttribute("class","guidat-propertyname");this.name(this.propertyName);this.domElement.appendChild(this.propertyNameElement); -DAT.GUI.makeUnselectable(this.domElement)};DAT.GUI.Controller.prototype.changeFunction=null;DAT.GUI.Controller.prototype.finishChangeFunction=null;DAT.GUI.Controller.prototype.name=function(a){this.propertyNameElement.innerHTML=a;return this};DAT.GUI.Controller.prototype.reset=function(){this.setValue(this.initialValue);return this};DAT.GUI.Controller.prototype.listen=function(){this.parent.listenTo(this);return this};DAT.GUI.Controller.prototype.unlisten=function(){this.parent.unlistenTo(this);return this}; -DAT.GUI.Controller.prototype.setValue=function(a){if(this.object[this.propertyName]!=void 0)this.object[this.propertyName]=a;else{var b={};b[this.propertyName]=a;this.object.set(b)}this.changeFunction!=null&&this.changeFunction.call(this,a);this.updateDisplay();return this};DAT.GUI.Controller.prototype.getValue=function(){var a=this.object[this.propertyName];a==void 0&&(a=this.object.get(this.propertyName));return a};DAT.GUI.Controller.prototype.updateDisplay=function(){}; -DAT.GUI.Controller.prototype.onChange=function(a){this.changeFunction=a;return this};DAT.GUI.Controller.prototype.onFinishChange=function(a){this.finishChangeFunction=a;return this}; -DAT.GUI.Controller.prototype.options=function(){var a=this,b=document.createElement("select");if(arguments.length==1){var d=arguments[0],c;for(c in d){var i=document.createElement("option");i.innerHTML=c;i.setAttribute("value",d[c]);if(arguments[c]==this.getValue())i.selected=!0;b.appendChild(i)}}else for(c=0;c=h&&(a=h);return DAT.GUI.Controller.prototype.setValue.call(this, -a)};this.updateDisplay=function(){g.value=DAT.GUI.roundToDecimal(a.getValue(),4);if(e)e.value=a.getValue()}};DAT.GUI.extendController(DAT.GUI.ControllerNumber); -DAT.GUI.ControllerNumberSlider=function(a,b,d,c,i){var f=!1,h=this;this.domElement=document.createElement("div");this.domElement.setAttribute("class","guidat-slider-bg");this.fg=document.createElement("div");this.fg.setAttribute("class","guidat-slider-fg");this.domElement.appendChild(this.fg);var j=function(b){if(f){var c;c=h.domElement;var d=0,g=0;if(c.offsetParent){do d+=c.offsetLeft,g+=c.offsetTop;while(c=c.offsetParent);c=[d,g]}else c=void 0;b=DAT.GUI.map(b.pageX,c[0],c[0]+h.domElement.offsetWidth, -a.getMin(),a.getMax());b=Math.round(b/a.getStep())*a.getStep();a.setValue(b)}};this.domElement.addEventListener("mousedown",function(b){f=!0;DAT.GUI.addClass(a.domElement,"active");j(b);document.addEventListener("mouseup",g,!1)},!1);var g=function(){DAT.GUI.removeClass(a.domElement,"active");f=!1;a.finishChangeFunction!=null&&a.finishChangeFunction.call(this,a.getValue());document.removeEventListener("mouseup",g,!1)};this.__defineSetter__("value",function(b){this.fg.style.width=DAT.GUI.map(b,a.getMin(), -a.getMax(),0,100)+"%"});document.addEventListener("mousemove",j,!1);this.value=i}; -DAT.GUI.ControllerString=function(){this.type="string";var a=this;DAT.GUI.Controller.apply(this,arguments);var b=document.createElement("input"),d=this.getValue();b.setAttribute("value",d);b.setAttribute("spellcheck","false");this.domElement.addEventListener("mouseup",function(){b.focus();b.select()},!1);b.addEventListener("keyup",function(c){c.keyCode==13&&a.finishChangeFunction!=null&&(a.finishChangeFunction.call(this,a.getValue()),b.blur());a.setValue(b.value)},!1);b.addEventListener("mousedown", -function(){DAT.GUI.makeSelectable(b)},!1);b.addEventListener("blur",function(){DAT.GUI.supressHotKeys=!1;a.finishChangeFunction!=null&&a.finishChangeFunction.call(this,a.getValue())},!1);b.addEventListener("focus",function(){DAT.GUI.supressHotKeys=!0},!1);this.updateDisplay=function(){b.value=a.getValue()};this.options=function(){a.domElement.removeChild(b);return DAT.GUI.Controller.prototype.options.apply(this,arguments)};this.domElement.appendChild(b)};DAT.GUI.extendController(DAT.GUI.ControllerString); -DAT.GUI.inlineCSS="#guidat { position: fixed; top: 0; right: 0; width: auto; z-index: 1001; text-align: right; } .guidat { color: #fff; opacity: 0.97; text-align: left; float: right; margin-right: 20px; margin-bottom: 20px; background-color: #fff; } .guidat, .guidat input { font: 9.5px Lucida Grande, sans-serif; } .guidat-controllers { height: 300px; overflow-y: auto; overflow-x: hidden; background-color: rgba(0, 0, 0, 0.1); } a.guidat-toggle:link, a.guidat-toggle:visited, a.guidat-toggle:active { text-decoration: none; cursor: pointer; color: #fff; background-color: #222; text-align: center; display: block; padding: 5px; } a.guidat-toggle:hover { background-color: #000; } .guidat-controller { padding: 3px; height: 25px; clear: left; border-bottom: 1px solid #222; background-color: #111; } .guidat-controller, .guidat-controller input, .guidat-slider-bg, .guidat-slider-fg { -moz-transition: background-color 0.15s linear; -webkit-transition: background-color 0.15s linear; transition: background-color 0.15s linear; } .guidat-controller.boolean:hover, .guidat-controller.function:hover { background-color: #000; } .guidat-controller input { float: right; outline: none; border: 0; padding: 4px; margin-top: 2px; background-color: #222; } .guidat-controller select { margin-top: 4px; float: right; } .guidat-controller input:hover { background-color: #444; } .guidat-controller input:focus, .guidat-controller.active input { background-color: #555; color: #fff; } .guidat-controller.number { border-left: 5px solid #00aeff; } .guidat-controller.string { border-left: 5px solid #1ed36f; } .guidat-controller.string input { border: 0; color: #1ed36f; margin-right: 2px; width: 148px; } .guidat-controller.boolean { border-left: 5px solid #54396e; } .guidat-controller.function { border-left: 5px solid #e61d5f; } .guidat-controller.number input[type=text] { width: 35px; margin-left: 5px; margin-right: 2px; color: #00aeff; } .guidat .guidat-controller.boolean input { margin-top: 6px; margin-right: 2px; font-size: 20px; } .guidat-controller:last-child { border-bottom: none; -webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.5); -moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.5); box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.5); } .guidat-propertyname { padding: 5px; padding-top: 7px; cursor: default; display: inline-block; } .guidat-controller .guidat-slider-bg:hover, .guidat-controller.active .guidat-slider-bg { background-color: #444; } .guidat-controller .guidat-slider-bg .guidat-slider-fg:hover, .guidat-controller.active .guidat-slider-bg .guidat-slider-fg { background-color: #52c8ff; } .guidat-slider-bg { background-color: #222; cursor: ew-resize; width: 40%; margin-top: 2px; float: right; height: 21px; } .guidat-slider-fg { cursor: ew-resize; background-color: #00aeff; height: 21px; } "; diff --git a/tools/hexgl/libs/Detector.js b/tools/hexgl/libs/Detector.js deleted file mode 100644 index 4f34bf1..0000000 --- a/tools/hexgl/libs/Detector.js +++ /dev/null @@ -1,59 +0,0 @@ -/** - * @author alteredq / http://alteredqualia.com/ - * @author mr.doob / http://mrdoob.com/ - */ - -var Detector = { - - canvas: !! window.CanvasRenderingContext2D, - webgl: ( function () { try { return !! window.WebGLRenderingContext && !! document.createElement( 'canvas' ).getContext( 'experimental-webgl' ); } catch( e ) { return false; } } )(), - workers: !! window.Worker, - fileapi: window.File && window.FileReader && window.FileList && window.Blob, - - getWebGLErrorMessage: function () { - - var element = document.createElement( 'div' ); - element.id = 'webgl-error-message'; - element.style.fontFamily = 'monospace'; - element.style.fontSize = '13px'; - element.style.fontWeight = 'normal'; - element.style.textAlign = 'center'; - element.style.background = '#fff'; - element.style.color = '#000'; - element.style.padding = '1.5em'; - element.style.width = '400px'; - element.style.margin = '5em auto 0'; - - if ( ! this.webgl ) { - - element.innerHTML = window.WebGLRenderingContext ? [ - 'Your graphics card does not seem to support WebGL.
', - 'Find out how to get it here.' - ].join( '\n' ) : [ - 'Your browser does not seem to support WebGL.
', - 'Find out how to get it here.' - ].join( '\n' ); - - } - - return element; - - }, - - addGetWebGLMessage: function ( parameters ) { - - var parent, id, element; - - parameters = parameters || {}; - - parent = parameters.parent !== undefined ? parameters.parent : document.body; - id = parameters.id !== undefined ? parameters.id : 'oldie'; - - element = Detector.getWebGLErrorMessage(); - element.id = id; - - parent.appendChild( element ); - - } - -}; diff --git a/tools/hexgl/libs/Editor.html b/tools/hexgl/libs/Editor.html deleted file mode 100644 index e63b265..0000000 --- a/tools/hexgl/libs/Editor.html +++ /dev/null @@ -1,717 +0,0 @@ - - - - - - Editor - - - - - - - -
-
  • aquarium.pmod
  • fish.pmod
  • sprite.pmod
-
-
- -
-
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
    "name""Fish",
    "desc""Fish aquarium example",
    "vars"{
        "sf""#random(@smin, @smax)",
        "wf""@fishw * @sf",
        "hf""@fishh * @sf",
        "xf""#random(0, @w - @wh)",
        "yf""#random(0, @h - @hf)",
        "url""@resources/fish#random(1,5).png"
    },
    "layers"[
        {
            "use""sprite.pmod",
            "x""@xf",
            "y""@yf",
            "width""@wf",
            "height""@hf"        
        }
    ]
}
X
-
-
-
- -
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/tools/hexgl/libs/Editor_files/App.js b/tools/hexgl/libs/Editor_files/App.js deleted file mode 100644 index 5924472..0000000 --- a/tools/hexgl/libs/Editor_files/App.js +++ /dev/null @@ -1,212 +0,0 @@ -var pgli = pgli || {}; - -pgli.App = gamecore.Base.extend("App", -{ // static - -}, -{ // instance - - project: null, - moduleList: null, - editor: null, - diagram: null, - preview: null, - nodeCount: 0, - console: null, - debug: 2, // 0:none, 1:inapp, 2:console, 3:both - - init: function(domDiagram, domModuleList, domEditor, domPreview) - { - var self = this; - - this.moduleList = new pgli.ui.ModuleList(domModuleList); - - this.editor = ace.edit(domEditor); - this.editor.setFontSize("16px"); - this.editor.setTheme("ace/theme/monokai"); - this.editor.getSession().setMode("ace/mode/json"); - - this.diagram = new pgli.diagram.Diagram(domDiagram, 30); - - this.preview = new pgli.render.CanvasRenderer(domPreview); - - this.console = $('#console-text'); - - this.bindEvents(); - - pgli.lang.Parser.debug = self.debug; - - window.trace = function(args) - { - if(!self.debug) return; - for(var i=0, len=arguments.length; i 0) - val = (Number(val.substr(O, p))/100)*this.xget()[static.SCOPE_XFORMS[k]]; - else continue; - } - if(k == "x" || k == "y") - { - val += this.xget()[static.SCOPE_XFORMS[k]]; - } - this.xset(static.SCOPE_XFORMS[k], val); - } - else - this.sset(k, pgli.lang.Parser.parseExpression(layer[k], this.sget()), this.xget()); - } - - this.walkModule(this.project.getModule(layer.use)); - - this.spop(); - this.xpop(); - }, - - actionVars: function(opts) - { - var static = pgli.render.CanvasRenderer; - - for(k in opts) - { - if(k in static.SCOPE_KEYWORDS || k in static.SCOPE_XFORMS) - continue; - else - this.sset(k, pgli.lang.Parser.parseExpression(opts[k], this.sget(), this.xget())); - } - }, - - actionFill: function(opts) - { - var static = pgli.render.CanvasRenderer; - - if(opts.type == "image") - { - //trace("# Fill(image)...") - var image = this.loadImage( - pgli.lang.Parser.parseExpression(opts.value, this.sget(), this.xget()) - ); - - if("repeat" in opts && opts.repeat in static.REPEAT_TYPES) - { - var pattern = this.context.createPattern(image, static.REPEAT_TYPES[opts.repeat]); - - this.context.rect(this.xgetx(), this.xgety(), this.xgetw(), this.xgeth()); - this.context.fillStyle = pattern; - this.context.fill(); - - //pattern = null; - } - else - { - this.context.drawImage(image, this.xgetx(), this.xgety(), this.xgetw(), this.xgeth()); - } - } - else if(opts.type == "color") - { - //trace("# Fill(color)...") - this.context.beginPath(); - this.context.rect(this.xgetx(), this.xgety(), this.xgetw(), this.xgeth()); - this.context.fillStyle = pgli.lang.Parser.parseExpression(opts.value, this.sget(), this.xget()); - this.context.fill(); - } - else if(opts.type == "line") - { - //trace("# Fill(line)...") - this.context.beginPath(); - this.context.rect(this.xgetx(), this.xgety(), this.xgetw(), this.xgeth()); - this.context.lineWidth = 1; - this.context.strokeStyle = pgli.lang.Parser.parseExpression(opts.value, this.sget(), this.xget()); - this.context.stroke(); - } - }, - - loadImage: function(url) - { - var self = this; - if(url in this.resources.images) - { - return this.resources.images[url]; - } - else - { - trace("/!\\ Image is loading, will redraw onload."); - var img = new Image(); - img.onload = function(){ - trace("#Image loaded, redrawing..."); - self.draw(); - }; - img.src = url; - this.resources.images[url] = img; - return img; - } - }, - - spush: function() - { - this.scope.push(this.cloneScope(this.sget())); - this.sseek++; - }, - - spop: function() - { - this.sseek--; - return this.scope.pop(); - }, - - sreset: function() - { - this.scope = [{}]; - this.sseek = 0; - }, - - sget: function() - { - return this.scope[this.sseek]; - }, - - sset: function(key, value) - { - this.scope[this.sseek][key] = value; - }, - - xpush: function(ratio, x, y, h, w) - { - if(ratio == undefined) - if(this.xseek == -1) - this.xform.push([1.0, 0, 0, this.width, this.height]); - else - this.xform.push(this.xget().slice(0)) - else - this.xform.push([ratio, x, y, h, w]); - - this.xseek++; - }, - - xpop: function() - { - this.xseek--; - return this.xform.pop(); - }, - - xget: function() - { - return this.xform[this.xseek]; - }, - - xset: function(key, value) - { - this.xform[this.xseek][key] = value; - }, - - xreset: function(ratio, x, y, h, w) - { - this.xseek = -1; - this.xform = []; - this.xpush(ratio, x, y, h, w); - }, - - xgetr: function() - { - return this.xform[this.xseek][0]; - }, - - xgetx: function() - { - return this.xform[this.xseek][1]; - }, - - xgety: function() - { - return this.xform[this.xseek][2]; - }, - - xgetw: function() - { - return this.xform[this.xseek][3]; - }, - - xgeth: function() - { - return this.xform[this.xseek][4]; - }, - - cloneScope: (function() - { - return function (obj) { Clone.prototype=obj; return new Clone() }; - function Clone(){} - }()), - - bindProject: function(project) - { - this.project = project; - }, - - resize: function() - { - var w = this.container.width(); - var h = this.container.height(); - - var size = 0.9*Math.min(w, h); - this.width = size; - this.height = size; - var $canvas = $(this.canvas); - $canvas.width(size); - $canvas.height(size); - this.canvas.width = size; - this.canvas.height = size; - $canvas.css('marginTop', this.container.height() / 2 - size / 2); - $canvas.css('marginLeft', this.container.width() / 2 - size / 2); - - this.context = this.canvas.getContext("2d"); - - /*var ctx = this.canvas.getContext("2d"); - ctx.clearRect(0, 0, size, size); - ctx.canvas.width = ctx.canvas.height = size; - ctx.font = 'bold 40px Arial'; - ctx.textAlign = 'center'; - ctx.fillStyle = '#444'; - ctx.fillText("Preview", size/2, size/2);*/ - }, - - getRenderRatio: function() - { - var root = this.project.getRootModule(); - if(!root) return; - return Math.min(this.width/root.width, this.height/root.height); - } - -}); \ No newline at end of file diff --git a/tools/hexgl/libs/Editor_files/Diagram.js b/tools/hexgl/libs/Editor_files/Diagram.js deleted file mode 100644 index 704b6f9..0000000 --- a/tools/hexgl/libs/Editor_files/Diagram.js +++ /dev/null @@ -1,148 +0,0 @@ -var pgli = pgli || {}; -pgli.diagram = pgli.diagram || {}; - -pgli.diagram.Diagram = gamecore.Base.extend('Diagram', -{ // static - -}, -{ // instance - - dom: null, - container: null, - width: 1024, - height: 768, - - timer: null, - redrawDelay: 1000/30, - - stage: null, - layers: { - background: null, - nodes: null, - links: null - }, - background: null, - links: null, - - project: null, - - nodes: [], - - /** - * Bind a new renderer to given canvas - * @param HTMLElement domContainer [description] - * @param Integer width [description] - * @param Integer height [description] - * @param Integer autoRedraw If defined, sets redraw rate to given FPS - */ - init: function(domContainer, autoRedraw) - { - var self = this; - - this.dom = domContainer; - this.container = $('#'+domContainer); - this.width = this.container.width(); - this.height = this.container.height(); - - this.stage = new Kinetic.Stage({ - container: this.dom, - width: this.width, - height: this.height - }); - - this.layers.background = new Kinetic.Layer(); - this.layers.nodes = new Kinetic.Layer(); - this.layers.links = new Kinetic.Layer(); - - this.background = new Kinetic.Rect({ - width: this.width, - height: this.height, - fill: "#272822" - }); - - this.layers.background.add(this.background); - - this.links = new pgli.diagram.Links(this); - this.layers.links.add(this.links.shape); - - this.stage.add(this.layers.background); - this.stage.add(this.layers.nodes); - this.stage.add(this.layers.links); - - // Stage drag hack to trigger only on background drag - var self = this; - this.background.on("mousedown", function(){ - self.stage.setDraggable(true); - self.stage.on("dragmove", function(){ - self.layers.background.setX(-this.getX()); - self.layers.background.setY(-this.getY()); - }); - self.stage.on("dragend", function(){ - this.off("dragend"); - this.off("dragmove"); - this.setDraggable(false); - }); - }); - - if(autoRedraw != undefined && autoRedraw != false && autoRedraw > 0) - { - this.redrawDelay = 1000 / autoRedraw; - this.timer = new bkcore.Timer(); - this.timer.start(); - this.autoRedraw(true); - } - }, - - addNode: function(node) - { - this.nodes.push(node); - this.layers.nodes.add(node.shape); - this.layers.nodes.draw(); - }, - - getNode: function(nodeKey) - { - var i = 0, len = this.nodes.length; - while(i < len) - { - if(this.nodes[i].key == nodeKey) - return this.nodes[i]; - i++; - } - console.warn("Error in Diagram: Unable to find node["+nodeKey+"]"); - return false; - }, - - draw: function() - { - this.layers.background.draw(); - this.layers.nodes.draw(); - this.layers.links.draw(); - }, - - autoRedraw: function(keep) - { - var self = this; - - if(this.timer.update() > this.redrawDelay) - { - this.timer.start(); - this.draw(); - } - - if(keep) - requestAnimFrame(function(){ - self.autoRedraw(true); - }); - }, - - resize: function() - { - this.width = this.container.width(); - this.height = this.container.height(); - this.stage.setSize(this.width, this.height); - this.background.setSize(this.width, this.height); - this.draw(); - } - -}); \ No newline at end of file diff --git a/tools/hexgl/libs/Editor_files/Iterator.js b/tools/hexgl/libs/Editor_files/Iterator.js deleted file mode 100644 index 066631c..0000000 --- a/tools/hexgl/libs/Editor_files/Iterator.js +++ /dev/null @@ -1,92 +0,0 @@ -var pgli = pgli || {}; -pgli.lang = pgli.lang || {}; - -pgli.lang.Iterator = gamecore.Base.extend('Iterator', -// Static -{ - MAX_ITERATIONS: 1000, - - COMPARATORS: { - "<": 0, - ">": 1, - "<=": 2, - ">=": 3 - }, - - genComparatorMethod: function(type) - { - switch(type) - { - case 0: - return function(a, b){ return a < b }; - case 1: - return function(a, b){ return a > b }; - case 2: - return function(a, b){ return a <= b }; - case 3: - return function(a, b){ return a >= b }; - default: - return function(a, b){ return false }; - } - }, - - genStepMethod: function(type, scope, attr) - { - switch(type) - { - case 1: - case 3: - return function(){ return --scope[attr] }; - case 0: - case 2: - default: - return function(){ return ++scope[attr] }; - } - } -}, -// Instance -{ - varname: "i", - start: 0, - end: 1, - comparator: 0, - compMethod: null, - stepMethod: null, - step: 0, - iter: 0, - - init: function(name, start, comparator, end) - { - var static = pgli.lang.Iterator; - - if(comparator in static.COMPARATORS) - this.comparator = static.COMPARATORS[comparator]; - else - this.comparator = static.COMPARATORS["<"]; - - this.start = start; - this.end = end; - this.step = start; - - this.varname = name; - this.compMethod = static.genComparatorMethod(this.comparator); - this.stepMethod = static.genStepMethod(this.comparator, this, "step"); - }, - - loop: function() - { - return (this.iter < pgli.lang.Iterator.MAX_ITERATIONS && this.compMethod(this.step, this.end)); - }, - - next: function() - { - ++this.iter; - return this.stepMethod(); - }, - - toString: function() - { - return "Iterator("+this.varname+") "+this.start+" - "+this.step+" - "+this.end; - } - -}); \ No newline at end of file diff --git a/tools/hexgl/libs/Editor_files/Links.js b/tools/hexgl/libs/Editor_files/Links.js deleted file mode 100644 index a6278a0..0000000 --- a/tools/hexgl/libs/Editor_files/Links.js +++ /dev/null @@ -1,56 +0,0 @@ -var pgli = pgli || {}; -pgli.diagram = pgli.diagram || {}; - -pgli.diagram.Links = gamecore.Base.extend('Links', -{ // static - bezierOffset: 50 -}, -{ // instance - diagram: null, - - shape: null, - - init: function(diagram) - { - var static = pgli.diagram.Links; - var self = this; - - this.diagram = diagram; - - this.shape = new Kinetic.Shape({ - drawFunc: function(ctx){ - ctx.beginPath(); - - for(var i = 0, len = self.diagram.nodes.length; i < len; i++) - { - var node = self.diagram.nodes[i]; - - if(! ("layers" in node.module)) continue; - - for(var j = 0, _len = node.module.layers.length; j < _len; j++) - { - if(! ("use" in node.module.layers[j])) continue; - - var start = node.getLayerSlot(j); - var tNode = self.diagram.getNode(node.module.layers[j].use); - if(!tNode) continue; - var end = tNode.getSlot(); - - ctx.moveTo(start[0], start[1]); - ctx.bezierCurveTo( - start[0]+static.bezierOffset, start[1], - end[0]-static.bezierOffset, end[1], - end[0], end[1]); - } - } - - this.stroke(ctx); - }, - x: 0, - y: 0, - stroke: "#999", - strokeWidth: 3, - lineCap: "round" - }); - } -}); \ No newline at end of file diff --git a/tools/hexgl/libs/Editor_files/ModuleList.js b/tools/hexgl/libs/Editor_files/ModuleList.js deleted file mode 100644 index 8874d78..0000000 --- a/tools/hexgl/libs/Editor_files/ModuleList.js +++ /dev/null @@ -1,47 +0,0 @@ -var pgli = pgli || {}; -pgli.ui = pgli.ui || {}; - -pgli.ui.ModuleList = gamecore.Base.extend('ModuleList', -{ // static - tplModuleItem: "
  • $name
  • ", - tplModuleList: "
      $list
    " -}, -{ // instance - - project: null, - container: null, - - init: function(domContainer) - { - this.container = $('#'+domContainer); - this.container.on("click", "li", {object: this}, this.onModuleClick); - }, - - bindProject: function(project) - { - this.project = project; - }, - - draw: function() - { - var static = pgli.ui.ModuleList; - var modules = ""; - var module = null; - if(!this.project.isEmpty()) for(var i = 0, len = this.project.getModulesCount(); i < len; ++i) - { - key = this.project.getModuleKey(i); - module = this.project.getModule(key); - modules += static.tplModuleItem.replace("$path", key).replace("$name", key); - } - this.container.html(static.tplModuleList.replace("$list", modules)); - }, - - onModuleClick: function(event) - { - event.data.object.project.rememberActiveFile(); - event.data.object.project.getAppInstance().showInEditor($(this).attr("data-path")); - event.data.object.container.find('li').removeClass('active'); - $(this).addClass('active'); - } - -}); \ No newline at end of file diff --git a/tools/hexgl/libs/Editor_files/Node.js b/tools/hexgl/libs/Editor_files/Node.js deleted file mode 100644 index 6da558e..0000000 --- a/tools/hexgl/libs/Editor_files/Node.js +++ /dev/null @@ -1,122 +0,0 @@ -var pgli = pgli || {}; -pgli.diagram = pgli.diagram || {}; - -pgli.diagram.Node = gamecore.Base.extend('Node', -{ // static - layersWidth: 20, - layersMargin: 20, - layersHeight: 16, - headerHeight: 40, - slotX: 10, - slotY: 14, - slotRadius: 6 -}, -{ // instance - module: null, - - key: null, - - shape: null, - background: null, - name: null, - layers: null, - slot: null, - - sockets: [], - - width: 150, - height: 200, - - init: function(key, module, x, y) - { - var static = pgli.diagram.Node; - - this.key = key; - this.module = module; - - this.shape = new Kinetic.Group({ - x: x == undefined ? 0 : x, - y: y == undefined ? 0 : y, - draggable: true - }); - - var layerCount = (module.layers != undefined ? module.layers.length : 0) + 1; - - this.height = static.headerHeight + layerCount * static.layersHeight; - - this.background = new Kinetic.Rect({ - x: 0, - y: 0, - width: this.width, - height: this.height, - fill: "#222", - stroke: "#000", - strokeWidth: 0.5, - shadow: { - color: "black", - blur: 6, - offset: [0, 0], - opacity: 0.5 - } - }); - - this.layers = new Kinetic.Shape({ - drawFunc: function(ctx){ - ctx.beginPath(); - for(var i=0, len = this.attrs.count; i < len; ++i) - ctx.arc(10, 10+i*static.layersHeight, static.slotRadius, 0, Math.PI*2, true); - ctx.closePath(); - this.fill(ctx); - }, - x: this.width-static.layersWidth, - y: static.layersMargin, - count: layerCount, - fill: "#111" - }); - - this.slot = new Kinetic.Circle({ - x: static.slotX, - y: static.slotY, - radius: static.slotRadius, - fill: "#111" - }); - - this.name = new Kinetic.Text({ - x: 20, - y: 6, - text: module.name, - fontSize: 13, - fontFamily: "Ubuntu Mono", - textFill: "#aaa" - }); - - this.shape.on('mousedown', function(){ - this.moveToTop(); - }); - - this.shape.add(this.background); - this.shape.add(this.name); - this.shape.add(this.layers); - this.shape.add(this.slot); - }, - - updateLayers: function() - { - var layerCount = (module.layers != undefined ? module.layers.length : 0) + 1; - this.layers.attrs.count = layerCount; - }, - - getSlot: function() - { - var static = pgli.diagram.Node; - return [this.shape.getX()+static.slotX, - this.shape.getY()+static.slotY]; - }, - - getLayerSlot: function(index) - { - var static = pgli.diagram.Node; - return [this.shape.getX()+this.width-static.layersWidth/2, - this.shape.getY()+10+index*static.layersHeight+static.layersMargin]; - } -}); \ No newline at end of file diff --git a/tools/hexgl/libs/Editor_files/Parser.js b/tools/hexgl/libs/Editor_files/Parser.js deleted file mode 100644 index d20fcec..0000000 --- a/tools/hexgl/libs/Editor_files/Parser.js +++ /dev/null @@ -1,140 +0,0 @@ -var pgli = pgli || {}; -pgli.lang = pgli.lang || {}; - -pgli.lang.Parser = gamecore.Base.extend('Parser', -{ - - xStruct: { - "scale": 0, - "x": 1, - "y": 2, - "width": 3, - "height": 4 - }, - - - patternVar:/\@(\w+)/g, - patternMethod: /\#(\w+)(\(([^\)]+)\))/g, - - debug: 1, - - - parseExpression: function(string, scope, xform) - { - static = pgli.lang.Parser; - - var self = this; - var orig = string; - var s = (scope !== null && typeof(scope) !== "undefined") - var x = (xform !== null && typeof(xform) !== "undefined" && xform.length > 0) - - if(typeof(string) != "string") - return string; - - if(scope != undefined) - { - string = string.replace(this.patternVar,function(match,varName) - { - if(x && varName in static.xStruct) - return xform[static.xStruct[varName]]; - else if(s && varName in scope) - return scope[varName] - else - return 0 - }); - } - - string = string.replace(this.patternMethod,function(match,methodName,a,params) - { - if(self.debug < 2) console.log(arguments); - return self.execFunction(methodName, params); - }); - - if(self.debug < 2) console.log("#Parsed expr: '"+string+"' from '"+orig+"'"); - - try { - return eval(string); - } catch (e) { - return string; - } - - - }, - - parseRepeat: function(string, scope) - { - var items = string.split(" "); - - if(items.length != 4) - throw "Syntax error in repeat expression"; - - if(self.debug < 2) console.warn(items[0].substr(1)) - if(self.debug < 2) console.warn(Number(this.parseExpression(items[1], scope))) - if(self.debug < 2) console.warn(items[2]) - if(self.debug < 2) console.warn(Number(this.parseExpression(items[3], scope))) - - return new pgli.lang.Iterator( - items[0].substr(1), - Number(this.parseExpression(items[1], scope)), - items[2], - Number(this.parseExpression(items[3], scope)) - ); - }, - - parseModule: function(string) - { - try - { - return JSON.parse(string); - } - catch(e) - { - trace("(!) Syntax error in module."); - return {error:"unable to parse module"}; - } - }, - - execFunction: function(methodName, params) - { - var hasP = params != undefined; - var p = hasP ? params.replace(" ", "").split(',') : []; - - if(methodName == "random") - { - var r = Math.random(); - if(hasP && p.length == 2) try - { - var min = eval(p[0]); - var max = eval(p[1]); - r = Math.round(r * (max-min) + min); - } catch(e) { - console.warn('Bad method format: '+methodName+' / '+params); - return 0; - } - return r; - } - else if(methodName == "mod") - { - if(hasP && p.length == 2) try - { - var base = eval(p[0]); - var div = eval(p[1]); - if(div == 0) throw "Divide by 0"; - return Math.floor(base/div); - } catch(e) { - console.warn('Bad method format: '+methodName+' / '+params); - } - return 0; - } - else - { - console.warn("Unsupported method : "+methodName); - return 0; - } - } -}, -{ - -}); - - diff --git a/tools/hexgl/libs/Editor_files/Project.js b/tools/hexgl/libs/Editor_files/Project.js deleted file mode 100644 index c777b75..0000000 --- a/tools/hexgl/libs/Editor_files/Project.js +++ /dev/null @@ -1,162 +0,0 @@ -var pgli = pgli || {}; - - -pgli.Project = gamecore.Base.extend('Project', -{ - patternRoot: /\/([a-z]+\.pmod)/ig, - patternPath: /([a-z\/]+\/)[a-z]+\.pmod/ig - -}, - -{ - appInstance: null, - modules: null, - activeFile: null, - files:null, - keys :[], - name: "default", - path: "/files/", - root: "default.pmod", - diagram: null, - loadingQueue: [], - onLoad: function() { console.log("Project loaded."); }, - - - - init : function(projectFile, onLoad) - { - this.onLoad = onLoad; - this.modules = new gamecore.Hashtable(); - this.files = new gamecore.Hashtable(); - this.path = pgli.Project.patternPath.exec(projectFile)[1]; - this.root = pgli.Project.patternRoot.exec(projectFile)[1]; - - var self = this; - - this.loadFile(projectFile,this.root,true,true); - - }, - - loadFile: function(path,name,doDependencies,doDiagram) - { - trace("#Loading ["+name+"]."); - var self = this; - var request = $.ajax({ - url: path, - type: 'get', - dataType: "text", - }) - .success(function(data) - { - self.files.put(name, data); - self.keys.push(name); - - var object = pgli.lang.Parser.parseModule(data); - self.modules.put(name, object); - - if(doDependencies == true) - self.loadDependencies(object); - - if(doDiagram == true) - self.getAppInstance().addDiagramNode(name, object); - - trace("#["+name+"] loaded"); - - self.onLoad(); - }) - .error(function() - { - throw "Unable to load file: " + path; - }); - }, - - loadDependencies: function(object) - { - - if(!("layers" in object)) - return; - - var layers = object.layers; - var self = this; - - for (var i=0, len = layers.length; i - */ - -/** - * RAF shim - */ -window.requestAnimFrame = (function(){ - return window.requestAnimationFrame || - window.webkitRequestAnimationFrame || - window.mozRequestAnimationFrame || - window.oRequestAnimationFrame || - window.msRequestAnimationFrame || - function( callback ){ - window.setTimeout(callback, 1000 / 60); - }; -})(); - -/*! - * @package bkcore - */ -var bkcore = bkcore || {}; - -/*! - * Creates a new timer, inactive by default. - * Call Timer.start() to activate. - */ -bkcore.Timer = function() -{ - this.time = { - start: 0, - current: 0, - previous: 0, - elapsed: 0, - delta: 0 - } - - this.active = false; -} - -/*! - * Starts/restarts the timer. - */ -bkcore.Timer.prototype.start = function() -{ - var now = new Date().getTime(); - - this.time.start = now; - this.time.current = now; - this.time.previous = now; - this.time.elapsed = 0; - this.time.delta = 0; - - this.active = true; -} - -/*! - * Restarts timer, returning last ms tick - */ -bkcore.Timer.prototype.restart = function() -{ - var now = new Date().getTime(); - var e = now - this.time.start; - - this.time.start = now; - this.time.current = now; - this.time.previous = now; - this.time.elapsed = 0; - this.time.delta = 0; - - this.active = true; - - return e; -} - -/*! - * Pauses(true)/Unpauses(false) the timer. - * - * @param bool Do pause - */ -bkcore.Timer.prototype.pause = function(bool) -{ - this.active = !bool; -} - -/*! - * Update method to be called inside a RAF loop - */ -bkcore.Timer.prototype.update = function() -{ - if(!this.active) return; - - var now = new Date().getTime(); - - this.time.current = now; - this.time.elapsed = this.time.current - this.time.start; - this.time.delta = now - this.time.previous; - this.time.previous = now; - - return this.time.elapsed; -} - -/*! - * Returns elapsed milliseconds - */ -bkcore.Timer.prototype.getElapsed = function() -{ - return this.time.elapsed; -} - -/*! - * Returns a formatted version of the current elapsed time using msToTime(). - * - * - */ -bkcore.Timer.prototype.getElapsedTime = function() -{ - return bkcore.Timer.msToTime(this.time.elapsed); -} - -/*! - * Formats a millisecond integer into a h/m/s/ms object - * - * @param x int In milliseconds - * @return Object{h,m,s,ms} - */ -bkcore.Timer.msToTime = function(t) -{ - var ms, s, m, h; - - ms = t%1000; - - s = Math.floor((t/1000)%60); - - m = Math.floor((t/60000)%60); - h = Math.floor((t/3600000)); - - return {h:h, m:m, s:s, ms:ms}; -} - -/*! - * Formats a millisecond integer into a h/m/s/ms object with prefix zeros - * - * @param x int In milliseconds - * @return Object{h,m,s,ms} - */ -bkcore.Timer.msToTimeString = function(t) -{ - var ms, s, m, h; - - ms = t%1000; - if(ms < 10) ms = "00"+ms; - else if(ms < 100) ms = "0"+ms; - - s = Math.floor((t/1000)%60); - if(s < 10) s = "0"+s; - - m = Math.floor((t/60000)%60); - h = Math.floor((t/3600000)); - - return {h:h, m:m, s:s, ms:ms}; -} \ No newline at end of file diff --git a/tools/hexgl/libs/Editor_files/ace.js b/tools/hexgl/libs/Editor_files/ace.js deleted file mode 100644 index bdd9a24..0000000 --- a/tools/hexgl/libs/Editor_files/ace.js +++ /dev/null @@ -1,11 +0,0 @@ -(function(){function h(a){var c=function(a,b){return e("",a,b)},f=b;a&&(b[a]||(b[a]={}),f=b[a]);if(!f.define||!f.define.packaged)d.original=f.define,f.define=d,f.define.packaged=!0;if(!f.require||!f.require.packaged)e.original=f.require,f.require=c,f.require.packaged=!0}var a="ace",b=function(){return this}();if(!a&&typeof requirejs!="undefined"){var c=b.define;b.define=function(a,b,d){return typeof d!="function"?c.apply(this,arguments):ace.define(a,b,function(a,c,e){return b[2]=="module"&&(e.packaged=!0),d.apply(this,arguments)})},b.define.packaged=!0;return}var d=function(a,b,c){if(typeof a!="string"){d.original?d.original.apply(window,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(c=b),d.modules||(d.modules={}),d.modules[a]=c},e=function(a,b,c){if(Object.prototype.toString.call(b)==="[object Array]"){var d=[];for(var f=0,h=b.length;f1&&h(b,"")>-1&&(i=RegExp(this.source,d.replace.call(g(this),"g","")),d.replace.call(a.slice(b.index),i,function(){for(var a=1;ab.index&&this.lastIndex--}return b},f||(RegExp.prototype.test=function(a){var b=d.exec.call(this,a);return b&&this.global&&!b[0].length&&this.lastIndex>b.index&&this.lastIndex--,!!b})}),ace.define("ace/lib/es5-shim",["require","exports","module"],function(a,b,c){function p(a){try{return Object.defineProperty(a,"sentinel",{}),"sentinel"in a}catch(b){}}Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=g.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,h=c.apply(f,d.concat(g.call(arguments)));return h!==null&&Object(h)===h?h:f}return c.apply(b,d.concat(g.call(arguments)))};return e});var d=Function.prototype.call,e=Array.prototype,f=Object.prototype,g=e.slice,h=d.bind(f.toString),i=d.bind(f.hasOwnProperty),j,k,l,m,n;if(n=i(f,"__defineGetter__"))j=d.bind(f.__defineGetter__),k=d.bind(f.__defineSetter__),l=d.bind(f.__lookupGetter__),m=d.bind(f.__lookupSetter__);Array.isArray||(Array.isArray=function(b){return h(b)=="[object Array]"}),Array.prototype.forEach||(Array.prototype.forEach=function(b){var c=G(this),d=arguments[1],e=0,f=c.length>>>0;if(h(b)!="[object Function]")throw new TypeError;while(e>>0,e=Array(d),f=arguments[1];if(h(b)!="[object Function]")throw new TypeError;for(var g=0;g>>0,e=[],f=arguments[1];if(h(b)!="[object Function]")throw new TypeError;for(var g=0;g>>0,e=arguments[1];if(h(b)!="[object Function]")throw new TypeError;for(var f=0;f>>0,e=arguments[1];if(h(b)!="[object Function]")throw new TypeError;for(var f=0;f>>0;if(h(b)!="[object Function]")throw new TypeError;if(!d&&arguments.length==1)throw new TypeError;var e=0,f;if(arguments.length>=2)f=arguments[1];else do{if(e in c){f=c[e++];break}if(++e>=d)throw new TypeError}while(!0);for(;e>>0;if(h(b)!="[object Function]")throw new TypeError;if(!d&&arguments.length==1)throw new TypeError;var e,f=d-1;if(arguments.length>=2)e=arguments[1];else do{if(f in c){e=c[f--];break}if(--f<0)throw new TypeError}while(!0);do f in this&&(e=b.call(void 0,e,c[f],f,c));while(f--);return e}),Array.prototype.indexOf||(Array.prototype.indexOf=function(b){var c=G(this),d=c.length>>>0;if(!d)return-1;var e=0;arguments.length>1&&(e=E(arguments[1])),e=e>=0?e:Math.max(0,d+e);for(;e>>0;if(!d)return-1;var e=d-1;arguments.length>1&&(e=Math.min(e,E(arguments[1]))),e=e>=0?e:d-Math.abs(e);for(;e>=0;e--)if(e in c&&b===c[e])return e;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(b){return b.__proto__||(b.constructor?b.constructor.prototype:f)});if(!Object.getOwnPropertyDescriptor){var o="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(b,c){if(typeof b!="object"&&typeof b!="function"||b===null)throw new TypeError(o+b);if(!i(b,c))return;var d,e,g;d={enumerable:!0,configurable:!0};if(n){var h=b.__proto__;b.__proto__=f;var e=l(b,c),g=m(b,c);b.__proto__=h;if(e||g)return e&&(d.get=e),g&&(d.set=g),d}return d.value=b[c],d}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(b){return Object.keys(b)}),Object.create||(Object.create=function(b,c){var d;if(b===null)d={__proto__:null};else{if(typeof b!="object")throw new TypeError("typeof prototype["+typeof b+"] != 'object'");var e=function(){};e.prototype=b,d=new e,d.__proto__=b}return c!==void 0&&Object.defineProperties(d,c),d});if(Object.defineProperty){var q=p({}),r=typeof document=="undefined"||p(document.createElement("div"));if(!q||!r)var s=Object.defineProperty}if(!Object.defineProperty||s){var t="Property description must be an object: ",u="Object.defineProperty called on non-object: ",v="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(b,c,d){if(typeof b!="object"&&typeof b!="function"||b===null)throw new TypeError(u+b);if(typeof d!="object"&&typeof d!="function"||d===null)throw new TypeError(t+d);if(s)try{return s.call(Object,b,c,d)}catch(e){}if(i(d,"value"))if(n&&(l(b,c)||m(b,c))){var g=b.__proto__;b.__proto__=f,delete b[c],b[c]=d.value,b.__proto__=g}else b[c]=d.value;else{if(!n)throw new TypeError(v);i(d,"get")&&j(b,c,d.get),i(d,"set")&&k(b,c,d.set)}return b}}Object.defineProperties||(Object.defineProperties=function(b,c){for(var d in c)i(c,d)&&Object.defineProperty(b,d,c[d]);return b}),Object.seal||(Object.seal=function(b){return b}),Object.freeze||(Object.freeze=function(b){return b});try{Object.freeze(function(){})}catch(w){Object.freeze=function(b){return function(c){return typeof c=="function"?c:b(c)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(b){return b}),Object.isSealed||(Object.isSealed=function(b){return!1}),Object.isFrozen||(Object.isFrozen=function(b){return!1}),Object.isExtensible||(Object.isExtensible=function(b){if(Object(b)===b)throw new TypeError;var c="";while(i(b,c))c+="?";b[c]=!0;var d=i(b,c);return delete b[c],d});if(!Object.keys){var x=!0,y=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],z=y.length;for(var A in{toString:null})x=!1;Object.keys=function H(a){if(typeof a!="object"&&typeof a!="function"||a===null)throw new TypeError("Object.keys called on a non-object");var H=[];for(var b in a)i(a,b)&&H.push(b);if(x)for(var c=0,d=z;c9999?"+":"")+("00000"+Math.abs(e)).slice(0<=e&&e<=9999?-4:-6),c=b.length;while(c--)d=b[c],d<10&&(b[c]="0"+d);return e+"-"+b.slice(0,2).join("-")+"T"+b.slice(2).join(":")+"."+("000"+this.getUTCMilliseconds()).slice(-3)+"Z"};Date.now||(Date.now=function(){return(new Date).getTime()}),Date.prototype.toJSON||(Date.prototype.toJSON=function(b){if(typeof this.toISOString!="function")throw new TypeError;return this.toISOString()}),Date.parse("+275760-09-13T00:00:00.000Z")!==864e13&&(Date=function(a){var b=function e(b,c,d,f,g,h,i){var j=arguments.length;if(this instanceof a){var k=j==1&&String(b)===b?new a(e.parse(b)):j>=7?new a(b,c,d,f,g,h,i):j>=6?new a(b,c,d,f,g,h):j>=5?new a(b,c,d,f,g):j>=4?new a(b,c,d,f):j>=3?new a(b,c,d):j>=2?new a(b,c):j>=1?new a(b):new a;return k.constructor=e,k}return a.apply(this,arguments)},c=new RegExp("^(\\d{4}|[+-]\\d{6})(?:-(\\d{2})(?:-(\\d{2})(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d{3}))?)?(?:Z|(?:([-+])(\\d{2}):(\\d{2})))?)?)?)?$");for(var d in a)b[d]=a[d];return b.now=a.now,b.UTC=a.UTC,b.prototype=a.prototype,b.prototype.constructor=b,b.parse=function(d){var e=c.exec(d);if(e){e.shift();for(var f=1;f<7;f++)e[f]=+(e[f]||(f<3?1:0)),f==1&&e[f]--;var g=+e.pop(),h=+e.pop(),i=e.pop(),j=0;if(i){if(h>23||g>59)return NaN;j=(h*60+g)*6e4*(i=="+"?-1:1)}var k=+e[0];return 0<=k&&k<=99?(e[0]=k+400,a.UTC.apply(this,e)+j-126227808e5):a.UTC.apply(this,e)+j}return a.parse.apply(this,arguments)},b}(Date));var B=" \n \f\r   ᠎              \u2028\u2029";if(!String.prototype.trim||B.trim()){B="["+B+"]";var C=new RegExp("^"+B+B+"*"),D=new RegExp(B+B+"*$");String.prototype.trim=function(){return String(this).replace(C,"").replace(D,"")}}var E=function(a){return a=+a,a!==a?a=0:a!==0&&a!==1/0&&a!==-Infinity&&(a=(a>0||-1)*Math.floor(Math.abs(a))),a},F="a"[0]!="a",G=function(a){if(a==null)throw new TypeError;return F&&typeof a=="string"&&a?a.split(""):Object(a)}}),ace.define("ace/lib/dom",["require","exports","module"],function(a,b,c){var d="http://www.w3.org/1999/xhtml";b.createElement=function(a,b){return document.createElementNS?document.createElementNS(b||d,a):document.createElement(a)},b.setText=function(a,b){a.innerText!==undefined&&(a.innerText=b),a.textContent!==undefined&&(a.textContent=b)},b.hasCssClass=function(a,b){var c=a.className.split(/\s+/g);return c.indexOf(b)!==-1},b.addCssClass=function(a,c){b.hasCssClass(a,c)||(a.className+=" "+c)},b.removeCssClass=function(a,b){var c=a.className.split(/\s+/g);for(;;){var d=c.indexOf(b);if(d==-1)break;c.splice(d,1)}a.className=c.join(" ")},b.toggleCssClass=function(a,b){var c=a.className.split(/\s+/g),d=!0;for(;;){var e=c.indexOf(b);if(e==-1)break;d=!1,c.splice(e,1)}return d&&c.push(b),a.className=c.join(" "),d},b.setCssClass=function(a,c,d){d?b.addCssClass(a,c):b.removeCssClass(a,c)},b.hasCssString=function(a,b){var c=0,d;b=b||document;if(b.createStyleSheet&&(d=b.styleSheets)){while(c5||Math.abs(a.clientY-i)>5;if(!j||e)g=0;g+=1,j&&clearTimeout(j),j=setTimeout(function(){j=null},c[g-1]||600)}g==1&&(h=a.clientX,i=a.clientY),d[f]("mousedown",a);if(g>4)g=0;else if(g>1)return d[f](k[g],a)}),e.isOldIE&&b.addListener(a,"dblclick",function(a){g=2,j&&clearTimeout(j),j=setTimeout(function(){j=null},c[g-1]||600),d[f]("mousedown",a),d[f](k[g],a)})},b.addCommandKeyListener=function(a,c){var d=b.addListener;if(e.isOldGecko||e.isOpera&&!("KeyboardEvent"in window)){var f=null;d(a,"keydown",function(a){f=a.keyCode}),d(a,"keypress",function(a){return g(c,a,f)})}else{var h=null;d(a,"keydown",function(a){return h=a.keyIdentifier||a.keyCode,g(c,a,a.keyCode)})}};if(window.postMessage&&!e.isOldIE){var h=1;b.nextTick=function(a,c){c=c||window;var d="zero-timeout-message-"+h;b.addListener(c,"message",function e(f){f.data==d&&(b.stopPropagation(f),b.removeListener(c,"message",e),a())}),c.postMessage(d,"*")}}else b.nextTick=function(a,b){b=b||window,window.setTimeout(a,0)}}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(a,b,c){var d=a("./oop"),e=function(){var a={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,meta:8,command:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",188:",",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}};for(var b in a.FUNCTION_KEYS){var c=a.FUNCTION_KEYS[b].toLowerCase();a[c]=parseInt(b,10)}return d.mixin(a,a.MODIFIER_KEYS),d.mixin(a,a.PRINTABLE_KEYS),d.mixin(a,a.FUNCTION_KEYS),a.enter=a["return"],a.escape=a.esc,a.del=a["delete"],a[173]="-",a}();d.mixin(b,e),b.keyCodeToString=function(a){return(e[a]||String.fromCharCode(a)).toLowerCase()}}),ace.define("ace/lib/oop",["require","exports","module"],function(a,b,c){b.inherits=function(){var a=function(){};return function(b,c){a.prototype=c.prototype,b.super_=c.prototype,b.prototype=new a,b.prototype.constructor=b}}(),b.mixin=function(a,b){for(var c in b)a[c]=b[c]},b.implement=function(a,c){b.mixin(a,c)}}),ace.define("ace/lib/useragent",["require","exports","module"],function(a,b,c){var d=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),e=navigator.userAgent;b.isWin=d=="win",b.isMac=d=="mac",b.isLinux=d=="linux",b.isIE=navigator.appName=="Microsoft Internet Explorer"&&parseFloat(navigator.userAgent.match(/MSIE ([0-9]+[\.0-9]+)/)[1]),b.isOldIE=b.isIE&&b.isIE<9,b.isGecko=b.isMozilla=window.controllers&&window.navigator.product==="Gecko",b.isOldGecko=b.isGecko&&parseInt((navigator.userAgent.match(/rv\:(\d+)/)||[])[1],10)<4,b.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",b.isWebKit=parseFloat(e.split("WebKit/")[1])||undefined,b.isChrome=parseFloat(e.split(" Chrome/")[1])||undefined,b.isAIR=e.indexOf("AdobeAIR")>=0,b.isIPad=e.indexOf("iPad")>=0,b.isTouchPad=e.indexOf("TouchPad")>=0,b.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},b.getOS=function(){return b.isMac?b.OS.MAC:b.isLinux?b.OS.LINUX:b.OS.WINDOWS}}),ace.define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands"],function(a,b,c){a("./lib/fixoldbrowsers");var d=a("./lib/oop"),e=a("./lib/lang"),f=a("./lib/useragent"),g=a("./keyboard/textinput").TextInput,h=a("./mouse/mouse_handler").MouseHandler,i=a("./mouse/fold_handler").FoldHandler,j=a("./keyboard/keybinding").KeyBinding,k=a("./edit_session").EditSession,l=a("./search").Search,m=a("./range").Range,n=a("./lib/event_emitter").EventEmitter,o=a("./commands/command_manager").CommandManager,p=a("./commands/default_commands").commands,q=function(a,b){var c=a.getContainerElement();this.container=c,this.renderer=a,this.commands=new o(f.isMac?"mac":"win",p),this.textInput=new g(a.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.keyBinding=new j(this),this.$mouseHandler=new h(this),new i(this),this.$blockScrolling=0,this.$search=(new l).set({wrap:!0}),this.setSession(b||new k(""))};(function(){d.implement(this,n),this.setKeyboardHandler=function(a){this.keyBinding.setKeyboardHandler(a)},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(a){if(this.session==a)return;if(this.session){var b=this.session;this.session.removeEventListener("change",this.$onDocumentChange),this.session.removeEventListener("changeMode",this.$onChangeMode),this.session.removeEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.session.removeEventListener("changeTabSize",this.$onChangeTabSize),this.session.removeEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.session.removeEventListener("changeWrapMode",this.$onChangeWrapMode),this.session.removeEventListener("onChangeFold",this.$onChangeFold),this.session.removeEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.session.removeEventListener("changeBackMarker",this.$onChangeBackMarker),this.session.removeEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.session.removeEventListener("changeAnnotation",this.$onChangeAnnotation),this.session.removeEventListener("changeOverwrite",this.$onCursorChange),this.session.removeEventListener("changeScrollTop",this.$onScrollTopChange),this.session.removeEventListener("changeLeftTop",this.$onScrollLeftChange);var c=this.session.getSelection();c.removeEventListener("changeCursor",this.$onCursorChange),c.removeEventListener("changeSelection",this.$onSelectionChange)}this.session=a,this.$onDocumentChange=this.onDocumentChange.bind(this),a.addEventListener("change",this.$onDocumentChange),this.renderer.setSession(a),this.$onChangeMode=this.onChangeMode.bind(this),a.addEventListener("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),a.addEventListener("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),a.addEventListener("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),a.addEventListener("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),a.addEventListener("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),a.addEventListener("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.addEventListener("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.addEventListener("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.addEventListener("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.addEventListener("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.addEventListener("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.addEventListener("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.addEventListener("changeScrollLeft",this.$onScrollLeftChange),this.selection=a.getSelection(),this.selection.addEventListener("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.addEventListener("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull(),this._emit("changeSession",{session:a,oldSession:b})},this.getSession=function(){return this.session},this.setValue=function(a,b){return this.session.doc.setValue(a),b?b==1?this.navigateFileEnd():b==-1&&this.navigateFileStart():this.selectAll(),a},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(a){this.renderer.onResize(a)},this.setTheme=function(a){this.renderer.setTheme(a)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(a){this.renderer.setStyle(a)},this.unsetStyle=function(a){this.renderer.unsetStyle(a)},this.setFontSize=function(a){this.container.style.fontSize=a,this.renderer.updateFontSize()},this.$highlightBrackets=function(){this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null);if(this.$highlightPending)return;var a=this;this.$highlightPending=!0,setTimeout(function(){a.$highlightPending=!1;var b=a.session.findMatchingBracket(a.getCursorPosition());if(b){var c=new m(b.row,b.column,b.row,b.column+1);a.session.$bracketHighlight=a.session.addMarker(c,"ace_bracket","text")}},10)},this.focus=function(){var a=this;setTimeout(function(){a.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(){if(this.$isFocused)return;this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus")},this.onBlur=function(){if(!this.$isFocused)return;this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur")},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(a){var b=a.data,c=b.range,d;c.start.row==c.end.row&&b.action!="insertLines"&&b.action!="removeLines"?d=c.end.row:d=Infinity,this.renderer.updateLines(c.start.row,d),this._emit("change",a),this.$cursorChange()},this.onTokenizerUpdate=function(a){var b=a.data;this.renderer.updateLines(b.first,b.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$blockScrolling||this.renderer.scrollCursorIntoView(),this.$highlightBrackets(),this.$updateHighlightActiveLine(),this._emit("changeSelection")},this.$updateHighlightActiveLine=function(){var a=this.getSession();a.$highlightLineMarker&&a.removeMarker(a.$highlightLineMarker),a.$highlightLineMarker=null;if(this.$highlightActiveLine){var b=this.getCursorPosition(),c=this.session.getFoldLine(b.row);if(this.getSelectionStyle()!="line"||!this.selection.isMultiLine()){var d;c?d=new m(c.start.row,0,c.end.row+1,0):d=new m(b.row,0,b.row+1,0),a.$highlightLineMarker=a.addMarker(d,"ace_active_line","background")}}},this.onSelectionChange=function(a){var b=this.session;b.$selectionMarker&&b.removeMarker(b.$selectionMarker),b.$selectionMarker=null;if(!this.selection.isEmpty()){var c=this.selection.getRange(),d=this.getSelectionStyle();b.$selectionMarker=b.addMarker(c,"ace_selection",d)}else this.$updateHighlightActiveLine();var e=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(e),this._emit("changeSelection")},this.$getSelectionHighLightRegexp=function(){var a=this.session,b=this.getSelectionRange();if(b.isEmpty()||b.isMultiLine())return;var c=b.start.column-1,d=b.end.column+1,e=a.getLine(b.start.row),f=e.length,g=e.substring(Math.max(c,0),Math.min(d,f));if(c>=0&&/^[\w\d]/.test(g)||d<=f&&/[\w\d]$/.test(g))return;g=e.substring(b.start.column,b.end.column);if(!/^[\w\d]+$/.test(g))return;var h=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:g});return h},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(){this.renderer.updateText()},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getCopyText=function(){var a="";return this.selection.isEmpty()||(a=this.session.getTextRange(this.getSelectionRange())),this._emit("copy",a),a},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(a){if(this.$readOnly)return;this._emit("paste",a),this.insert(a)},this.insert=function(a){var b=this.session,c=b.getMode(),d=this.getCursorPosition();if(this.getBehavioursEnabled()){var e=c.transformAction(b.getState(d.row),"insertion",this,b,a);e&&(a=e.text)}a=a.replace(" ",this.session.getTabString());if(!this.selection.isEmpty())d=this.session.remove(this.getSelectionRange()),this.clearSelection();else if(this.session.getOverwrite()){var f=new m.fromPoints(d,d);f.end.column+=a.length,this.session.remove(f)}this.clearSelection();var g=d.column,h=b.getState(d.row),i=c.checkOutdent(h,b.getLine(d.row),a),j=b.getLine(d.row),k=c.getNextLineIndent(h,j.slice(0,d.column),b.getTabString()),l=b.insert(d,a);e&&e.selection&&(e.selection.length==2?this.selection.setSelectionRange(new m(d.row,g+e.selection[0],d.row,g+e.selection[1])):this.selection.setSelectionRange(new m(d.row+e.selection[0],e.selection[1],d.row+e.selection[2],e.selection[3])));var h=b.getState(d.row);if(b.getDocument().isNewLine(a)){this.moveCursorTo(d.row+1,0);var n=b.getTabSize(),o=Number.MAX_VALUE;for(var p=d.row+1;p<=l.row;++p){var q=0;j=b.getLine(p);for(var r=0;r0;++r)j.charAt(r)==" "?s-=n:j.charAt(r)==" "&&(s-=1);b.remove(new m(p,0,p,r))}b.indentRows(d.row+1,l.row,k)}i&&c.autoOutdent(h,b,d.row)},this.onTextInput=function(a){this.keyBinding.onTextInput(a)},this.onCommandKey=function(a,b,c){this.keyBinding.onCommandKey(a,b,c)},this.setOverwrite=function(a){this.session.setOverwrite(a)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(a){this.$mouseHandler.setScrollSpeed(a)},this.getScrollSpeed=function(){return this.$mouseHandler.getScrollSpeed()},this.setDragDelay=function(a){this.$mouseHandler.setDragDelay(a)},this.getDragDelay=function(){return this.$mouseHandler.getDragDelay()},this.$selectionStyle="line",this.setSelectionStyle=function(a){if(this.$selectionStyle==a)return;this.$selectionStyle=a,this.onSelectionChange(),this._emit("changeSelectionStyle",{data:a})},this.getSelectionStyle=function(){return this.$selectionStyle},this.$highlightActiveLine=!0,this.setHighlightActiveLine=function(a){if(this.$highlightActiveLine==a)return;this.$highlightActiveLine=a,this.$updateHighlightActiveLine()},this.getHighlightActiveLine=function(){return this.$highlightActiveLine},this.$highlightGutterLine=!0,this.setHighlightGutterLine=function(a){if(this.$highlightGutterLine==a)return;this.renderer.setHighlightGutterLine(a),this.$highlightGutterLine=a},this.getHighlightGutterLine=function(){return this.$highlightGutterLine},this.$highlightSelectedWord=!0,this.setHighlightSelectedWord=function(a){if(this.$highlightSelectedWord==a)return;this.$highlightSelectedWord=a,this.$onSelectionChange()},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(a){this.renderer.setAnimatedScroll(a)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(a){this.renderer.setShowInvisibles(a)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(a){this.renderer.setDisplayIndentGuides(a)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(a){this.renderer.setShowPrintMargin(a)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(a){this.renderer.setPrintMarginColumn(a)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.$readOnly=!1,this.setReadOnly=function(a){this.$readOnly=a},this.getReadOnly=function(){return this.$readOnly},this.$modeBehaviours=!0,this.setBehavioursEnabled=function(a){this.$modeBehaviours=a},this.getBehavioursEnabled=function(){return this.$modeBehaviours},this.setShowFoldWidgets=function(a){var b=this.renderer.$gutterLayer;if(b.getShowFoldWidgets()==a)return;this.renderer.$gutterLayer.setShowFoldWidgets(a),this.$showFoldWidgets=a,this.renderer.updateFull()},this.getShowFoldWidgets=function(){return this.renderer.$gutterLayer.getShowFoldWidgets()},this.setFadeFoldWidgets=function(a){this.renderer.setFadeFoldWidgets(a)},this.getFadeFoldWidgets=function(){return this.renderer.getFadeFoldWidgets()},this.remove=function(a){this.selection.isEmpty()&&(a=="left"?this.selection.selectLeft():this.selection.selectRight());var b=this.getSelectionRange();if(this.getBehavioursEnabled()){var c=this.session,d=c.getState(b.start.row),e=c.getMode().transformAction(d,"deletion",this,c,b);e&&(b=e)}this.session.remove(b),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var a=this.getSelectionRange();a.start.column==a.end.column&&a.start.row==a.end.row&&(a.end.column=0,a.end.row++),this.session.remove(a),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var a=this.getCursorPosition();this.insert("\n"),this.moveCursorToPosition(a)},this.transposeLetters=function(){if(!this.selection.isEmpty())return;var a=this.getCursorPosition(),b=a.column;if(b===0)return;var c=this.session.getLine(a.row),d,e;b=this.getFirstVisibleRow()&&a<=this.getLastVisibleRow()},this.isRowFullyVisible=function(a){return a>=this.renderer.getFirstFullyVisibleRow()&&a<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(a,b){var c=this.renderer,d=this.renderer.layerConfig,e=a*Math.floor(d.height/d.lineHeight);this.$blockScrolling++,b==1?this.selection.$moveSelection(function(){this.moveCursorBy(e,0)}):b==0&&(this.selection.moveCursorBy(e,0),this.selection.clearSelection()),this.$blockScrolling--;var f=c.scrollTop;c.scrollBy(0,e*d.lineHeight),b!=null&&c.scrollCursorIntoView(null,.5),c.animateScrolling(f)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(a){this.renderer.scrollToRow(a)},this.scrollToLine=function(a,b,c,d){this.renderer.scrollToLine(a,b,c,d)},this.centerSelection=function(){var a=this.getSelectionRange(),b={row:Math.floor(a.start.row+(a.end.row-a.start.row)/2),column:Math.floor(a.start.column+(a.end.column-a.start.column)/2)};this.renderer.alignCursor(b,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(a,b){this.selection.moveCursorTo(a,b)},this.moveCursorToPosition=function(a){this.selection.moveCursorToPosition(a)},this.jumpToMatching=function(a){var b=this.getCursorPosition(),c=this.session.getBracketRange(b);if(!c){c=this.find({needle:/[{}()\[\]]/g,preventScroll:!0,start:{row:b.row,column:b.column-1}});if(!c)return;var d=c.start;d.row==b.row&&Math.abs(d.column-b.column)<2&&(c=this.session.getBracketRange(d))}d=c&&c.cursor||d,d&&(a?c&&c.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(d.row,d.column):(this.clearSelection(),this.moveCursorTo(d.row,d.column)))},this.gotoLine=function(a,b,c){this.selection.clearSelection(),this.session.unfold({row:a-1,column:b||0}),this.$blockScrolling+=1,this.moveCursorTo(a-1,b||0),this.$blockScrolling-=1,this.isRowFullyVisible(a-1)||this.scrollToLine(a-1,!0,c)},this.navigateTo=function(a,b){this.clearSelection(),this.moveCursorTo(a,b)},this.navigateUp=function(a){this.selection.clearSelection(),a=a||1,this.selection.moveCursorBy(-a,0)},this.navigateDown=function(a){this.selection.clearSelection(),a=a||1,this.selection.moveCursorBy(a,0)},this.navigateLeft=function(a){if(!this.selection.isEmpty()){var b=this.getSelectionRange().start;this.moveCursorToPosition(b)}else{a=a||1;while(a--)this.selection.moveCursorLeft()}this.clearSelection()},this.navigateRight=function(a){if(!this.selection.isEmpty()){var b=this.getSelectionRange().end;this.moveCursorToPosition(b)}else{a=a||1;while(a--)this.selection.moveCursorRight()}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){var a=this.renderer.scrollTop;this.selection.moveCursorFileEnd(),this.clearSelection(),this.renderer.animateScrolling(a)},this.navigateFileStart=function(){var a=this.renderer.scrollTop;this.selection.moveCursorFileStart(),this.clearSelection(),this.renderer.animateScrolling(a)},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(a,b){b&&this.$search.set(b);var c=this.$search.find(this.session),d=0;return c?(this.$tryReplace(c,a)&&(d=1),c!==null&&(this.selection.setSelectionRange(c),this.renderer.scrollSelectionIntoView(c.start,c.end)),d):d},this.replaceAll=function(a,b){b&&this.$search.set(b);var c=this.$search.findAll(this.session),d=0;if(!c.length)return d;this.$blockScrolling+=1;var e=this.getSelectionRange();this.clearSelection(),this.selection.moveCursorTo(0,0);for(var f=c.length-1;f>=0;--f)this.$tryReplace(c[f],a)&&d++;return this.selection.setSelectionRange(e),this.$blockScrolling-=1,d},this.$tryReplace=function(a,b){var c=this.session.getTextRange(a);return b=this.$search.replace(c,b),b!==null?(a.end=this.session.replace(a,b),a):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(a,b,c){b||(b={}),typeof a=="string"||a instanceof RegExp?b.needle=a:typeof a=="object"&&d.mixin(b,a);var e=this.selection.getRange();b.needle==null&&(a=this.session.getTextRange(e)||this.$search.$options.needle,a||(e=this.session.getWordRange(e.start.row,e.start.column),a=this.session.getTextRange(e)),this.$search.set({needle:a})),this.$search.set(b),b.start||this.$search.set({start:e});var f=this.$search.find(this.session);if(b.preventScroll)return f;if(f)return this.revealRange(f,c),f;b.backwards?e.start=e.end:e.end=e.start,this.selection.setRange(e)},this.findNext=function(a,b){this.find({skipCurrent:!0,backwards:!1},a,b)},this.findPrevious=function(a,b){this.find(a,{skipCurrent:!0,backwards:!0},b)},this.revealRange=function(a,b){this.$blockScrolling+=1,this.session.unfold(a),this.selection.setSelectionRange(a),this.$blockScrolling-=1;var c=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(a.start,a.end,.5),b!=0&&this.renderer.animateScrolling(c)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy()}}).call(q.prototype),b.Editor=q}),ace.define("ace/lib/lang",["require","exports","module"],function(a,b,c){b.stringReverse=function(a){return a.split("").reverse().join("")},b.stringRepeat=function(a,b){return(new Array(b+1)).join(a)};var d=/^\s\s*/,e=/\s\s*$/;b.stringTrimLeft=function(a){return a.replace(d,"")},b.stringTrimRight=function(a){return a.replace(e,"")},b.copyObject=function(a){var b={};for(var c in a)b[c]=a[c];return b},b.copyArray=function(a){var b=[];for(var c=0,d=a.length;c1&&(d.charAt(0)==g?d=d.substr(1):d.charAt(d.length-1)==g&&(d=d.slice(0,-1))),d&&d!=g&&(j?b.onPaste(d):b.onTextInput(d)))}i=!1,j=!1,l(!0)}function v(){return document.activeElement===c}function w(){setTimeout(function(){k&&(c.style.cssText=k,k=""),m(),b.renderer.$keepTextAreaAtCursor==null&&(b.renderer.$keepTextAreaAtCursor=!0,b.renderer.$moveTextAreaToCursor())},0)}var c=f.createElement("textarea");e.isTouchPad&&c.setAttribute("x-palm-disable-auto-cap",!0),c.setAttribute("wrap","off"),c.style.top="-2em",a.insertBefore(c,a.firstChild);var g=e.isIE?"":"\0";l(!0),v()&&b.onFocus();var h=!1,i=!1,j=!1,k="",n=function(a){h||m(a.data),setTimeout(function(){h||l(!0)},0)},o=function(a){setTimeout(function(){h||c.value!=""&&m()},0)},p=function(a){h=!0,b.onCompositionStart(),setTimeout(q,0)},q=function(){if(!h)return;b.onCompositionUpdate(c.value)},r=function(a){h=!1,b.onCompositionEnd()},s=function(a){i=!0;var d=b.getCopyText();d?c.value=d:a.preventDefault(),l(),setTimeout(function(){m()},0)},t=function(a){i=!0;var d=b.getCopyText();d?(c.value=d,b.onCut()):a.preventDefault(),l(),setTimeout(function(){m()},0)};d.addCommandKeyListener(c,b.onCommandKey.bind(b)),d.addListener(c,"input",n);if(e.isOldIE){var u={13:1,27:1};d.addListener(c,"keyup",function(a){h&&(!c.value||u[a.keyCode])&&setTimeout(r,0);if((c.value.charCodeAt(0)|0)<129)return;h?q():p()}),d.addListener(c,"propertychange",function(){c.value!=g&&setTimeout(m,0)})}d.addListener(c,"paste",function(a){j=!0,a.clipboardData&&a.clipboardData.getData?(m(a.clipboardData.getData("text/plain")),a.preventDefault()):o()}),"onbeforecopy"in c&&typeof clipboardData!="undefined"?(d.addListener(c,"beforecopy",function(a){if(k)return;var c=b.getCopyText();c?clipboardData.setData("Text",c):a.preventDefault()}),d.addListener(a,"keydown",function(a){if(a.ctrlKey&&a.keyCode==88){var c=b.getCopyText();c&&(clipboardData.setData("Text",c),b.onCut()),d.preventDefault(a)}}),d.addListener(c,"cut",t)):!e.isOpera||"KeyboardEvent"in window?(d.addListener(c,"copy",s),d.addListener(c,"cut",t)):d.addListener(a,"keydown",function(a){if(e.isMac&&!a.metaKey||!a.ctrlKey)return;if(a.keyCode==88||a.keyCode==67){var d=b.getCopyText();d&&(c.value=d,c.select(),a.keyCode==88&&b.onCut())}}),d.addListener(c,"compositionstart",p),e.isGecko&&d.addListener(c,"text",q),e.isWebKit&&d.addListener(c,"keyup",q),d.addListener(c,"compositionend",r),d.addListener(c,"blur",function(){b.onBlur()}),d.addListener(c,"focus",function(){b.onFocus(),l()}),this.focus=function(){l(),c.focus()},this.blur=function(){c.blur()},this.isFocused=v,this.getElement=function(){return c},this.onContextMenu=function(a){k||(k=c.style.cssText),c.style.cssText="position:fixed; z-index:100000;"+(e.isIE?"background:rgba(0, 0, 0, 0.03); opacity:0.1;":"")+"left:"+(a.clientX-2)+"px; top:"+(a.clientY-2)+"px;",b.selection.isEmpty()?c.value="":l(!0);if(a.type!="mousedown")return;b.renderer.$keepTextAreaAtCursor&&(b.renderer.$keepTextAreaAtCursor=null),e.isWin&&(e.isGecko||e.isIE)&&d.capture(b.container,function(a){c.style.left=a.clientX-2+"px",c.style.top=a.clientY-2+"px"},w)},this.onContextMenuClose=w,e.isGecko||d.addListener(c,"contextmenu",function(a){b.textInput.onContextMenu(a),w()})};b.TextInput=g}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop"],function(a,b,c){var d=a("../lib/event"),e=a("../lib/useragent"),f=a("./default_handlers").DefaultHandlers,g=a("./default_gutter_handler").GutterHandler,h=a("./mouse_event").MouseEvent,i=a("./dragdrop").DragdropHandler,j=function(a){this.editor=a,new f(this),new g(this),new i(this),d.addListener(a.container,"mousedown",function(b){return a.focus(),d.preventDefault(b)});var b=a.renderer.getMouseEventTarget();d.addListener(b,"click",this.onMouseEvent.bind(this,"click")),d.addListener(b,"mousemove",this.onMouseMove.bind(this,"mousemove")),d.addMultiMouseDownListener(b,[300,300,250],this,"onMouseEvent"),d.addMouseWheelListener(a.container,this.onMouseWheel.bind(this,"mousewheel"));var c=a.renderer.$gutter;d.addListener(c,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),d.addListener(c,"click",this.onMouseEvent.bind(this,"gutterclick")),d.addListener(c,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),d.addListener(c,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"))};(function(){this.$scrollSpeed=1,this.setScrollSpeed=function(a){this.$scrollSpeed=a},this.getScrollSpeed=function(){return this.$scrollSpeed},this.onMouseEvent=function(a,b){this.editor._emit(a,new h(b,this.editor))},this.$dragDelay=250,this.setDragDelay=function(a){this.$dragDelay=a},this.getDragDelay=function(){return this.$dragDelay},this.onMouseMove=function(a,b){var c=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;if(!c||!c.length)return;this.editor._emit(a,new h(b,this.editor))},this.onMouseWheel=function(a,b){var c=new h(b,this.editor);c.speed=this.$scrollSpeed*2,c.wheelX=b.wheelX,c.wheelY=b.wheelY,this.editor._emit(a,c)},this.setState=function(a){this.state=a},this.captureMouse=function(a,b){b&&this.setState(b),this.x=a.x,this.y=a.y;var c=this.editor.renderer;c.$keepTextAreaAtCursor&&(c.$keepTextAreaAtCursor=null);var f=this,g=function(a){f.x=a.clientX,f.y=a.clientY},h=function(a){clearInterval(j),f[f.state+"End"]&&f[f.state+"End"](a),f.$clickSelection=null,c.$keepTextAreaAtCursor==null&&(c.$keepTextAreaAtCursor=!0,c.$moveTextAreaToCursor())},i=function(){f[f.state]&&f[f.state]()};if(e.isOldIE&&a.domEvent.type=="dblclick"){setTimeout(function(){i(),h(a.domEvent)});return}d.capture(this.editor.container,g,h);var j=setInterval(i,20)}}).call(j.prototype),b.MouseHandler=j}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/useragent"],function(a,b,c){function g(a){a.$clickSelection=null;var b=a.editor;b.setDefaultHandler("mousedown",this.onMouseDown.bind(a)),b.setDefaultHandler("dblclick",this.onDoubleClick.bind(a)),b.setDefaultHandler("tripleclick",this.onTripleClick.bind(a)),b.setDefaultHandler("quadclick",this.onQuadClick.bind(a)),b.setDefaultHandler("mousewheel",this.onMouseWheel.bind(a));var c=["select","startSelect","drag","dragEnd","dragWait","dragWaitEnd","startDrag","focusWait"];c.forEach(function(b){a[b]=this[b]},this),a.selectByLines=this.extendSelectionBy.bind(a,"getLineRange"),a.selectByWords=this.extendSelectionBy.bind(a,"getWordRange"),a.$focusWaitTimout=250}function h(a,b,c,d){return Math.sqrt(Math.pow(c-a,2)+Math.pow(d-b,2))}function i(a,b){if(a.start.row==a.end.row)var c=2*b.column-a.start.column-a.end.column;else var c=2*b.row-a.start.row-a.end.row;return c<0?{cursor:a.start,anchor:a.end}:{cursor:a.end,anchor:a.start}}var d=a("../lib/dom"),e=a("../lib/useragent"),f=5;(function(){this.onMouseDown=function(a){var b=a.inSelection(),c=a.getDocumentPosition();this.mousedownEvent=a;var d=this.editor,e=a.getButton();if(e!==0){var f=d.getSelectionRange(),g=f.isEmpty();g&&(d.moveCursorToPosition(c),d.selection.clearSelection()),d.textInput.onContextMenu(a.domEvent);return}if(b&&!d.isFocused()){d.focus();if(this.$focusWaitTimout&&!this.$clickSelection)return this.setState("focusWait"),this.captureMouse(a),a.preventDefault()}return!b||this.$clickSelection||a.getShiftKey()?this.startSelect(c):b&&(this.mousedownEvent.time=(new Date).getTime(),this.setState("dragWait")),this.captureMouse(a),a.preventDefault()},this.startSelect=function(a){a=a||this.editor.renderer.screenToTextCoordinates(this.x,this.y),this.mousedownEvent.getShiftKey()?this.editor.selection.selectToPosition(a):this.$clickSelection||(this.editor.moveCursorToPosition(a),this.editor.selection.clearSelection()),this.setState("select")},this.select=function(){var a,b=this.editor,c=b.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var d=this.$clickSelection.comparePoint(c);if(d==-1)a=this.$clickSelection.end;else if(d==1)a=this.$clickSelection.start;else{var e=i(this.$clickSelection,c);c=e.cursor,a=e.anchor}b.selection.setSelectionAnchor(a.row,a.column)}b.selection.selectToPosition(c),b.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(a){var b,c=this.editor,d=c.renderer.screenToTextCoordinates(this.x,this.y),e=c.selection[a](d.row,d.column);if(this.$clickSelection){var f=this.$clickSelection.comparePoint(e.start),g=this.$clickSelection.comparePoint(e.end);if(f==-1&&g<=0){b=this.$clickSelection.end;if(e.end.row!=d.row||e.end.column!=d.column)d=e.start}else if(g==1&&f>=0){b=this.$clickSelection.start;if(e.start.row!=d.row||e.start.column!=d.column)d=e.end}else if(f==-1&&g==1)d=e.end,b=e.start;else{var h=i(this.$clickSelection,d);d=h.cursor,b=h.anchor}c.selection.setSelectionAnchor(b.row,b.column)}c.selection.selectToPosition(d),c.renderer.scrollCursorIntoView()},this.startDrag=function(){var a=this.editor;this.setState("drag"),this.dragRange=a.getSelectionRange();var b=a.getSelectionStyle();this.dragSelectionMarker=a.session.addMarker(this.dragRange,"ace_selection",b),a.clearSelection(),d.addCssClass(a.container,"ace_dragging"),this.$dragKeybinding||(this.$dragKeybinding={handleKeyboard:function(a,b,c,d){if(c=="esc")return{command:this.command}},command:{exec:function(a){var b=a.$mouseHandler;b.dragCursor=null,b.dragEnd(),b.startSelect()}}}),a.keyBinding.addKeyboardHandler(this.$dragKeybinding)},this.focusWait=function(){var a=h(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),b=(new Date).getTime();(a>f||b-this.mousedownEvent.time>this.$focusWaitTimout)&&this.startSelect()},this.dragWait=function(a){var b=h(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),c=(new Date).getTime(),d=this.editor;b>f?this.startSelect(this.mousedownEvent.getDocumentPosition()):c-this.mousedownEvent.time>d.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(a){this.mousedownEvent.domEvent=a,this.startSelect()},this.drag=function(){var a=this.editor;this.dragCursor=a.renderer.screenToTextCoordinates(this.x,this.y),a.moveCursorToPosition(this.dragCursor),a.renderer.scrollCursorIntoView()},this.dragEnd=function(a){var b=this.editor,c=this.dragCursor,e=this.dragRange;d.removeCssClass(b.container,"ace_dragging"),b.session.removeMarker(this.dragSelectionMarker),b.keyBinding.removeKeyboardHandler(this.$dragKeybinding);if(!c)return;b.clearSelection();if(a&&(a.ctrlKey||a.altKey)){var f=b.session,g=e;g.end=f.insert(c,f.getTextRange(e)),g.start=c}else{if(e.contains(c.row,c.column))return;var g=b.moveText(e,c)}if(!g)return;b.selection.setSelectionRange(g)},this.onDoubleClick=function(a){var b=a.getDocumentPosition(),c=this.editor,d=c.session,e=d.getBracketRange(b);if(e){e.isEmpty()&&(e.start.column--,e.end.column++),this.$clickSelection=e,this.setState("select");return}this.$clickSelection=c.selection.getWordRange(b.row,b.column),this.setState("selectByWords")},this.onTripleClick=function(a){var b=a.getDocumentPosition(),c=this.editor;this.setState("selectByLines"),this.$clickSelection=c.selection.getLineRange(b.row)},this.onQuadClick=function(a){var b=this.editor;b.selectAll(),this.$clickSelection=b.getSelectionRange(),this.setState("null")},this.onMouseWheel=function(a){if(a.getShiftKey()||a.getAccelKey())return;var b=this.editor,c=b.renderer.isScrollableBy(a.wheelX*a.speed,a.wheelY*a.speed);if(c)this.$passScrollEvent=!1;else{if(this.$passScrollEvent)return;if(!this.$scrollStopTimeout){var d=this;this.$scrollStopTimeout=setTimeout(function(){d.$passScrollEvent=!0,d.$scrollStopTimeout=null},200)}}return b.renderer.scrollBy(a.wheelX*a.speed,a.wheelY*a.speed),a.preventDefault()}}).call(g.prototype),b.DefaultHandlers=g}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event"],function(a,b,c){function f(a){function j(){h=d.createElement("div"),h.className="ace_gutter_tooltip",h.style.maxWidth="500px",h.style.display="none",b.container.appendChild(h)}function k(){h||j();var a=g.getDocumentPosition().row,d=c.$annotations[a];if(!d)return l();var e=b.session.getLength();if(a==e){var f=b.renderer.pixelToScreenCoordinates(0,g.y).row,k=g.$pos;if(f>b.session.documentToScreenRow(k.row,k.column))return l()}if(i==d)return;i=d.text.join("\n"),h.style.display="block",h.innerHTML=i,b.on("mousewheel",l),m(g)}function l(){f&&(f=clearTimeout(f)),i&&(h.style.display="none",i=null,b.removeEventListener("mousewheel",l))}function m(a){var c=b.renderer.$gutter.getBoundingClientRect();h.style.left=a.x-c.left+15+"px",a.y+3*b.renderer.lineHeight+150)return;return console.log(a.type,k,a.target),clearInterval(g),b.session.removeMarker(c),c=null,b.selection.setSelectionRange(h,i),d.preventDefault(a)}),d.addListener(l,"drop",function(a){return console.log(a.type,k,a.target),k=0,clearInterval(g),b.session.removeMarker(c),c=null,h.end=b.session.insert(j,a.dataTransfer.getData("Text")),h.start=j,b.focus(),b.selection.setSelectionRange(h),d.preventDefault(a)})};b.DragdropHandler=e}),ace.define("ace/mouse/fold_handler",["require","exports","module"],function(a,b,c){function d(a){a.on("click",function(b){var c=b.getDocumentPosition(),d=a.session,e=d.getFoldAt(c.row,c.column,1);e&&(b.getAccelKey()?d.removeFold(e):d.expandFold(e),b.stop())}),a.on("gutterclick",function(b){var c=a.renderer.$gutterLayer.getRegion(b);if(c=="foldWidgets"){var d=b.getDocumentPosition().row,e=a.session;e.foldWidgets&&e.foldWidgets[d]&&a.session.onFoldWidgetClick(d,b),b.stop()}})}b.FoldHandler=d}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(a,b,c){var d=a("../lib/keys"),e=a("../lib/event"),f=function(a){this.$editor=a,this.$data={},this.$handlers=[],this.setDefaultHandler(a.commands)};(function(){this.setDefaultHandler=function(a){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=a,this.addKeyboardHandler(a,0),this.$data={editor:this.$editor}},this.setKeyboardHandler=function(a){if(this.$handlers[this.$handlers.length-1]==a)return;while(this.$handlers[1])this.removeKeyboardHandler(this.$handlers[1]);this.addKeyboardHandler(a,1)},this.addKeyboardHandler=function(a,b){if(!a)return;var c=this.$handlers.indexOf(a);c!=-1&&this.$handlers.splice(c,1),b==undefined?this.$handlers.push(a):this.$handlers.splice(b,0,a),c==-1&&a.attach&&a.attach(this.$editor)},this.removeKeyboardHandler=function(a){var b=this.$handlers.indexOf(a);return b==-1?!1:(this.$handlers.splice(b,1),a.detach&&a.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.$callKeyboardHandlers=function(a,b,c,d){var f;for(var g=this.$handlers.length;g--;){f=this.$handlers[g].handleKeyboard(this.$data,a,b,c,d);if(f&&f.command)break}if(!f||!f.command)return!1;var h=!1,i=this.$editor.commands;return f.command!="null"?h=i.exec(f.command,this.$editor,f.args,d):h=f.passEvent!=1,h&&d&&a!=-1&&e.stopEvent(d),h},this.onCommandKey=function(a,b,c){var e=d.keyCodeToString(c);this.$callKeyboardHandlers(b,e,c,a)},this.onTextInput=function(a){var b=this.$callKeyboardHandlers(-1,a);b||this.$editor.commands.exec("insertstring",this.$editor,a)}}).call(f.prototype),b.KeyBinding=f}),ace.define("ace/edit_session",["require","exports","module","ace/config","ace/lib/oop","ace/lib/lang","ace/lib/net","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],function(a,b,c){var d=a("./config"),e=a("./lib/oop"),f=a("./lib/lang"),g=a("./lib/net"),h=a("./lib/event_emitter").EventEmitter,i=a("./selection").Selection,j=a("./mode/text").Mode,k=a("./range").Range,l=a("./document").Document,m=a("./background_tokenizer").BackgroundTokenizer,n=a("./search_highlight").SearchHighlight,o=function(a,b){this.$modified=!0,this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$resetRowCache(0),this.$wrapData=[],this.$foldData=[],this.$rowLengthCache=[],this.$undoSelect=!0,this.$foldData.toString=function(){var a="";return this.forEach(function(b){a+="\n"+b.toString()}),a},typeof a=="object"&&a.getLine?this.setDocument(a):this.setDocument(new l(a)),this.selection=new i(this),this.setMode(b)};(function(){function s(a){return a<4352?!1:a>=4352&&a<=4447||a>=4515&&a<=4519||a>=4602&&a<=4607||a>=9001&&a<=9002||a>=11904&&a<=11929||a>=11931&&a<=12019||a>=12032&&a<=12245||a>=12272&&a<=12283||a>=12288&&a<=12350||a>=12353&&a<=12438||a>=12441&&a<=12543||a>=12549&&a<=12589||a>=12593&&a<=12686||a>=12688&&a<=12730||a>=12736&&a<=12771||a>=12784&&a<=12830||a>=12832&&a<=12871||a>=12880&&a<=13054||a>=13056&&a<=19903||a>=19968&&a<=42124||a>=42128&&a<=42182||a>=43360&&a<=43388||a>=44032&&a<=55203||a>=55216&&a<=55238||a>=55243&&a<=55291||a>=63744&&a<=64255||a>=65040&&a<=65049||a>=65072&&a<=65106||a>=65108&&a<=65126||a>=65128&&a<=65131||a>=65281&&a<=65376||a>=65504&&a<=65510}e.implement(this,h),this.setDocument=function(a){if(this.doc)throw new Error("Document is already set");this.doc=a,a.on("change",this.onChange.bind(this)),this.on("changeFold",this.onChangeFold.bind(this)),this.bgTokenizer&&(this.bgTokenizer.setDocument(this.getDocument()),this.bgTokenizer.start(0))},this.getDocument=function(){return this.doc},this.$resetRowCache=function(a){if(!a){this.$docRowCache=[],this.$screenRowCache=[];return}var b=this.$getRowCacheIndex(this.$docRowCache,a)+1,c=this.$docRowCache.length;this.$docRowCache.splice(b,c),this.$screenRowCache.splice(b,c)},this.$getRowCacheIndex=function(a,b){var c=0,d=a.length-1;while(c<=d){var e=c+d>>1,f=a[e];if(b>f)c=e+1;else{if(!(b=b)break}return d=c[f],d?(d.index=f,d.start=e-d.value.length,d):null},this.highlight=function(a){if(!this.$searchHighlight){var b=new n(null,"ace_selected_word","text");this.$searchHighlight=this.addDynamicMarker(b)}this.$searchHighlight.setRegexp(a)},this.setUndoManager=function(a){this.$undoManager=a,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel();if(a){var b=this;this.$syncInformUndoManager=function(){b.$informUndoManager.cancel(),b.$deltasFold.length&&(b.$deltas.push({group:"fold",deltas:b.$deltasFold}),b.$deltasFold=[]),b.$deltasDoc.length&&(b.$deltas.push({group:"doc",deltas:b.$deltasDoc}),b.$deltasDoc=[]),b.$deltas.length>0&&a.execute({action:"aceupdate",args:[b.$deltas,b]}),b.$deltas=[]},this.$informUndoManager=f.deferredCall(this.$syncInformUndoManager)}},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?f.stringRepeat(" ",this.getTabSize()):" "},this.$useSoftTabs=!0,this.setUseSoftTabs=function(a){if(this.$useSoftTabs===a)return;this.$useSoftTabs=a},this.getUseSoftTabs=function(){return this.$useSoftTabs},this.$tabSize=4,this.setTabSize=function(a){if(isNaN(a)||this.$tabSize===a)return;this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=a,this._emit("changeTabSize")},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(a){return this.$useSoftTabs&&a.column%this.$tabSize==0},this.$overwrite=!1,this.setOverwrite=function(a){if(this.$overwrite==a)return;this.$overwrite=a,this._emit("changeOverwrite")},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(a,b){this.$decorations[a]||(this.$decorations[a]=""),this.$decorations[a]+=" "+b,this._emit("changeBreakpoint",{})},this.removeGutterDecoration=function(a,b){this.$decorations[a]=(this.$decorations[a]||"").replace(" "+b,""),this._emit("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(a){this.$breakpoints=[];for(var b=0;b0&&(d=!!c.charAt(b-1).match(this.tokenRe)),d||(d=!!c.charAt(b).match(this.tokenRe));if(d)var e=this.tokenRe;else if(/^\s+$/.test(c.slice(b-1,b+1)))var e=/\s/;else var e=this.nonTokenRe;var f=b;if(f>0){do f--;while(f>=0&&c.charAt(f).match(e));f++}var g=b;while(gg){i=f.end.row+1;if(i>=h)break;f=this.$foldData[e++],g=f?f.start.row:Infinity}c[i]==null&&(c[i]=this.$getStringScreenWidth(b[i])[0]),c[i]>d&&(d=c[i])}this.screenWidth=d}},this.getLine=function(a){return this.doc.getLine(a)},this.getLines=function(a,b){return this.doc.getLines(a,b)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(a){return this.doc.getTextRange(a||this.selection.getRange())},this.insert=function(a,b){return this.doc.insert(a,b)},this.remove=function(a){return this.doc.remove(a)},this.undoChanges=function(a,b){if(!a.length)return;this.$fromUndo=!0;var c=null;for(var d=a.length-1;d!=-1;d--){var e=a[d];e.group=="doc"?(this.doc.revertDeltas(e.deltas),c=this.$getUndoSelection(e.deltas,!0,c)):e.deltas.forEach(function(a){this.addFolds(a.folds)},this)}return this.$fromUndo=!1,c&&this.$undoSelect&&!b&&this.selection.setSelectionRange(c),c},this.redoChanges=function(a,b){if(!a.length)return;this.$fromUndo=!0;var c=null;for(var d=0;d=this.doc.getLength()-1)return 0;var c=this.doc.removeLines(a,b);return this.doc.insertLines(a+1,c),1},this.duplicateLines=function(a,b){var a=this.$clipRowToDocument(a),b=this.$clipRowToDocument(b),c=this.getLines(a,b);this.doc.insertLines(a,c);var d=b-a+1;return d},this.$clipRowToDocument=function(a){return Math.max(0,Math.min(a,this.doc.getLength()-1))},this.$clipColumnToRow=function(a,b){return b<0?0:Math.min(this.doc.getLine(a).length,b)},this.$clipPositionToDocument=function(a,b){b=Math.max(0,b);if(a<0)a=0,b=0;else{var c=this.doc.getLength();a>=c?(a=c-1,b=this.doc.getLine(c-1).length):b=Math.min(this.doc.getLine(a).length,b)}return{row:a,column:b}},this.$clipRangeToDocument=function(a){a.start.row<0?(a.start.row=0,a.start.column=0):a.start.column=this.$clipColumnToRow(a.start.row,a.start.column);var b=this.doc.getLength()-1;return a.end.row>b?(a.end.row=b,a.end.column=this.doc.getLine(b).length):a.end.column=this.$clipColumnToRow(a.end.row,a.end.column),a},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(a){if(a!=this.$useWrapMode){this.$useWrapMode=a,this.$modified=!0,this.$resetRowCache(0);if(a){var b=this.getLength();this.$wrapData=[];for(var c=0;c0?(this.$wrapLimit=b,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._emit("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(a){var b=this.$wrapLimitRange.min;b&&(a=Math.max(b,a));var c=this.$wrapLimitRange.max;return c&&(a=Math.min(c,a)),Math.max(1,a)},this.getWrapLimit=function(){return this.$wrapLimit},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(a){var b=this.$useWrapMode,c,d=a.data.action,e=a.data.range.start.row,f=a.data.range.end.row,g=a.data.range.start,h=a.data.range.end,i=null;d.indexOf("Lines")!=-1?(d=="insertLines"?f=e+a.data.lines.length:f=e,c=a.data.lines?a.data.lines.length:f-e):c=f-e;if(c!=0)if(d.indexOf("remove")!=-1){this[b?"$wrapData":"$rowLengthCache"].splice(e,c);var j=this.$foldData;i=this.getFoldsInRange(a.data.range),this.removeFolds(i);var k=this.getFoldLine(h.row),l=0;if(k){k.addRemoveChars(h.row,h.column,g.column-h.column),k.shiftRow(-c);var m=this.getFoldLine(e);m&&m!==k&&(m.merge(k),k=m),l=j.indexOf(k)+1}for(l;l=h.row&&k.shiftRow(-c)}f=e}else{var n;if(b){n=[e,0];for(var o=0;o=e&&k.shiftRow(c)}}else{c=Math.abs(a.data.range.start.column-a.data.range.end.column),d.indexOf("remove")!=-1&&(i=this.getFoldsInRange(a.data.range),this.removeFolds(i),c=-c);var k=this.getFoldLine(e);k&&k.addRemoveChars(e,g.column,c)}return b&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),b?this.$updateWrapData(e,f):this.$updateRowLengthCache(e,f),i},this.$updateRowLengthCache=function(a,b,c){this.$rowLengthCache[a]=null,this.$rowLengthCache[b]=null},this.$updateWrapData=function(a,b){var c=this.doc.getAllLines(),d=this.getTabSize(),e=this.$wrapData,g=this.$wrapLimit,h,j,k=a;b=Math.min(b,c.length-1);while(k<=b){j=this.getFoldLine(k,j);if(!j)h=this.$getDisplayTokens(f.stringTrimRight(c[k])),e[k]=this.$computeWrapSplits(h,g,d),k++;else{h=[],j.walk(function(a,b,d,e){var f;if(a){f=this.$getDisplayTokens(a,h.length),f[0]=i;for(var g=1;g=p)h.pop();e[j.start.row]=this.$computeWrapSplits(h,g,d),k=j.end.row+1}}};var b=1,c=2,i=3,l=4,o=9,p=10,q=11,r=12;this.$computeWrapSplits=function(a,b){function g(b){var d=a.slice(e,b),g=d.length;d.join("").replace(/12/g,function(){g-=1}).replace(/2/g,function(){g-=1}),f+=g,c.push(f),e=b}if(a.length==0)return[];var c=[],d=a.length,e=0,f=0;while(d-e>b){var h=e+b;if(a[h]>=p){while(a[h]>=p)h++;g(h);continue}if(a[h]==i||a[h]==l){for(h;h!=e-1;h--)if(a[h]==i)break;if(h>e){g(h);continue}h=e+b;for(h;hj&&a[h]j&&a[h]==o)h--;if(h>j){g(++h);continue}h=e+b,g(h)}return c},this.$getDisplayTokens=function(a,d){var e=[],f;d=d||0;for(var g=0;g39&&h<48||h>57&&h<64?e.push(o):h>=4352&&s(h)?e.push(b,c):e.push(b)}return e},this.$getStringScreenWidth=function(a,b,c){if(b==0)return[0,0];b==null&&(b=Infinity),c=c||0;var d,e;for(e=0;e=4352&&s(d)?c+=2:c+=1;if(c>b)break}return[c,e]},this.getRowLength=function(a){return!this.$useWrapMode||!this.$wrapData[a]?1:this.$wrapData[a].length+1},this.getScreenLastRowColumn=function(a){var b=this.screenToDocumentPosition(a,Number.MAX_VALUE);return this.documentToScreenColumn(b.row,b.column)},this.getDocumentLastRowColumn=function(a,b){var c=this.documentToScreenRow(a,b);return this.getScreenLastRowColumn(c)},this.getDocumentLastRowColumnPosition=function(a,b){var c=this.documentToScreenRow(a,b);return this.screenToDocumentPosition(c,Number.MAX_VALUE/10)},this.getRowSplitData=function(a){return this.$useWrapMode?this.$wrapData[a]:undefined},this.getScreenTabSize=function(a){return this.$tabSize-a%this.$tabSize},this.screenToDocumentRow=function(a,b){return this.screenToDocumentPosition(a,b).row},this.screenToDocumentColumn=function(a,b){return this.screenToDocumentPosition(a,b).column},this.screenToDocumentPosition=function(a,b){if(a<0)return{row:0,column:0};var c,d=0,e=0,f,g=0,h=0,i=this.$screenRowCache,j=this.$getRowCacheIndex(i,a);if(0g||a==g&&j==i.length-1;else var k=j!=0||!i.length;var l=this.getLength()-1,m=this.getNextFoldLine(d),n=m?m.start.row:Infinity;while(g<=a){h=this.getRowLength(d);if(g+h-1>=a||d>=l)break;g+=h,d++,d>n&&(d=m.end.row+1,m=this.getNextFoldLine(d,m),n=m?m.start.row:Infinity),k&&(this.$docRowCache.push(d),this.$screenRowCache.push(g))}if(m&&m.start.row<=d)c=this.getFoldDisplayLine(m),d=m.start.row;else{if(g+h<=a||d>l)return{row:l,column:this.getLine(l).length};c=this.getLine(d),m=null}if(this.$useWrapMode){var o=this.$wrapData[d];o&&(f=o[a-g],a>g&&o.length&&(e=o[a-g-1]||o[o.length-1],c=c.substring(e)))}return e+=this.$getStringScreenWidth(c,b)[1],this.$useWrapMode&&e>=f&&(e=f-1),m?m.idxToPosition(e):{row:d,column:e}},this.documentToScreenPosition=function(a,b){if(typeof b=="undefined")var c=this.$clipPositionToDocument(a.row,a.column);else c=this.$clipPositionToDocument(a,b);a=c.row,b=c.column;var d=0,e=null,f=null;f=this.getFoldAt(a,b,1),f&&(a=f.start.row,b=f.start.column);var g,h=0,i=this.$docRowCache,j=this.$getRowCacheIndex(i,a);if(0h||a==h&&j==i.length-1;else var k=j!=0||!i.length;var l=this.getNextFoldLine(h),m=l?l.start.row:Infinity;while(h=m){g=l.end.row+1;if(g>a)break;l=this.getNextFoldLine(g,l),m=l?l.start.row:Infinity}else g=h+1;d+=this.getRowLength(h),h=g,k&&(this.$docRowCache.push(h),this.$screenRowCache.push(d))}var n="";l&&h>=m?(n=this.getFoldDisplayLine(l,a,b),e=l.start.row):(n=this.getLine(a).substring(0,b),e=a);if(this.$useWrapMode){var o=this.$wrapData[e],p=0;while(n.length>=o[p])d++,p++;n=n.substring(o[p-1]||0,n.length)}return{row:d,column:this.$getStringScreenWidth(n)[0]}},this.documentToScreenColumn=function(a,b){return this.documentToScreenPosition(a,b).column},this.documentToScreenRow=function(a,b){return this.documentToScreenPosition(a,b).row},this.getScreenLength=function(){var a=0,b=null;if(!this.$useWrapMode){a=this.getLength();var c=this.$foldData;for(var d=0;dg&&(f=b.end.row+1,b=this.$foldData[d++],g=b?b.start.row:Infinity)}return a}}).call(o.prototype),a("./edit_session/folding").Folding.call(o.prototype),a("./edit_session/bracket_match").BracketMatch.call(o.prototype),b.EditSession=o}),ace.define("ace/config",["require","exports","module","ace/lib/lang"],function(a,b,c){function g(a){return a.replace(/-(.)/g,function(a,b){return b.toUpperCase()})}"no use strict";var d=a("./lib/lang"),e=function(){return this}(),f={packaged:!1,workerPath:"",modePath:"",themePath:"",suffix:".js",$moduleUrls:{}};b.get=function(a){if(!f.hasOwnProperty(a))throw new Error("Unknown config key: "+a);return f[a]},b.set=function(a,b){if(!f.hasOwnProperty(a))throw new Error("Unknown config key: "+a);f[a]=b},b.all=function(){return d.copyObject(f)},b.moduleUrl=function(a,b){if(f.$moduleUrls[a])return f.$moduleUrls[a];var c=a.split("/");b=b||c[c.length-2]||"";var d=c[c.length-1].replace(b,"").replace(/(^[\-_])|([\-_]$)/,"");return!d&&c.length>1&&(d=c[c.length-2]),this.get(b+"Path")+"/"+b+"-"+d+this.get("suffix")},b.setModuleUrl=function(a,b){return f.$moduleUrls[a]=b},b.init=function(){f.packaged=a.packaged||c.packaged||e.define&&define.packaged;if(!e.document)return"";var d={},h="",i=document.getElementsByTagName("script");for(var j=0;jb.row||a.row==b.row&&a.column>b.column},this.getRange=function(){var a=this.anchor,b=this.lead;return this.isEmpty()?g.fromPoints(b,b):this.isBackwards()?g.fromPoints(b,a):g.fromPoints(a,b)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var a=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(a,this.doc.getLine(a).length)},this.setRange=this.setSelectionRange=function(a,b){b?(this.setSelectionAnchor(a.end.row,a.end.column),this.selectTo(a.start.row,a.start.column)):(this.setSelectionAnchor(a.start.row,a.start.column),this.selectTo(a.end.row,a.end.column)),this.$desiredColumn=null},this.$moveSelection=function(a){var b=this.lead;this.$isEmpty&&this.setSelectionAnchor(b.row,b.column),a.call(this)},this.selectTo=function(a,b){this.$moveSelection(function(){this.moveCursorTo(a,b)})},this.selectToPosition=function(a){this.$moveSelection(function(){this.moveCursorToPosition(a)})},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(a,b){if(typeof b=="undefined"){var c=a||this.lead;a=c.row,b=c.column}return this.session.getWordRange(a,b)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var a=this.getCursor(),b=this.session.getAWordRange(a.row,a.column);this.setSelectionRange(b)},this.getLineRange=function(a,b){var c=typeof a=="number"?a:this.lead.row,d,e=this.session.getFoldLine(c);return e?(c=e.start.row,d=e.end.row):d=c,b?new g(c,0,d,this.session.getLine(d).length):new g(c,0,d+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.moveCursorLeft=function(){var a=this.lead.getPosition(),b;if(b=this.session.getFoldAt(a.row,a.column,-1))this.moveCursorTo(b.start.row,b.start.column);else if(a.column==0)a.row>0&&this.moveCursorTo(a.row-1,this.doc.getLine(a.row-1).length);else{var c=this.session.getTabSize();this.session.isTabStop(a)&&this.doc.getLine(a.row).slice(a.column-c,a.column).split(" ").length-1==c?this.moveCursorBy(0,-c):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var a=this.lead.getPosition(),b;if(b=this.session.getFoldAt(a.row,a.column,1))this.moveCursorTo(b.end.row,b.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row0&&(b.column=d)}}this.moveCursorTo(b.row,b.column)},this.moveCursorFileEnd=function(){var a=this.doc.getLength()-1,b=this.doc.getLine(a).length;this.moveCursorTo(a,b)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var a=this.lead.row,b=this.lead.column,c=this.doc.getLine(a),d=c.substring(b),e;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var f=this.session.getFoldAt(a,b,1);if(f){this.moveCursorTo(f.end.row,f.end.column);return}if(e=this.session.nonTokenRe.exec(d))b+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,d=c.substring(b);if(b>=c.length){this.moveCursorTo(a,c.length),this.moveCursorRight(),a0&&this.moveCursorWordLeft();return}if(g=this.session.tokenRe.exec(f))b-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0;this.moveCursorTo(a,b)},this.$shortWordEndIndex=function(a){var b,c=0,d,e=/\s/,f=this.session.tokenRe;f.lastIndex=0;if(b=this.session.tokenRe.exec(a))c=this.session.tokenRe.lastIndex;else{while((d=a[c])&&e.test(d))c++;if(c<=1){f.lastIndex=0;while((d=a[c])&&!f.test(d)){f.lastIndex=0,c++;if(e.test(d)){if(c>2){c--;break}while((d=a[c])&&e.test(d))c++;if(c>2)break}}}}return f.lastIndex=0,c},this.moveCursorShortWordRight=function(){var a=this.lead.row,b=this.lead.column,c=this.doc.getLine(a),d=c.substring(b),e=this.session.getFoldAt(a,b,1);if(e)return this.moveCursorTo(e.end.row,e.end.column);if(b==c.length){var f=this.doc.getLength();do a++,d=this.doc.getLine(a);while(a0&&/^\s*$/.test(d));b=d.length,/\s+$/.test(d)||(d="")}var f=e.stringReverse(d),g=this.$shortWordEndIndex(f);return this.moveCursorTo(a,b-g)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(a,b){var c=this.session.documentToScreenPosition(this.lead.row,this.lead.column);b===0&&(this.$desiredColumn?c.column=this.$desiredColumn:this.$desiredColumn=c.column);var d=this.session.screenToDocumentPosition(c.row+a,c.column);this.moveCursorTo(d.row,d.column+b,b===0)},this.moveCursorToPosition=function(a){this.moveCursorTo(a.row,a.column)},this.moveCursorTo=function(a,b,c){var d=this.session.getFoldAt(a,b,1);d&&(a=d.start.row,b=d.start.column),this.$keepDesiredColumnOnChange=!0,this.lead.setPosition(a,b),this.$keepDesiredColumnOnChange=!1,c||(this.$desiredColumn=null)},this.moveCursorToScreen=function(a,b,c){var d=this.session.screenToDocumentPosition(a,b);this.moveCursorTo(d.row,d.column,c)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(a){this.setSelectionRange(a,a.cursor==a.start),this.$desiredColumn=a.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(a){var b=this.getRange();return a?(a.start.column=b.start.column,a.start.row=b.start.row,a.end.column=b.end.column,a.end.row=b.end.row):a=b,a.cursor=this.isBackwards()?a.start:a.end,a.desiredColumn=this.$desiredColumn,a}}).call(h.prototype),b.Selection=h}),ace.define("ace/range",["require","exports","module"],function(a,b,c){var d=function(a,b,c,d){this.start={row:a,column:b},this.end={row:c,column:d}};(function(){this.isEqual=function(a){return this.start.row==a.start.row&&this.end.row==a.end.row&&this.start.column==a.start.column&&this.end.column==a.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(a,b){return this.compare(a,b)==0},this.compareRange=function(a){var b,c=a.end,d=a.start;return b=this.compare(c.row,c.column),b==1?(b=this.compare(d.row,d.column),b==1?2:b==0?1:0):b==-1?-2:(b=this.compare(d.row,d.column),b==-1?-1:b==1?42:0)},this.comparePoint=function(a){return this.compare(a.row,a.column)},this.containsRange=function(a){return this.comparePoint(a.start)==0&&this.comparePoint(a.end)==0},this.intersects=function(a){var b=this.compareRange(a);return b==-1||b==0||b==1},this.isEnd=function(a,b){return this.end.row==a&&this.end.column==b},this.isStart=function(a,b){return this.start.row==a&&this.start.column==b},this.setStart=function(a,b){typeof a=="object"?(this.start.column=a.column,this.start.row=a.row):(this.start.row=a,this.start.column=b)},this.setEnd=function(a,b){typeof a=="object"?(this.end.column=a.column,this.end.row=a.row):(this.end.row=a,this.end.column=b)},this.inside=function(a,b){return this.compare(a,b)==0?this.isEnd(a,b)||this.isStart(a,b)?!1:!0:!1},this.insideStart=function(a,b){return this.compare(a,b)==0?this.isEnd(a,b)?!1:!0:!1},this.insideEnd=function(a,b){return this.compare(a,b)==0?this.isStart(a,b)?!1:!0:!1},this.compare=function(a,b){return!this.isMultiLine()&&a===this.start.row?bthis.end.column?1:0:athis.end.row?1:this.start.row===a?b>=this.start.column?0:-1:this.end.row===a?b<=this.end.column?0:1:0},this.compareStart=function(a,b){return this.start.row==a&&this.start.column==b?-1:this.compare(a,b)},this.compareEnd=function(a,b){return this.end.row==a&&this.end.column==b?1:this.compare(a,b)},this.compareInside=function(a,b){return this.end.row==a&&this.end.column==b?1:this.start.row==a&&this.start.column==b?-1:this.compare(a,b)},this.clipRows=function(a,b){if(this.end.row>b)var c={row:b+1,column:0};if(this.start.row>b)var e={row:b+1,column:0};if(this.start.row1&&e[i].token.length!==j-1)throw new Error("For "+e[i].regex+" the matching groups and length of the token array don't match (rule #"+i+" of state "+c+")");h[g]={rule:i,len:j},g+=j,f.push(k)}this.regExps[c]=new RegExp("(?:("+f.join(")|(")+")|(.))",b)}};(function(){this.getLineTokens=function(a,b){var c=b||"start",d=this.rules[c],e=this.matchMappings[c],f=this.regExps[c];f.lastIndex=0;var g,h=[],i=0,j={type:null,value:""};while(g=f.exec(a)){var k="text",l=null,m=[g[0]];for(var n=0;n1&&(m=g.slice(n+2,n+1+e[n].len)),typeof l.token=="function"?k=l.token.apply(this,m):k=l.token;if(l.next){c=l.next,d=this.rules[c],e=this.matchMappings[c],i=f.lastIndex,f=this.regExps[c];if(f===undefined)throw new Error("You indicated a state of "+l.next+" to go to, but it doesn't exist!");f.lastIndex=i}break}if(m[0]){typeof k=="string"&&(m=[m.join("")],k=[k]);for(var n=0;n=b&&(a.row=Math.max(0,b-1),a.column=this.getLine(b-1).length),a},this.insert=function(a,b){if(!b||b.length===0)return a;a=this.$clipPosition(a),this.getLength()<=1&&this.$detectNewLine(b);var c=this.$split(b),d=c.splice(0,1)[0],e=c.length==0?null:c.splice(c.length-1,1)[0];return a=this.insertInLine(a,d),e!==null&&(a=this.insertNewLine(a),a=this.insertLines(a.row,c),a=this.insertInLine(a,e||"")),a},this.insertLines=function(a,b){if(b.length==0)return{row:a,column:0};if(b.length>65535){var c=this.insertLines(a,b.slice(65535));b=b.slice(0,65535)}var d=[a,0];d.push.apply(d,b),this.$lines.splice.apply(this.$lines,d);var e=new f(a,0,a+b.length,0),g={action:"insertLines",range:e,lines:b};return this._emit("change",{data:g}),c||e.end},this.insertNewLine=function(a){a=this.$clipPosition(a);var b=this.$lines[a.row]||"";this.$lines[a.row]=b.substring(0,a.column),this.$lines.splice(a.row+1,0,b.substring(a.column,b.length));var c={row:a.row+1,column:0},d={action:"insertText",range:f.fromPoints(a,c),text:this.getNewLineCharacter()};return this._emit("change",{data:d}),c},this.insertInLine=function(a,b){if(b.length==0)return a;var c=this.$lines[a.row]||"";this.$lines[a.row]=c.substring(0,a.column)+b+c.substring(a.column);var d={row:a.row,column:a.column+b.length},e={action:"insertText",range:f.fromPoints(a,d),text:b};return this._emit("change",{data:e}),d},this.remove=function(a){a.start=this.$clipPosition(a.start),a.end=this.$clipPosition(a.end);if(a.isEmpty())return a.start;var b=a.start.row,c=a.end.row;if(a.isMultiLine()){var d=a.start.column==0?b:b+1,e=c-1;a.end.column>0&&this.removeInLine(c,0,a.end.column),e>=d&&this.removeLines(d,e),d!=b&&(this.removeInLine(b,a.start.column,this.getLine(b).length),this.removeNewLine(a.start.row))}else this.removeInLine(b,a.start.column,a.end.column);return a.start},this.removeInLine=function(a,b,c){if(b==c)return;var d=new f(a,b,a,c),e=this.getLine(a),g=e.substring(b,c),h=e.substring(0,b)+e.substring(c,e.length);this.$lines.splice(a,1,h);var i={action:"removeText",range:d,text:g};return this._emit("change",{data:i}),d.start},this.removeLines=function(a,b){var c=new f(a,0,b+1,0),d=this.$lines.splice(a,b-a+1),e={action:"removeLines",range:c,nl:this.getNewLineCharacter(),lines:d};return this._emit("change",{data:e}),d},this.removeNewLine=function(a){var b=this.getLine(a),c=this.getLine(a+1),d=new f(a,b.length,a+1,0),e=b+c;this.$lines.splice(a,2,e);var g={action:"removeText",range:d,text:this.getNewLineCharacter()};this._emit("change",{data:g})},this.replace=function(a,b){if(b.length==0&&a.isEmpty())return a.start;if(b==this.getTextRange(a))return a.end;this.remove(a);if(b)var c=this.insert(a.start,b);else c=a.start;return c},this.applyDeltas=function(a){for(var b=0;b=0;b--){var c=a[b],d=f.fromPoints(c.range.start,c.range.end);c.action=="insertLines"?this.removeLines(d.start.row,d.end.row-1):c.action=="insertText"?this.remove(d):c.action=="removeLines"?this.insertLines(d.start.row,c.lines):c.action=="removeText"&&this.insert(d.start,c.text)}}}).call(h.prototype),b.Document=h}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(a,b,c){var d=a("./lib/oop"),e=a("./lib/event_emitter").EventEmitter,f=b.Anchor=function(a,b,c){this.document=a,typeof c=="undefined"?this.setPosition(b.row,b.column):this.setPosition(b,c),this.$onChange=this.onChange.bind(this),a.on("change",this.$onChange)};(function(){d.implement(this,e),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.onChange=function(a){var b=a.data,c=b.range;if(c.start.row==c.end.row&&c.start.row!=this.row)return;if(c.start.row>this.row)return;if(c.start.row==this.row&&c.start.column>this.column)return;var d=this.row,e=this.column;b.action==="insertText"?c.start.row===d&&c.start.column<=e?c.start.row===c.end.row?e+=c.end.column-c.start.column:(e-=c.start.column,d+=c.end.row-c.start.row):c.start.row!==c.end.row&&c.start.row=e?e=c.start.column:e=Math.max(0,e-(c.end.column-c.start.column)):c.start.row!==c.end.row&&c.start.row=this.document.getLength()?(c.row=Math.max(0,this.document.getLength()-1),c.column=this.document.getLine(c.row).length):a<0?(c.row=0,c.column=0):(c.row=a,c.column=Math.min(this.document.getLine(c.row).length,Math.max(0,b))),b<0&&(c.column=0),c}}).call(f.prototype)}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(a,b,c){var d=a("./lib/oop"),e=a("./lib/event_emitter").EventEmitter,f=5e3,g=function(a,b){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=a;var c=this;this.$worker=function(){if(!c.running)return;var a=new Date,b=c.currentLine,d=c.doc,e=0,f=d.getLength();while(c.currentLine20){c.fireUpdateEvent(b,c.currentLine-1),c.running=setTimeout(c.$worker,20);return}}c.running=!1,c.fireUpdateEvent(b,f-1)}};(function(){d.implement(this,e),this.setTokenizer=function(a){this.tokenizer=a,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(a){this.doc=a,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(a,b){var c={first:a,last:b};this._emit("update",{data:c})},this.start=function(a){this.currentLine=Math.min(a||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.$updateOnChange=function(a){var b=a.range,c=b.start.row,d=b.end.row-c;if(d===0)this.lines[c]=null;else if(a.action=="removeText"||a.action=="removeLines")this.lines.splice(c,d+1,null),this.states.splice(c,d+1,null);else{var e=Array(d+1);e.unshift(c,1),this.lines.splice.apply(this.lines,e),this.states.splice.apply(this.states,e)}this.currentLine=Math.min(c,this.currentLine,this.doc.getLength()),this.stop(),this.running=setTimeout(this.$worker,700)},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(a){return this.lines[a]||this.$tokenizeRow(a)},this.getState=function(a){return this.currentLine==a&&this.$tokenizeRow(a),this.states[a]||"start"},this.$tokenizeRow=function(a){var b=this.doc.getLine(a),c=this.states[a-1];if(b.length>f){var d={value:b.substr(f),type:"text"};b=b.slice(0,f)}var e=this.tokenizer.getLineTokens(b,c);return d&&(e.tokens.push(d),e.state="start"),this.states[a]!==e.state?(this.states[a]=e.state,this.lines[a+1]=null,this.currentLine>a+1&&(this.currentLine=a+1)):this.currentLine==a&&(this.currentLine=a+1),this.lines[a]=e.tokens}}).call(g.prototype),b.BackgroundTokenizer=g}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(a,b,c){var d=a("./lib/lang"),e=a("./lib/oop"),f=a("./range").Range,g=function(a,b,c){this.setRegexp(a),this.clazz=b,this.type=c||"text"};(function(){this.setRegexp=function(a){if(this.regExp+""==a+"")return;this.regExp=a,this.cache=[]},this.update=function(a,b,c,e){if(!this.regExp)return;var g=e.firstRow,h=e.lastRow;for(var i=g;i<=h;i++){var j=this.cache[i];j==null&&(j=d.getMatchOffsets(c.getLine(i),this.regExp),j=j.map(function(a){return new f(i,a.offset,i,a.offset+a.length)}),this.cache[i]=j.length?j:"");for(var k=j.length;k--;)b.drawSingleLineMarker(a,j[k].toScreenRange(c),this.clazz,e,null,this.type)}}}).call(g.prototype),b.SearchHighlight=g}),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(a,b,c){function h(){this.getFoldAt=function(a,b,c){var d=this.getFoldLine(a);if(!d)return null;var e=d.folds;for(var f=0;f=a)return e;if(e.end.row>a)return null}return null},this.getNextFoldLine=function(a,b){var c=this.$foldData,d=0;b&&(d=c.indexOf(b)),d==-1&&(d=0);for(d;d=a)return e}return null},this.getFoldedRowCount=function(a,b){var c=this.$foldData,d=b-a+1;for(var e=0;e=b){h=a?d-=b-h:d=0);break}g>=a&&(h>=a?d-=g-h:d-=g-a+1)}return d},this.$addFoldLine=function(a){return this.$foldData.push(a),this.$foldData.sort(function(a,b){return a.start.row-b.start.row}),a},this.addFold=function(a,b){var c=this.$foldData,d=!1,g;a instanceof f?g=a:g=new f(b,a),this.$clipRangeToDocument(g.range);var h=g.start.row,i=g.start.column,j=g.end.row,k=g.end.column;if(g.placeholder.length<2)throw"Placeholder has to be at least 2 characters";if(h==j&&k-i<2)throw"The range has to be at least 2 characters width";var l=this.getFoldAt(h,i,1),m=this.getFoldAt(j,k,-1);if(l&&m==l)return l.addSubFold(g);if(l&&!l.range.isStart(h,i)||m&&!m.range.isEnd(j,k))throw"A fold can't intersect already existing fold"+g.range+l.range;var n=this.getFoldsInRange(g.range);n.length>0&&(this.removeFolds(n),g.subFolds=n);for(var o=0;othis.endRow)throw"Can't add a fold to this FoldLine as it has no connection";this.folds.push(a),this.folds.sort(function(a,b){return-a.range.compareEnd(b.start.row,b.start.column)}),this.range.compareEnd(a.start.row,a.start.column)>0?(this.end.row=a.end.row,this.end.column=a.end.column):this.range.compareStart(a.end.row,a.end.column)<0&&(this.start.row=a.start.row,this.start.column=a.start.column)}else if(a.start.row==this.end.row)this.folds.push(a),this.end.row=a.end.row,this.end.column=a.end.column;else{if(a.end.row!=this.start.row)throw"Trying to add fold to FoldRow that doesn't have a matching row";this.folds.unshift(a),this.start.row=a.start.row,this.start.column=a.start.column}a.foldLine=this},this.containsRow=function(a){return a>=this.start.row&&a<=this.end.row},this.walk=function(a,b,c){var d=0,e=this.folds,f,g,h,i=!0;b==null&&(b=this.end.row,c=this.end.column);for(var j=0;j=this.$rowTokens.length){this.$row+=1;if(this.$row>=a)return this.$row=a-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var a=this.$rowTokens,b=this.$tokenIndex,c=a[b].start;if(c!==undefined)return c;c=0;while(b>0)b-=1,c+=a[b].value.length;return c}}).call(d.prototype),b.TokenIterator=d}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(a,b,c){function f(){this.findMatchingBracket=function(a){if(a.column==0)return null;var b=this.getLine(a.row).charAt(a.column-1);if(b=="")return null;var c=b.match(/([\(\[\{])|([\)\]\}])/);return c?c[1]?this.$findClosingBracket(c[1],a):this.$findOpeningBracket(c[2],a):null},this.getBracketRange=function(a){var b=this.getLine(a.row),c=!0,d,f=b.charAt(a.column-1),g=f&&f.match(/([\(\[\{])|([\)\]\}])/);g||(f=b.charAt(a.column),a={row:a.row,column:a.column+1},g=f&&f.match(/([\(\[\{])|([\)\]\}])/),c=!1);if(!g)return null;if(g[1]){var h=this.$findClosingBracket(g[1],a);if(!h)return null;d=e.fromPoints(a,h),c||(d.end.column++,d.start.column--),d.cursor=d.end}else{var h=this.$findOpeningBracket(g[2],a);if(!h)return null;d=e.fromPoints(h,a),c||(d.start.column++,d.end.column--),d.cursor=d.start}return d},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(a,b,c){var e=this.$brackets[a],f=1,g=new d(this,b.row,b.column),h=g.getCurrentToken();h||(h=g.stepForward());if(!h)return;c||(c=new RegExp("(\\.?"+h.type.replace(".","\\.").replace("rparen",".paren")+")+"));var i=b.column-g.getCurrentTokenColumn()-2,j=h.value;for(;;){while(i>=0){var k=j.charAt(i);if(k==e){f-=1;if(f==0)return{row:g.getCurrentTokenRow(),column:i+g.getCurrentTokenColumn()}}else k==a&&(f+=1);i-=1}do h=g.stepBackward();while(h&&!c.test(h.type));if(h==null)break;j=h.value,i=j.length-1}return null},this.$findClosingBracket=function(a,b,c){var e=this.$brackets[a],f=1,g=new d(this,b.row,b.column),h=g.getCurrentToken();h||(h=g.stepForward());if(!h)return;c||(c=new RegExp("(\\.?"+h.type.replace(".","\\.").replace("lparen",".paren")+")+"));var i=b.column-g.getCurrentTokenColumn();for(;;){var j=h.value,k=j.length;while(iu&&g[l].end.row==c.end.row)l--;return g.slice(q,l+1)}return g},this.replace=function(a,b){var c=this.$options,d=this.$assembleRegExp(c);if(c.$isMultiLine)return b;if(!d)return;var e=d.exec(a);if(!e||e[0].length!=a.length)return null;b=a.replace(d,b);if(c.preserveCase){b=b.split("");for(var f=Math.min(a.length,a.length);f--;){var g=a[f];g&&g.toLowerCase()!=g?b[f]=b[f].toUpperCase():b[f]=b[f].toLowerCase()}b=b.join("")}return b},this.$matchIterator=function(a,b){var c=this.$assembleRegExp(b);if(!c)return!1;var e=this,g,h=b.backwards;if(b.$isMultiLine)var i=c.length,j=function(b,d,e){var h=b.search(c[0]);if(h==-1)return;for(var j=1;j=0;h--)if(g(f[h],b,e))return!0};else var j=function(a,b,e){var f=d.getMatchOffsets(a,c);for(var h=0;h=g;d--)if(c(a.getLine(d),d))return;if(b.wrap==0)return;for(d=h,g=f.row;d>=g;d--)if(c(a.getLine(d),d))return}:function(c){var d=f.row,e=a.getLine(d).substr(f.column);if(c(e,d,f.column))return;for(d+=1;d<=h;d++)if(c(a.getLine(d),d))return;if(b.wrap==0)return;for(d=g,h=f.row;d<=h;d++)if(c(a.getLine(d),d))return};return{forEach:i}}}).call(g.prototype),b.Search=g}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(a,b,c){var d=a("../lib/oop"),e=a("../keyboard/hash_handler").HashHandler,f=a("../lib/event_emitter").EventEmitter,g=function(a,b){this.platform=a,this.commands=this.byName={},this.commmandKeyBinding={},this.addCommands(b),this.setDefaultHandler("exec",function(a){return a.command.exec(a.editor,a.args||{})})};d.inherits(g,e),function(){d.implement(this,f),this.exec=function(a,b,c){typeof a=="string"&&(a=this.commands[a]);if(!a)return!1;if(b&&b.$readOnly&&!a.readOnly)return!1;var d=this._emit("exec",{editor:b,command:a,args:c});return d===!1?!1:!0},this.toggleRecording=function(a){if(this.$inReplay)return;return a&&a._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(a){this.macro.push([a.command,a.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(a){if(this.$inReplay||!this.macro)return;if(this.recording)return this.toggleRecording(a);try{this.$inReplay=!0,this.macro.forEach(function(b){typeof b=="string"?this.exec(b,a):this.exec(b[0],a,b[1])},this)}finally{this.$inReplay=!1}},this.trimMacro=function(a){return a.map(function(a){return typeof a[0]!="string"&&(a[0]=a[0].name),a[1]||(a=a[0]),a})}}.call(g.prototype),b.CommandManager=g}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys"],function(a,b,c){function e(a,b){this.platform=b,this.commands={},this.commmandKeyBinding={},this.addCommands(a)}var d=a("../lib/keys");(function(){this.addCommand=function(a){this.commands[a.name]&&this.removeCommand(a),this.commands[a.name]=a,a.bindKey&&this._buildKeyHash(a)},this.removeCommand=function(a){var b=typeof a=="string"?a:a.name;a=this.commands[b],delete this.commands[b];var c=this.commmandKeyBinding;for(var d in c)for(var e in c[d])c[d][e]==a&&delete c[d][e]},this.bindKey=function(a,b){if(!a)return;if(typeof b=="function"){this.addCommand({exec:b,bindKey:a,name:a});return}var c=this.commmandKeyBinding;a.split("|").forEach(function(a){var d=this.parseKeys(a,b),e=d.hashId;(c[e]||(c[e]={}))[d.key]=b},this)},this.addCommands=function(a){a&&Object.keys(a).forEach(function(b){var c=a[b];if(typeof c=="string")return this.bindKey(c,b);typeof c=="function"&&(c={exec:c}),c.name||(c.name=b),this.addCommand(c)},this)},this.removeCommands=function(a){Object.keys(a).forEach(function(b){this.removeCommand(a[b])},this)},this.bindKeys=function(a){Object.keys(a).forEach(function(b){this.bindKey(b,a[b])},this)},this._buildKeyHash=function(a){var b=a.bindKey;if(!b)return;var c=typeof b=="string"?b:b[this.platform];this.bindKey(c,a)},this.parseKeys=function(a){var b=a.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(a){return a}),c=b.pop(),e=d[c];if(d.FUNCTION_KEYS[e])c=d.FUNCTION_KEYS[e].toLowerCase();else{if(!b.length)return{key:c,hashId:-1};if(b.length==1&&b[0]=="shift")return{key:c.toUpperCase(),hashId:-1}}var f=0;for(var g=b.length;g--;){var h=d.KEY_MODS[b[g]];if(h==null)throw"invalid modifier "+b[g]+" in "+a;f|=h}return{key:c,hashId:f}},this.findKeyCommand=function(b,c){var d=this.commmandKeyBinding;return d[b]&&d[b][c]},this.handleKeyboard=function(a,b,c,d){return{command:this.findKeyCommand(b,c)}}}).call(e.prototype),b.HashHandler=e}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang"],function(a,b,c){function e(a,b){return{win:a,mac:b}}var d=a("../lib/lang");b.commands=[{name:"selectall",bindKey:e("Ctrl-A","Command-A"),exec:function(a){a.selectAll()},readOnly:!0},{name:"centerselection",bindKey:e(null,"Ctrl-L"),exec:function(a){a.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:e("Ctrl-L","Command-L"),exec:function(a){var b=parseInt(prompt("Enter line number:"),10);isNaN(b)||a.gotoLine(b)},readOnly:!0},{name:"fold",bindKey:e("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(a){a.session.toggleFold(!1)},readOnly:!0},{name:"unfold",bindKey:e("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(a){a.session.toggleFold(!0)},readOnly:!0},{name:"foldall",bindKey:e("Alt-0","Command-Option-0"),exec:function(a){a.session.foldAll()},readOnly:!0},{name:"unfoldall",bindKey:e("Alt-Shift-0","Command-Option-Shift-0"),exec:function(a){a.session.unfold()},readOnly:!0},{name:"findnext",bindKey:e("Ctrl-K","Command-G"),exec:function(a){a.findNext()},readOnly:!0},{name:"findprevious",bindKey:e("Ctrl-Shift-K","Command-Shift-G"),exec:function(a){a.findPrevious()},readOnly:!0},{name:"find",bindKey:e("Ctrl-F","Command-F"),exec:function(a){var b=prompt("Find:",a.getCopyText());a.find(b)},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(a){a.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:e("Ctrl-Shift-Home","Command-Shift-Up"),exec:function(a){a.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0},{name:"gotostart",bindKey:e("Ctrl-Home","Command-Home|Command-Up"),exec:function(a){a.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0},{name:"selectup",bindKey:e("Shift-Up","Shift-Up"),exec:function(a){a.getSelection().selectUp()},multiSelectAction:"forEach",readOnly:!0},{name:"golineup",bindKey:e("Up","Up|Ctrl-P"),exec:function(a,b){a.navigateUp(b.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selecttoend",bindKey:e("Ctrl-Shift-End","Command-Shift-Down"),exec:function(a){a.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"gotoend",bindKey:e("Ctrl-End","Command-End|Command-Down"),exec:function(a){a.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"selectdown",bindKey:e("Shift-Down","Shift-Down"),exec:function(a){a.getSelection().selectDown()},multiSelectAction:"forEach",readOnly:!0},{name:"golinedown",bindKey:e("Down","Down|Ctrl-N"),exec:function(a,b){a.navigateDown(b.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selectwordleft",bindKey:e("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(a){a.getSelection().selectWordLeft()},multiSelectAction:"forEach",readOnly:!0},{name:"gotowordleft",bindKey:e("Ctrl-Left","Option-Left"),exec:function(a){a.navigateWordLeft()},multiSelectAction:"forEach",readOnly:!0},{name:"selecttolinestart",bindKey:e("Alt-Shift-Left","Command-Shift-Left"),exec:function(a){a.getSelection().selectLineStart()},multiSelectAction:"forEach",readOnly:!0},{name:"gotolinestart",bindKey:e("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(a){a.navigateLineStart()},multiSelectAction:"forEach",readOnly:!0},{name:"selectleft",bindKey:e("Shift-Left","Shift-Left"),exec:function(a){a.getSelection().selectLeft()},multiSelectAction:"forEach",readOnly:!0},{name:"gotoleft",bindKey:e("Left","Left|Ctrl-B"),exec:function(a,b){a.navigateLeft(b.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selectwordright",bindKey:e("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(a){a.getSelection().selectWordRight()},multiSelectAction:"forEach",readOnly:!0},{name:"gotowordright",bindKey:e("Ctrl-Right","Option-Right"),exec:function(a){a.navigateWordRight()},multiSelectAction:"forEach",readOnly:!0},{name:"selecttolineend",bindKey:e("Alt-Shift-Right","Command-Shift-Right"),exec:function(a){a.getSelection().selectLineEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"gotolineend",bindKey:e("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(a){a.navigateLineEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"selectright",bindKey:e("Shift-Right","Shift-Right"),exec:function(a){a.getSelection().selectRight()},multiSelectAction:"forEach",readOnly:!0},{name:"gotoright",bindKey:e("Right","Right|Ctrl-F"),exec:function(a,b){a.navigateRight(b.times)},multiSelectAction:"forEach",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(a){a.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:e(null,"Option-PageDown"),exec:function(a){a.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:e("PageDown","PageDown|Ctrl-V"),exec:function(a){a.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(a){a.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:e(null,"Option-PageUp"),exec:function(a){a.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(a){a.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:e("Ctrl-Up",null),exec:function(a){a.renderer.scrollBy(0,-2*a.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:e("Ctrl-Down",null),exec:function(a){a.renderer.scrollBy(0,2*a.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(a){a.getSelection().selectLineStart()},multiSelectAction:"forEach",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(a){a.getSelection().selectLineEnd()},multiSelectAction:"forEach",readOnly:!0},{name:"togglerecording",bindKey:e("Ctrl-Alt-E","Command-Option-E"),exec:function(a){a.commands.toggleRecording(a)},readOnly:!0},{name:"replaymacro",bindKey:e("Ctrl-Shift-E","Command-Shift-E"),exec:function(a){a.commands.replay(a)},readOnly:!0},{name:"jumptomatching",bindKey:e("Ctrl-P","Ctrl-Shift-P"),exec:function(a){a.jumpToMatching()},multiSelectAction:"forEach",readOnly:!0},{name:"selecttomatching",bindKey:e("Ctrl-Shift-P",null),exec:function(a){a.jumpToMatching(!0)},readOnly:!0},{name:"cut",exec:function(a){var b=a.getSelectionRange();a._emit("cut",b),a.selection.isEmpty()||(a.session.remove(b),a.clearSelection())},multiSelectAction:"forEach"},{name:"removeline",bindKey:e("Ctrl-D","Command-D"),exec:function(a){a.removeLines()},multiSelectAction:"forEach"},{name:"duplicateSelection",bindKey:e("Ctrl-Shift-D","Command-Shift-D"),exec:function(a){a.duplicateSelection()},multiSelectAction:"forEach"},{name:"togglecomment",bindKey:e("Ctrl-/","Command-/"),exec:function(a){a.toggleCommentLines()},multiSelectAction:"forEach"},{name:"replace",bindKey:e("Ctrl-R","Command-Option-F"),exec:function(a){var b=prompt("Find:",a.getCopyText());if(!b)return;var c=prompt("Replacement:");if(!c)return;a.replace(c,{needle:b})}},{name:"replaceall",bindKey:e("Ctrl-Shift-R","Command-Shift-Option-F"),exec:function(a){var b=prompt("Find:");if(!b)return;var c=prompt("Replacement:");if(!c)return;a.replaceAll(c,{needle:b})}},{name:"undo",bindKey:e("Ctrl-Z","Command-Z"),exec:function(a){a.undo()}},{name:"redo",bindKey:e("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(a){a.redo()}},{name:"copylinesup",bindKey:e("Alt-Shift-Up","Command-Option-Up"),exec:function(a){a.copyLinesUp()}},{name:"movelinesup",bindKey:e("Alt-Up","Option-Up"),exec:function(a){a.moveLinesUp()}},{name:"copylinesdown",bindKey:e("Alt-Shift-Down","Command-Option-Down"),exec:function(a){a.copyLinesDown()}},{name:"movelinesdown",bindKey:e("Alt-Down","Option-Down"),exec:function(a){a.moveLinesDown()}},{name:"del",bindKey:e("Delete","Delete|Ctrl-D"),exec:function(a){a.remove("right")},multiSelectAction:"forEach"},{name:"backspace",bindKey:e("Command-Backspace|Option-Backspace|Shift-Backspace|Backspace","Ctrl-Backspace|Command-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(a){a.remove("left")},multiSelectAction:"forEach"},{name:"removetolinestart",bindKey:e("Alt-Backspace","Command-Backspace"),exec:function(a){a.removeToLineStart()},multiSelectAction:"forEach"},{name:"removetolineend",bindKey:e("Alt-Delete","Ctrl-K"),exec:function(a){a.removeToLineEnd()},multiSelectAction:"forEach"},{name:"removewordleft",bindKey:e("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(a){a.removeWordLeft()},multiSelectAction:"forEach"},{name:"removewordright",bindKey:e("Ctrl-Delete","Alt-Delete"),exec:function(a){a.removeWordRight()},multiSelectAction:"forEach"},{name:"outdent",bindKey:e("Shift-Tab","Shift-Tab"),exec:function(a){a.blockOutdent()},multiSelectAction:"forEach"},{name:"indent",bindKey:e("Tab","Tab"),exec:function(a){a.indent()},multiSelectAction:"forEach"},{name:"insertstring",exec:function(a,b){a.insert(b)},multiSelectAction:"forEach"},{name:"inserttext",exec:function(a,b){a.insert(d.stringRepeat(b.text||"",b.times||1))},multiSelectAction:"forEach"},{name:"splitline",bindKey:e(null,"Ctrl-O"),exec:function(a){a.splitLine()},multiSelectAction:"forEach"},{name:"transposeletters",bindKey:e("Ctrl-T","Ctrl-T"),exec:function(a){a.transposeLetters()},multiSelectAction:function(a){a.transposeSelections(1)}},{name:"touppercase",bindKey:e("Ctrl-U","Ctrl-U"),exec:function(a){a.toUpperCase()},multiSelectAction:"forEach"},{name:"tolowercase",bindKey:e("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(a){a.toLowerCase()},multiSelectAction:"forEach"}]}),ace.define("ace/undomanager",["require","exports","module"],function(a,b,c){var d=function(){this.reset()};(function(){this.execute=function(a){var b=a.args[0];this.$doc=a.args[1],this.$undoStack.push(b),this.$redoStack=[]},this.undo=function(a){var b=this.$undoStack.pop(),c=null;return b&&(c=this.$doc.undoChanges(b,a),this.$redoStack.push(b)),c},this.redo=function(a){var b=this.$redoStack.pop(),c=null;return b&&(c=this.$doc.redoChanges(b,a),this.$undoStack.push(b)),c},this.reset=function(){this.$undoStack=[],this.$redoStack=[]},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0}}).call(d.prototype),b.UndoManager=d}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/useragent","ace/config","ace/lib/net","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/renderloop","ace/lib/event_emitter","text!ace/css/editor.css"],function(a,b,c){var d=a("./lib/oop"),e=a("./lib/dom"),f=a("./lib/event"),g=a("./lib/useragent"),h=a("./config"),i=a("./lib/net"),j=a("./layer/gutter").Gutter,k=a("./layer/marker").Marker,l=a("./layer/text").Text,m=a("./layer/cursor").Cursor,n=a("./scrollbar").ScrollBar,o=a("./renderloop").RenderLoop,p=a("./lib/event_emitter").EventEmitter,q=a("text!./css/editor.css");e.importCssString(q,"ace_editor");var r=function(a,b){var c=this;this.container=a,this.$keepTextAreaAtCursor=!g.isIE,e.addCssClass(a,"ace_editor"),this.setTheme(b),this.$gutter=e.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.scroller=e.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=e.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.setHighlightGutterLine(!0),this.$gutterLayer=new j(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onResize.bind(this,!0)),this.$markerBack=new k(this.content);var d=this.$textLayer=new l(this.content);this.canvas=d.element,this.$markerFront=new k(this.content),this.characterWidth=d.getCharacterWidth(),this.lineHeight=d.getLineHeight(),this.$cursorLayer=new m(this.content),this.$cursorPadding=8,this.$horizScroll=!1,this.$horizScrollAlwaysVisible=!1,this.$animatedScroll=!1,this.scrollBar=new n(a),this.scrollBar.addEventListener("scroll",function(a){c.$inScrollAnimation||c.session.setScrollTop(a.data)}),this.scrollTop=0,this.scrollLeft=0,f.addListener(this.scroller,"scroll",function(){var a=c.scroller.scrollLeft;c.scrollLeft=a,c.session.setScrollLeft(a)}),this.cursorPos={row:0,column:0},this.$textLayer.addEventListener("changeCharacterSize",function(){c.characterWidth=d.getCharacterWidth(),c.lineHeight=d.getLineHeight(),c.$updatePrintMargin(),c.onResize(!0),c.$loop.schedule(c.CHANGE_FULL)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:1,characterWidth:1,minHeight:1,maxHeight:1,offset:0,height:1},this.$loop=new o(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.setPadding(4),this.$updatePrintMargin()};(function(){this.showGutter=!0,this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,d.implement(this,p),this.setSession=function(a){this.session=a,this.scroller.className="ace_scroller",this.$cursorLayer.setSession(a),this.$markerBack.setSession(a),this.$markerFront.setSession(a),this.$gutterLayer.setSession(a),this.$textLayer.setSession(a),this.$loop.schedule(this.CHANGE_FULL)},this.updateLines=function(a,b){b===undefined&&(b=Infinity),this.$changedLines?(this.$changedLines.firstRow>a&&(this.$changedLines.firstRow=a),this.$changedLines.lastRow2)return;this.resizing>1?this.resizing++:this.resizing=a?1:0,d||(d=e.getInnerHeight(this.container));if(a||g.height!=d)g.height=d,this.scroller.style.height=d+"px",g.scrollerHeight=this.scroller.clientHeight,this.scrollBar.setHeight(g.scrollerHeight),this.session&&(this.session.setScrollTop(this.getScrollTop()),f|=this.CHANGE_FULL);c||(c=e.getInnerWidth(this.container));if(a||this.resizing>1||g.width!=c){g.width=c;var b=this.showGutter?this.$gutter.offsetWidth:0;this.scroller.style.left=b+"px",g.scrollerWidth=Math.max(0,c-b-this.scrollBar.getWidth()),this.scroller.style.right=this.scrollBar.getWidth()+"px";if(this.session.getUseWrapMode()&&this.adjustWrapLimit()||a)f|=this.CHANGE_FULL}a?this.$renderChanges(f,!0):this.$loop.schedule(f),a&&delete this.resizing},this.adjustWrapLimit=function(){var a=this.$size.scrollerWidth-this.$padding*2,b=Math.floor(a/this.characterWidth);return this.session.adjustWrapLimit(b)},this.setAnimatedScroll=function(a){this.$animatedScroll=a},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(a){this.$textLayer.setShowInvisibles(a)&&this.$loop.schedule(this.CHANGE_TEXT)},this.getShowInvisibles=function(){return this.$textLayer.showInvisibles},this.getDisplayIndentGuides=function(){return this.$textLayer.displayIndentGuides},this.setDisplayIndentGuides=function(a){this.$textLayer.setDisplayIndentGuides(a)&&this.$loop.schedule(this.CHANGE_TEXT)},this.$showPrintMargin=!0,this.setShowPrintMargin=function(a){this.$showPrintMargin=a,this.$updatePrintMargin()},this.getShowPrintMargin=function(){return this.$showPrintMargin},this.$printMarginColumn=80,this.setPrintMarginColumn=function(a){this.$printMarginColumn=a,this.$updatePrintMargin()},this.getPrintMarginColumn=function(){return this.$printMarginColumn},this.getShowGutter=function(){return this.showGutter},this.setShowGutter=function(a){if(this.showGutter===a)return;this.$gutter.style.display=a?"block":"none",this.showGutter=a,this.onResize(!0)},this.getFadeFoldWidgets=function(){return e.hasCssClass(this.$gutter,"ace_fade-fold-widgets")},this.setFadeFoldWidgets=function(a){a?e.addCssClass(this.$gutter,"ace_fade-fold-widgets"):e.removeCssClass(this.$gutter,"ace_fade-fold-widgets")},this.$highlightGutterLine=!1,this.setHighlightGutterLine=function(a){if(this.$highlightGutterLine==a)return;this.$highlightGutterLine=a;if(!this.$gutterLineHighlight){this.$gutterLineHighlight=e.createElement("div"),this.$gutterLineHighlight.className="ace_gutter_active_line",this.$gutter.appendChild(this.$gutterLineHighlight);return}this.$gutterLineHighlight.style.display=a?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},this.getHighlightGutterLine=function(){return this.$highlightGutterLine},this.$updateGutterLineHighlight=function(){this.$gutterLineHighlight.style.top=this.$cursorLayer.$pixelPos.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=this.layerConfig.lineHeight+"px"},this.$updatePrintMargin=function(){var a;if(!this.$showPrintMargin&&!this.$printMarginEl)return;this.$printMarginEl||(a=e.createElement("div"),a.className="ace_print_margin_layer",this.$printMarginEl=e.createElement("div"),this.$printMarginEl.className="ace_print_margin",a.appendChild(this.$printMarginEl),this.content.insertBefore(a,this.$textLayer.element));var b=this.$printMarginEl.style;b.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",b.visibility=this.$showPrintMargin?"visible":"hidden"},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.content},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(!this.$keepTextAreaAtCursor)return;var a=this.$cursorLayer.$pixelPos.top,b=this.$cursorLayer.$pixelPos.left;a-=this.layerConfig.offset;if(a<0||a>this.layerConfig.height-this.lineHeight)return;var c=this.characterWidth;this.$composition&&(c+=this.textarea.scrollWidth),b-=this.scrollLeft,b>this.$size.scrollerWidth-c&&(b=this.$size.scrollerWidth-c),this.showGutter&&(b+=this.$gutterLayer.gutterWidth),this.textarea.style.height=this.lineHeight+"px",this.textarea.style.width=c+"px",this.textarea.style.left=b+"px",this.textarea.style.top=a-1+"px"},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var a=Math.floor((this.layerConfig.height+this.layerConfig.offset)/this.layerConfig.lineHeight);return this.layerConfig.firstRow-1+a},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(a){this.$padding=a,this.$textLayer.setPadding(a),this.$cursorLayer.setPadding(a),this.$markerFront.setPadding(a),this.$markerBack.setPadding(a),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.getHScrollBarAlwaysVisible=function(){return this.$horizScrollAlwaysVisible},this.setHScrollBarAlwaysVisible=function(a){this.$horizScrollAlwaysVisible!=a&&(this.$horizScrollAlwaysVisible=a,(!this.$horizScrollAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL))},this.$updateScrollBar=function(){this.scrollBar.setInnerHeight(this.layerConfig.maxHeight),this.scrollBar.setScrollTop(this.scrollTop)},this.$renderChanges=function(a,b){if(!b&&(!a||!this.session||!this.container.offsetWidth))return;(a&this.CHANGE_FULL||a&this.CHANGE_SIZE||a&this.CHANGE_TEXT||a&this.CHANGE_LINES||a&this.CHANGE_SCROLL)&&this.$computeLayerConfig();if(a&this.CHANGE_H_SCROLL){this.scroller.scrollLeft=this.scrollLeft;var c=this.scroller.scrollLeft;this.scrollLeft=c,this.session.setScrollLeft(c),this.scroller.className=this.scrollLeft==0?"ace_scroller":"ace_scroller horscroll"}if(a&this.CHANGE_FULL){this.$textLayer.checkForSizeChanges(),this.$updateScrollBar(),this.$textLayer.update(this.layerConfig),this.showGutter&&this.$gutterLayer.update(this.layerConfig),this.$markerBack.update(this.layerConfig),this.$markerFront.update(this.layerConfig),this.$cursorLayer.update(this.layerConfig),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight();return}if(a&this.CHANGE_SCROLL){this.$updateScrollBar(),a&this.CHANGE_TEXT||a&this.CHANGE_LINES?this.$textLayer.update(this.layerConfig):this.$textLayer.scrollLines(this.layerConfig),this.showGutter&&this.$gutterLayer.update(this.layerConfig),this.$markerBack.update(this.layerConfig),this.$markerFront.update(this.layerConfig),this.$cursorLayer.update(this.layerConfig),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight();return}a&this.CHANGE_TEXT?(this.$textLayer.update(this.layerConfig),this.showGutter&&this.$gutterLayer.update(this.layerConfig)):a&this.CHANGE_LINES?(this.$updateLines()||a&this.CHANGE_GUTTER&&this.showGutter)&&this.$gutterLayer.update(this.layerConfig):(a&this.CHANGE_TEXT||a&this.CHANGE_GUTTER)&&this.showGutter&&this.$gutterLayer.update(this.layerConfig),a&this.CHANGE_CURSOR&&(this.$cursorLayer.update(this.layerConfig),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),a&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(this.layerConfig),a&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(this.layerConfig),a&this.CHANGE_SIZE&&this.$updateScrollBar()},this.$computeLayerConfig=function(){var a=this.session,b=this.scrollTop%this.lineHeight,c=this.$size.scrollerHeight+this.lineHeight,d=this.$getLongestLine(),e=this.$horizScrollAlwaysVisible||this.$size.scrollerWidth-d<0,f=this.$horizScroll!==e;this.$horizScroll=e,f&&(this.scroller.style.overflowX=e?"scroll":"hidden",e||this.session.setScrollLeft(0));var g=this.session.getScreenLength()*this.lineHeight;this.session.setScrollTop(Math.max(0,Math.min(this.scrollTop,g-this.$size.scrollerHeight)));var h=Math.ceil(c/this.lineHeight)-1,i=Math.max(0,Math.round((this.scrollTop-b)/this.lineHeight)),j=i+h,k,l,m=this.lineHeight;i=a.screenToDocumentRow(i,0);var n=a.getFoldLine(i);n&&(i=n.start.row),k=a.documentToScreenRow(i,0),l=a.getRowLength(i)*m,j=Math.min(a.screenToDocumentRow(j,0),a.getLength()-1),c=this.$size.scrollerHeight+a.getRowLength(j)*m+l,b=this.scrollTop-k*m,this.layerConfig={width:d,padding:this.$padding,firstRow:i,firstRowScreen:k,lastRow:j,lineHeight:m,characterWidth:this.characterWidth,minHeight:c,maxHeight:g,offset:b,height:this.$size.scrollerHeight},this.$gutterLayer.element.style.marginTop=-b+"px",this.content.style.marginTop=-b+"px",this.content.style.width=d+2*this.$padding+"px",this.content.style.height=c+"px",f&&this.onResize(!0)},this.$updateLines=function(){var a=this.$changedLines.firstRow,b=this.$changedLines.lastRow;this.$changedLines=null;var c=this.layerConfig;if(a>c.lastRow+1)return;if(be?(b&&(e-=b*this.$size.scrollerHeight),this.session.setScrollTop(e)):this.scrollTop+this.$size.scrollerHeightd?(d0)return!0;if(b>0&&this.session.getScrollTop()+this.$size.scrollerHeight0?1:-1}},this.screenToTextCoordinates=function(a,b){var c=this.scroller.getBoundingClientRect(),d=Math.round((a+this.scrollLeft-c.left-this.$padding)/this.characterWidth),e=Math.floor((b+this.scrollTop-c.top)/this.lineHeight);return this.session.screenToDocumentPosition(e,Math.max(d,0))},this.textToScreenCoordinates=function(a,b){var c=this.scroller.getBoundingClientRect(),d=this.session.documentToScreenPosition(a,b),e=this.$padding+Math.round(d.column*this.characterWidth),f=d.row*this.lineHeight;return{pageX:c.left+e-this.scrollLeft,pageY:c.top+f-this.scrollTop}},this.visualizeFocus=function(){e.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){e.removeCssClass(this.container,"ace_focus")},this.showComposition=function(a){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,e.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(a){this.$moveTextAreaToCursor()},this.hideComposition=function(){if(!this.$composition)return;e.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null},this._loadTheme=function(a,b){if(!h.get("packaged"))return b();i.loadScript(h.moduleUrl(a,"theme"),b)},this.setTheme=function(b){function h(a){e.importCssString(a.cssText,a.cssClass,c.container.ownerDocument),c.$theme&&e.removeCssClass(c.container,c.$theme),c.$theme=a?a.cssClass:null,c.$theme&&e.addCssClass(c.container,c.$theme),a&&a.isDark?e.addCssClass(c.container,"ace_dark"):e.removeCssClass(c.container,"ace_dark"),c.$size&&(c.$size.width=0,c.onResize())}var c=this;this.$themeValue=b;if(!b||typeof b=="string"){var d=b||"ace/theme/textmate",f;try{f=a(d)}catch(g){}if(f)return h(f);c._loadTheme(d,function(){a([d],function(a){if(c.$themeValue!==b)return;h(a)})})}else h(b)},this.getTheme=function(){return this.$themeValue},this.setStyle=function(b){e.addCssClass(this.container,b)},this.unsetStyle=function(b){e.removeCssClass(this.container,b)},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(r.prototype),b.VirtualRenderer=r}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(a,b,c){var d=a("../lib/dom"),e=a("../lib/oop"),f=a("../lib/event_emitter").EventEmitter,g=function(a){this.element=d.createElement("div"),this.element.className="ace_layer ace_gutter-layer",a.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[]};(function(){e.implement(this,f),this.setSession=function(a){this.session=a},this.addGutterDecoration=function(a,b){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(a,b)},this.removeGutterDecoration=function(a,b){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(a,b)},this.setAnnotations=function(a){this.$annotations=[];for(var b in a)if(a.hasOwnProperty(b)){var c=a[b];if(!c)continue;var d=this.$annotations[b]={text:[]};for(var e=0;eh&&(e=g.end.row+1,g=this.session.getNextFoldLine(e,g),h=g?g.start.row:Infinity);if(e>f)break;var m=this.$annotations[e]||b;c.push("
    ",l=e+1);if(i){var n=i[e];n==null&&(n=i[e]=this.session.getFoldWidget(e)),n&&c.push("")}c.push("
    "),e++}this.element=d.setInnerHtml(this.element,c.join("")),this.element.style.height=a.minHeight+"px",this.session.$useWrapMode&&(l=this.session.getLength());var o=(""+l).length*a.characterWidth,p=this.$padding||this.$computePadding();o+=p.left+p.right,o!==this.gutterWidth&&(this.gutterWidth=o,this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._emit("changeGutterWidth",o))},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(a){a?d.addCssClass(this.element,"ace_folding-enabled"):d.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=a,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var a=d.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=parseInt(a.paddingLeft)+1,this.$padding.right=parseInt(a.paddingRight),this.$padding},this.getRegion=function(a){var b=this.$padding||this.$computePadding(),c=this.element.getBoundingClientRect();if(a.xc.right-b.right)return"foldWidgets"}}).call(g.prototype),b.Gutter=g}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(a,b,c){var d=a("../range").Range,e=a("../lib/dom"),f=function(a){this.element=e.createElement("div"),this.element.className="ace_layer ace_marker-layer",a.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(a){this.$padding=a},this.setSession=function(a){this.session=a},this.setMarkers=function(a){this.markers=a},this.update=function(a){var a=a||this.config;if(!a)return;this.config=a;var b=[];for(var c in this.markers){var d=this.markers[c];if(!d.range){d.update(b,this,this.session,a);continue}var f=d.range.clipRows(a.firstRow,a.lastRow);if(f.isEmpty())continue;f=f.toScreenRange(this.session);if(d.renderer){var g=this.$getTop(f.start.row,a),h=Math.round(this.$padding+f.start.column*a.characterWidth);d.renderer(b,f,h,g,a)}else f.isMultiLine()?d.type=="text"?this.drawTextMarker(b,f,d.clazz,a):this.drawMultiLineMarker(b,f,d.clazz,a,d.type):this.drawSingleLineMarker(b,f,d.clazz+" start",a,null,d.type)}this.element=e.setInnerHtml(this.element,b.join(""))},this.$getTop=function(a,b){return(a-b.firstRowScreen)*b.lineHeight},this.drawTextMarker=function(a,b,c,e){var f=b.start.row,g=new d(f,b.start.column,f,this.session.getScreenLastRowColumn(f));this.drawSingleLineMarker(a,g,c+" start",e,1,"text"),f=b.end.row,g=new d(f,0,f,b.end.column),this.drawSingleLineMarker(a,g,c,e,0,"text");for(f=b.start.row+1;f"),h=this.$getTop(b.end.row,d);var j=Math.round(b.end.column*d.characterWidth);a.push("
    "),g=(b.end.row-b.start.row-1)*d.lineHeight;if(g<0)return;h=this.$getTop(b.start.row+1,d),a.push("
    ")},this.drawSingleLineMarker=function(a,b,c,d,e,f){var g=f==="background"?0:this.$padding,h=d.lineHeight;if(f==="background")var i=d.width;else i=Math.round((b.end.column+(e||0)-b.start.column)*d.characterWidth);var j=this.$getTop(b.start.row,d),k=Math.round(g+b.start.column*d.characterWidth);a.push("
    ")}}).call(f.prototype),b.Marker=f}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(a,b,c){var d=a("../lib/oop"),e=a("../lib/dom"),f=a("../lib/lang"),g=a("../lib/useragent"),h=a("../lib/event_emitter").EventEmitter,i=function(a){this.element=e.createElement("div"),this.element.className="ace_layer ace_text-layer",a.appendChild(this.element),this.$characterSize=this.$measureSizes()||{width:0,height:0},this.$pollSizeChanges()};(function(){d.implement(this,h),this.EOF_CHAR="¶",this.EOL_CHAR="¬",this.TAB_CHAR="→",this.SPACE_CHAR="·",this.$padding=0,this.setPadding=function(a){this.$padding=a,this.element.style.padding="0 "+a+"px"},this.getLineHeight=function(){return this.$characterSize.height||1},this.getCharacterWidth=function(){return this.$characterSize.width||1},this.checkForSizeChanges=function(){var a=this.$measureSizes();a&&(this.$characterSize.width!==a.width||this.$characterSize.height!==a.height)&&(this.$characterSize=a,this._emit("changeCharacterSize",{data:a}))},this.$pollSizeChanges=function(){var a=this;this.$pollSizeChangesTimer=setInterval(function(){a.checkForSizeChanges()},500)},this.$fontStyles={fontFamily:1,fontSize:1,fontWeight:1,fontStyle:1,lineHeight:1},this.$measureSizes=g.isIE||g.isOldGecko?function(){var a=1e3;if(!this.$measureNode){var b=this.$measureNode=e.createElement("div"),c=b.style;c.width=c.height="auto",c.left=c.top=-a*40+"px",c.visibility="hidden",c.position="fixed",c.overflow="visible",c.whiteSpace="nowrap",b.innerHTML=f.stringRepeat("Xy",a);if(this.element.ownerDocument.body)this.element.ownerDocument.body.appendChild(b);else{var d=this.element.parentNode;while(!e.hasCssClass(d,"ace_editor"))d=d.parentNode;d.appendChild(b)}}if(!this.element.offsetWidth)return null;var c=this.$measureNode.style,g=e.computedStyle(this.element);for(var h in this.$fontStyles)c[h]=g[h];var i={height:this.$measureNode.offsetHeight,width:this.$measureNode.offsetWidth/(a*2)};return i.width==0||i.height==0?null:i}:function(){if(!this.$measureNode){var a=this.$measureNode=e.createElement("div"),b=a.style;b.width=b.height="auto",b.left=b.top="-100px",b.visibility="hidden",b.position="fixed",b.overflow="visible",b.whiteSpace="nowrap",a.innerHTML="X";var c=this.element.parentNode;while(c&&!e.hasCssClass(c,"ace_editor"))c=c.parentNode;if(!c)return this.$measureNode=null;c.appendChild(a)}var d=this.$measureNode.getBoundingClientRect(),f={height:d.height,width:d.width};return f.width==0||f.height==0?null:f},this.setSession=function(a){this.session=a,this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(a){return this.showInvisibles==a?!1:(this.showInvisibles=a,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(a){return this.displayIndentGuides==a?!1:(this.displayIndentGuides=a,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var a=this.session.getTabSize();this.tabSize=a;var b=this.$tabStrings=[0];for(var c=1;c"+this.TAB_CHAR+Array(c).join(" ")+""):b.push((new Array(c+1)).join(" "));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var d="ace_indent-guide",e=Array(this.tabSize+1).join(" "),f=e;this.showInvisibles&&(d+=" ace_invisible",f=this.TAB_CHAR+e.substr(6)),this.$tabStrings[" "]=""+e+"",this.$tabStrings[" "]=""+f+""}},this.updateLines=function(a,b,c){(this.config.lastRow!=a.lastRow||this.config.firstRow!=a.firstRow)&&this.scrollLines(a),this.config=a;var d=Math.max(b,a.firstRow),f=Math.min(c,a.lastRow),g=this.element.childNodes,h=0;for(var i=a.firstRow;ik&&(i=j.end.row+1,j=this.session.getNextFoldLine(i,j),k=j?j.start.row:Infinity);if(i>f)break;var l=g[h++];if(l){var m=[];this.$renderLine(m,i,!this.$useLineGroups(),i==k?j:!1),e.setInnerHtml(l,m.join(""))}i++}},this.scrollLines=function(a){var b=this.config;this.config=a;if(!b||b.lastRow0;d--)c.removeChild(c.firstChild);if(b.lastRow>a.lastRow)for(var d=this.session.getFoldedRowCount(a.lastRow+1,b.lastRow);d>0;d--)c.removeChild(c.lastChild);if(a.firstRowb.lastRow){var e=this.$renderLinesFragment(a,b.lastRow+1,a.lastRow);c.appendChild(e)}},this.$renderLinesFragment=function(a,b,c){var d=this.element.ownerDocument.createDocumentFragment(),f=b,g=this.session.getNextFoldLine(f),h=g?g.start.row:Infinity;for(;;){f>h&&(f=g.end.row+1,g=this.session.getNextFoldLine(f,g),h=g?g.start.row:Infinity);if(f>c)break;var i=e.createElement("div"),j=[];this.$renderLine(j,f,!1,f==h?g:!1),i.innerHTML=j.join("");if(this.$useLineGroups())i.className="ace_line_group",d.appendChild(i);else{var k=i.childNodes;while(k.length)d.appendChild(k[0])}f++}return d},this.update=function(a){this.config=a;var b=[],c=a.firstRow,d=a.lastRow,f=c,g=this.session.getNextFoldLine(f),h=g?g.start.row:Infinity;for(;;){f>h&&(f=g.end.row+1,g=this.session.getNextFoldLine(f,g),h=g?g.start.row:Infinity);if(f>d)break;this.$useLineGroups()&&b.push("
    "),this.$renderLine(b,f,!1,f==h?g:!1),this.$useLineGroups()&&b.push("
    "),f++}this.element=e.setInnerHtml(this.element,b.join(""))},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(a,b,c,d){var e=this,f=/\t|&|<|( +)|([\x00-\x1f\x80-\xa0\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]/g,g=function(a,c,d,f,g){if(c)return(new Array(a.length+1)).join(" ");if(a=="&")return"&";if(a=="<")return"<";if(a==" "){var h=e.session.getScreenTabSize(b+f);return b+=h-1,e.$tabStrings[h]}if(a==" "){var i=e.showInvisibles?"ace_cjk ace_invisible":"ace_cjk",j=e.showInvisibles?e.SPACE_CHAR:"";return b+=1,""+j+""}return d?""+e.SPACE_CHAR+"":(b+=1,""+a+"")},h=d.replace(f,g);if(!this.$textToken[c.type]){var i="ace_"+c.type.replace(/\./g," ace_"),j="";c.type=="fold"&&(j=" style='width:"+c.value.length*this.config.characterWidth+"px;' "),a.push("",h,"")}else a.push(h);return b+d.length},this.renderIndentGuide=function(a,b){var c=b.search(this.$indentGuideRe);return c<=0?b:b[0]==" "?(c-=c%this.tabSize,a.push(Array(c/this.tabSize+1).join(this.$tabStrings[" "])),b.substr(c)):b[0]==" "?(a.push(Array(c+1).join(this.$tabStrings[" "])),b.substr(c)):b},this.$renderWrappedLine=function(a,b,c,d){var e=0,f=0,g=c[0],h=0;for(var i=0;i=g)h=this.$renderToken(a,h,j,k.substring(0,g-e)),k=k.substring(g-e),e=g,d||a.push("","
    "),f++,h=0,g=c[f]||Number.MAX_VALUE;k.length!=0&&(e+=k.length,h=this.$renderToken(a,h,j,k))}}},this.$renderSimpleLine=function(a,b){var c=0,d=b[0],e=d.value;this.displayIndentGuides&&(e=this.renderIndentGuide(a,e)),e&&(c=this.$renderToken(a,c,d,e));for(var f=1;f");if(e.length){var f=this.session.getRowSplitData(b);f&&f.length?this.$renderWrappedLine(a,e,f,c):this.$renderSimpleLine(a,e)}this.showInvisibles&&(d&&(b=d.end.row),a.push("",b==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"")),c||a.push("
    ")},this.$getFoldLineTokens=function(a,b){function e(a,b,c){var e=0,f=0;while(f+a[e].value.lengthc-b&&(g=g.substring(0,c-b)),d.push({type:a[e].type,value:g}),f=b+g.length,e+=1}while(fc?d.push({type:a[e].type,value:g.substring(0,c-f)}):d.push(a[e]),f+=g.length,e+=1}}var c=this.session,d=[],f=c.getTokens(a);return b.walk(function(a,b,g,h,i){a?d.push({type:"fold",value:a}):(i&&(f=c.getTokens(b)),f.length&&e(f,h,g))},b.end.row,this.session.getLine(b.end.row).length),d},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(i.prototype),b.Text=i}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(a,b,c){var d=a("../lib/dom"),e=function(a){this.element=d.createElement("div"),this.element.className="ace_layer ace_cursor-layer",a.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.cursors=[],this.cursor=this.addCursor()};(function(){this.$padding=0,this.setPadding=function(a){this.$padding=a},this.setSession=function(a){this.session=a},this.setBlinking=function(a){this.isBlinking=a,a&&this.restartTimer()},this.addCursor=function(){var a=d.createElement("div"),b="ace_cursor";return this.isVisible||(b+=" ace_hidden"),this.overwrite&&(b+=" ace_overwrite"),a.className=b,this.element.appendChild(a),this.cursors.push(a),a},this.removeCursor=function(){if(this.cursors.length>1){var a=this.cursors.pop();return a.parentNode.removeChild(a),a}},this.hideCursor=function(){this.isVisible=!1;for(var a=this.cursors.length;a--;)d.addCssClass(this.cursors[a],"ace_hidden");clearInterval(this.blinkId)},this.showCursor=function(){this.isVisible=!0;for(var a=this.cursors.length;a--;)d.removeCssClass(this.cursors[a],"ace_hidden");this.element.style.visibility="",this.restartTimer()},this.restartTimer=function(){clearInterval(this.blinkId);if(!this.isBlinking)return;if(!this.isVisible)return;var a=this.cursors.length==1?this.cursor:this.element;this.blinkId=setInterval(function(){a.style.visibility="hidden",setTimeout(function(){a.style.visibility=""},400)},1e3)},this.getPixelPosition=function(a,b){if(!this.config||!this.session)return{left:0,top:0};a||(a=this.session.selection.getCursor());var c=this.session.documentToScreenPosition(a),d=Math.round(this.$padding+c.column*this.config.characterWidth),e=(c.row-(b?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:d,top:e}},this.update=function(a){this.config=a;if(this.session.selectionMarkerCount>0){var b=this.session.$selectionMarkers,c=0,d,e=0;for(var c=b.length;c--;){d=b[c];var f=this.getPixelPosition(d.cursor,!0);if((f.top>a.height+a.offset||f.top<-a.offset)&&c>1)continue;var g=(this.cursors[e++]||this.addCursor()).style;g.left=f.left+"px",g.top=f.top+"px",g.width=a.characterWidth+"px",g.height=a.lineHeight+"px"}if(e>1)while(this.cursors.length>e)this.removeCursor()}else{var f=this.getPixelPosition(null,!0),g=this.cursor.style;g.left=f.left+"px",g.top=f.top+"px",g.width=a.characterWidth+"px",g.height=a.lineHeight+"px";while(this.cursors.length>1)this.removeCursor()}var h=this.session.getOverwrite();h!=this.overwrite&&this.$setOverite(h),this.$pixelPos=f,this.restartTimer()},this.$setOverite=function(a){this.overwrite=a;for(var b=this.cursors.length;b--;)a?d.addCssClass(this.cursors[b],"ace_overwrite"):d.removeCssClass(this.cursors[b],"ace_overwrite")},this.destroy=function(){clearInterval(this.blinkId)}}).call(e.prototype),b.Cursor=e}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(a,b,c){var d=a("./lib/oop"),e=a("./lib/dom"),f=a("./lib/event"),g=a("./lib/event_emitter").EventEmitter,h=function(a){this.element=e.createElement("div"),this.element.className="ace_sb",this.inner=e.createElement("div"),this.element.appendChild(this.inner),a.appendChild(this.element),this.width=e.scrollbarWidth(a.ownerDocument),this.element.style.width=(this.width||15)+5+"px",f.addListener(this.element,"scroll",this.onScroll.bind(this))};(function(){d.implement(this,g),this.onScroll=function(){this._emit("scroll",{data:this.element.scrollTop})},this.getWidth=function(){return this.width},this.setHeight=function(a){this.element.style.height=a+"px"},this.setInnerHeight=function(a){this.inner.style.height=a+"px"},this.setScrollTop=function(a){this.element.scrollTop=a}}).call(h.prototype),b.ScrollBar=h}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(a,b,c){var d=a("./lib/event"),e=function(a,b){this.onRender=a,this.pending=!1,this.changes=0,this.window=b||window};(function(){this.schedule=function(a){this.changes=this.changes|a;if(!this.pending){this.pending=!0;var b=this;d.nextTick(function(){b.pending=!1;var a;while(a=b.changes)b.changes=0,b.onRender(a)},this.window)}}}).call(e.prototype),b.RenderLoop=e}),ace.define("text!ace/css/editor.css",[],".ace_editor {\n position: absolute;\n overflow: hidden;\n font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Droid Sans Mono', 'Consolas', monospace;\n font-size: 12px;\n}\n\n.ace_scroller {\n position: absolute;\n overflow: hidden;\n}\n\n.ace_content {\n position: absolute;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n cursor: text;\n}\n\n.ace_gutter {\n position: absolute;\n overflow : hidden;\n height: 100%;\n width: auto;\n cursor: default;\n z-index: 4;\n}\n\n.ace_gutter_active_line {\n position: absolute;\n left: 0;\n right: 0;\n}\n\n.ace_scroller.horscroll {\n box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;\n}\n\n.ace_gutter-cell {\n padding-left: 19px;\n padding-right: 6px;\n background-repeat: no-repeat;\n}\n\n.ace_gutter-cell.ace_error {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUM2OEZDQTQ4RTU0MTFFMUEzM0VFRTM2RUY1M0RBMjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUM2OEZDQTU4RTU0MTFFMUEzM0VFRTM2RUY1M0RBMjYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQzY4RkNBMjhFNTQxMUUxQTMzRUVFMzZFRjUzREEyNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQzY4RkNBMzhFNTQxMUUxQTMzRUVFMzZFRjUzREEyNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkgXxbAAAAJbSURBVHjapFNNaBNBFH4zs5vdZLP5sQmNpT82QY209heh1ioWisaDRcSKF0WKJ0GQnrzrxasHsR6EnlrwD0TagxJabaVEpFYxLWlLSS822tr87m66ccfd2GKyVhA6MMybgfe97/vmPUQphd0sZjto9XIn9OOsvlu2nkqRzVU+6vvlzPf8W6bk8dxQ0NPbxAALgCgg2JkaQuhzQau/El0zbmUA7U0Es8v2CiYmKQJHGO1QICCLoqilMhkmurDAyapKgqItezi/USRdJqEYY4D5jCy03ht2yMkkvL91jTTX10qzyyu2hruPRN7jgbH+EOsXcMLgYiThEgAMhABW85oqy1DXdRIdvP1AHJ2acQXvDIrVHcdQNrEKNYSVMSZGMjEzIIAwDXIo+6G/FxcGnzkC3T2oMhLjre49sBB+RRcHLqdafK6sYdE/GGBwU1VpFNj0aN8pJbe+BkZyevUrvLl6Xmm0W9IuTc0DxrDNAJd5oEvI/KRsNC3bQyNjPO9yQ1YHcfj2QvfQc/5TUhJTBc2iM0U7AWDQtc1nJHvD/cfO2s7jaGkiTEfa/Ep8coLu7zmNmh8+dc5lZDuUeFAGUNA/OY6JVaypQ0vjr7XYjUvJM37vt+j1vuTK5DgVfVUoTjVe+y3/LxMxY2GgU+CSLy4cpfsYorRXuXIOi0Vt40h67uZFTdIo6nLaZcwUJWAzwNS0tBnqqKzQDnjdG/iPyZxo46HaKUpbvYkj8qYRTZsBhge+JHhZyh0x9b95JqjVJkT084kZIPwu/mPWqPgfQ5jXh2+92Ay7HedfAgwA6KDWafb4w3cAAAAASUVORK5CYII=\");\n background-repeat: no-repeat;\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_warning {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUM2OEZDQTg4RTU0MTFFMUEzM0VFRTM2RUY1M0RBMjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUM2OEZDQTk4RTU0MTFFMUEzM0VFRTM2RUY1M0RBMjYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQzY4RkNBNjhFNTQxMUUxQTMzRUVFMzZFRjUzREEyNiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQzY4RkNBNzhFNTQxMUUxQTMzRUVFMzZFRjUzREEyNiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pgd7PfIAAAGmSURBVHjaYvr//z8DJZiJgUIANoCRkREb9gLiSVAaQx4OQM7AAkwd7XU2/v++/rOttdYGEB9dASEvOMydGKfH8Gv/p4XTkvRBfLxeQAP+1cUhXopyvzhP7P/IoSj7g7Mw09cNKO6J1QQ0L4gICPIv/veg/8W+JdFvQNLHVsW9/nmn9zk7B+cCkDwhL7gt6knSZnx9/LuCEOcvkIAMP+cvto9nfqyZmmUAksfnBUtbM60gX/3/kgyv3/xSFOL5DZT+L8vP+Yfh5cvfPvp/xUHyQHXGyAYwgpwBjZYFT3Y1OEl/OfCH4ffv3wzc4iwMvNIsDJ+f/mH4+vIPAxsb631WW0Yln6ZpQLXdMK/DXGDflh+sIv37EivD5x//Gb7+YWT4y86sl7BCCkSD+Z++/1dkvsFRl+HnD1Rvje4F8whjMXmGj58YGf5zsDMwcnAwfPvKcml62DsQDeaDxN+/Y0qwlpEHqrdB94IRNIDUgfgfKJChGK4OikEW3gTiXUB950ASLFAF54AC94A0G9QAfOnmF9DCDzABFqS08IHYDIScdijOjQABBgC+/9awBH96jwAAAABJRU5ErkJggg==\");\n background-position: 2px center;\n}\n\n.ace_gutter-cell.ace_info {\n background-image: url(\"data:image/gif;base64,R0lGODlhEAAQAMQAAAAAAEFBQVJSUl5eXmRkZGtra39/f4WFhYmJiZGRkaampry8vMPDw8zMzNXV1dzc3OTk5Orq6vDw8P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABQALAAAAAAQABAAAAUuICWOZGmeaBml5XGwFCQSBGyXRSAwtqQIiRuiwIM5BoYVbEFIyGCQoeJGrVptIQA7\");\n background-position: 2px center;\n}\n.ace_dark .ace_gutter-cell.ace_info {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRTk5MTVGREIxNDkxMUUxOTc5Q0FFREQyMTNGMjBFQyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRTk5MTVGRUIxNDkxMUUxOTc5Q0FFREQyMTNGMjBFQyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZFOTkxNUZCQjE0OTExRTE5NzlDQUVERDIxM0YyMEVDIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkZFOTkxNUZDQjE0OTExRTE5NzlDQUVERDIxM0YyMEVDIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+SIDkjAAAAJ1JREFUeNpi/P//PwMlgImBQkB7A6qrq/+DMC55FkIGKCoq4pVnpFkgTp069f/+/fv/r1u37r+tre1/kg0A+ptn9uzZYLaRkRHpLvjw4cNXWVlZhufPnzOcO3eOdAO0tbVPAjHDmzdvGA4fPsxIsgGSkpJmv379Ynj37h2DjIyMCMkG3LhxQ/T27dsMampqDHZ2dq/pH41DxwCAAAMAFdc68dUsFZgAAAAASUVORK5CYII=\");\n}\n\n.ace_editor .ace_sb {\n position: absolute;\n overflow-x: hidden;\n overflow-y: scroll;\n right: 0;\n}\n\n.ace_editor .ace_sb div {\n position: absolute;\n width: 1px;\n left: 0;\n}\n\n.ace_editor .ace_print_margin_layer {\n z-index: 0;\n position: absolute;\n overflow: hidden;\n margin: 0;\n left: 0;\n height: 100%;\n width: 100%;\n}\n\n.ace_editor .ace_print_margin {\n position: absolute;\n height: 100%;\n}\n\n.ace_editor > textarea {\n position: absolute;\n z-index: 0;\n width: 0.5em;\n height: 1em;\n opacity: 0;\n background: transparent;\n appearance: none;\n -moz-appearance: none;\n border: none;\n resize: none;\n outline: none;\n overflow: hidden;\n}\n\n.ace_editor > textarea.ace_composition {\n background: #fff;\n color: #000;\n z-index: 1000;\n opacity: 1;\n border: solid lightgray 1px;\n margin: -1px\n}\n\n.ace_layer {\n z-index: 1;\n position: absolute;\n overflow: hidden;\n white-space: nowrap;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n /* setting pointer-events: auto; on node under the mouse, which changes\n during scroll, will break mouse wheel scrolling in Safari */\n pointer-events: none;\n}\n\n.ace_gutter .ace_layer {\n position: relative;\n width: auto;\n text-align: right;\n pointer-events: auto;\n}\n\n.ace_text-layer {\n color: black;\n font: inherit !important;\n}\n\n.ace_cjk {\n display: inline-block;\n text-align: center;\n}\n\n.ace_cursor-layer {\n z-index: 4;\n}\n\n.ace_cursor {\n z-index: 4;\n position: absolute;\n}\n\n.ace_cursor.ace_hidden {\n opacity: 0.2;\n}\n\n.ace_editor.multiselect .ace_cursor {\n border-left-width: 1px;\n}\n\n.ace_line {\n white-space: nowrap;\n}\n\n.ace_marker-layer .ace_step {\n position: absolute;\n z-index: 3;\n}\n\n.ace_marker-layer .ace_selection {\n position: absolute;\n z-index: 5;\n}\n\n.ace_marker-layer .ace_bracket {\n position: absolute;\n z-index: 6;\n}\n\n.ace_marker-layer .ace_active_line {\n position: absolute;\n z-index: 2;\n}\n\n.ace_marker-layer .ace_selected_word {\n position: absolute;\n z-index: 4;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n}\n\n.ace_line .ace_fold {\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n\n display: inline-block;\n height: 11px;\n margin-top: -2px;\n vertical-align: middle;\n\n background-image:\n url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%11%00%00%00%09%08%06%00%00%00%D4%E8%C7%0C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M'S%03%B9%F7%BB%DF%F9%EE9'%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4'%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B'%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB'%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%00%B5IDAT(%15%A5%91%3D%0E%02!%10%85ac%E1%05%D6%CE%D6%C6%CE%D2%E8%ED%CD%DE%C0%C6%D6N.%E0V%F8%3D%9Ca%891XH%C2%BE%D9y%3F%90!%E6%9C%C3%BFk%E5%011%C6-%F5%C8N%04%DF%BD%FF%89%DFt%83DN%60%3E%F3%AB%A0%DE%1A%5Dg%BE%10Q%97%1B%40%9C%A8o%10%8F%5E%828%B4%1B%60%87%F6%02%26%85%1Ch%1E%C1%2B%5Bk%FF%86%EE%B7j%09%9A%DA%9B%ACe%A3%F9%EC%DA!9%B4%D5%A6%81%86%86%98%CC%3C%5B%40%FA%81%B3%E9%CB%23%94%C16Azo%05%D4%E1%C1%95a%3B%8A'%A0%E8%CC%17%22%85%1D%BA%00%A2%FA%DC%0A%94%D1%D1%8D%8B%3A%84%17B%C7%60%1A%25Z%FC%8D%00%00%00%00IEND%AEB%60%82\"),\n url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%007%08%06%00%00%00%C4%DD%80C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M'S%03%B9%F7%BB%DF%F9%EE9'%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4'%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B'%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB'%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%00%3AIDAT8%11c%FC%FF%FF%7F%18%03%1A%60%01%F2%3F%A0%891%80%04%FF%11-%F8%17%9BJ%E2%05%B1ZD%81v%26t%E7%80%F8%A3%82h%A12%1A%20%A3%01%02%0F%01%BA%25%06%00%19%C0%0D%AEF%D5%3ES%00%00%00%00IEND%AEB%60%82\");\n background-repeat: no-repeat, repeat-x;\n background-position: center center, top left;\n color: transparent;\n\n border: 1px solid black;\n -moz-border-radius: 2px;\n -webkit-border-radius: 2px;\n border-radius: 2px;\n\n cursor: pointer;\n pointer-events: auto;\n}\n\n.ace_dark .ace_fold {\n}\n\n.ace_fold:hover{\n background-image:\n url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%11%00%00%00%09%08%06%00%00%00%D4%E8%C7%0C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M'S%03%B9%F7%BB%DF%F9%EE9'%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4'%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B'%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB'%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%00%B5IDAT(%15%A5%91%3D%0E%02!%10%85ac%E1%05%D6%CE%D6%C6%CE%D2%E8%ED%CD%DE%C0%C6%D6N.%E0V%F8%3D%9Ca%891XH%C2%BE%D9y%3F%90!%E6%9C%C3%BFk%E5%011%C6-%F5%C8N%04%DF%BD%FF%89%DFt%83DN%60%3E%F3%AB%A0%DE%1A%5Dg%BE%10Q%97%1B%40%9C%A8o%10%8F%5E%828%B4%1B%60%87%F6%02%26%85%1Ch%1E%C1%2B%5Bk%FF%86%EE%B7j%09%9A%DA%9B%ACe%A3%F9%EC%DA!9%B4%D5%A6%81%86%86%98%CC%3C%5B%40%FA%81%B3%E9%CB%23%94%C16Azo%05%D4%E1%C1%95a%3B%8A'%A0%E8%CC%17%22%85%1D%BA%00%A2%FA%DC%0A%94%D1%D1%8D%8B%3A%84%17B%C7%60%1A%25Z%FC%8D%00%00%00%00IEND%AEB%60%82\"),\n url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%007%08%06%00%00%00%C4%DD%80C%00%00%03%1EiCCPICC%20Profile%00%00x%01%85T%DFk%D3P%14%FE%DAe%9D%B0%E1%8B%3Ag%11%09%3Eh%91ndStC%9C%B6kW%BA%CDZ%EA6%B7!H%9B%A6m%5C%9A%C6%24%ED~%B0%07%D9%8Bo%3A%C5w%F1%07%3E%F9%07%0C%D9%83o%7B%92%0D%C6%14a%F8%AC%88%22L%F6%22%B3%9E%9B4M'S%03%B9%F7%BB%DF%F9%EE9'%E7%E4%5E%A0%F9qZ%D3%14%2F%0F%14USO%C5%C2%FC%C4%E4%14%DF%F2%01%5E%1CC%2B%FChM%8B%86%16J%26G%40%0F%D3%B2y%EF%B3%F3%0E%1E%C6lt%EEo%DF%AB%FEc%D5%9A%95%0C%11%F0%1C%20%BE%945%C4%22%E1Y%A0i%5C%D4t%13%E0%D6%89%EF%9D15%C2%CDLsX%A7%04%09%1Fg8oc%81%E1%8C%8D%23%96f45%40%9A%09%C2%07%C5B%3AK%B8%408%98i%E0%F3%0D%D8%CE%81%14%E4'%26%A9%92.%8B%3C%ABER%2F%E5dE%B2%0C%F6%F0%1Fs%83%F2_%B0%A8%94%E9%9B%AD%E7%10%8Dm%9A%19N%D1%7C%8A%DE%1F9%7Dp%8C%E6%00%D5%C1%3F_%18%BDA%B8%9DpX6%E3%A35~B%CD%24%AE%11%26%BD%E7%EEti%98%EDe%9A%97Y)%12%25%1C%24%BCbT%AE3li%E6%0B%03%89%9A%E6%D3%ED%F4P%92%B0%9F4%BF43Y%F3%E3%EDP%95%04%EB1%C5%F5%F6KF%F4%BA%BD%D7%DB%91%93%07%E35%3E%A7)%D6%7F%40%FE%BD%F7%F5r%8A%E5y%92%F0%EB%B4%1E%8D%D5%F4%5B%92%3AV%DB%DB%E4%CD%A6%23%C3%C4wQ%3F%03HB%82%8E%1Cd(%E0%91B%0Ca%9Ac%C4%AA%F8L%16%19%22J%A4%D2itTy%B28%D6%3B(%93%96%ED%1CGx%C9_%0E%B8%5E%16%F5%5B%B2%B8%F6%E0%FB%9E%DD%25%D7%8E%BC%15%85%C5%B7%A3%D8Q%ED%B5%81%E9%BA%B2%13%9A%1B%7Fua%A5%A3n%E17%B9%E5%9B%1Bm%AB%0B%08Q%FE%8A%E5%B1H%5Ee%CAO%82Q%D7u6%E6%90S%97%FCu%0B%CF2%94%EE%25v%12X%0C%BA%AC%F0%5E%F8*l%0AO%85%17%C2%97%BF%D4%C8%CE%DE%AD%11%CB%80q%2C%3E%AB%9ES%CD%C6%EC%25%D2L%D2%EBd%B8%BF%8A%F5B%C6%18%F9%901CZ%9D%BE%24M%9C%8A9%F2%DAP%0B'%06w%82%EB%E6%E2%5C%2F%D7%07%9E%BB%CC%5D%E1%FA%B9%08%AD.r%23%8E%C2%17%F5E%7C!%F0%BE3%BE%3E_%B7o%88a%A7%DB%BE%D3d%EB%A31Z%EB%BB%D3%91%BA%A2%B1z%94%8F%DB'%F6%3D%8E%AA%13%19%B2%B1%BE%B1~V%08%2B%B4%A2cjJ%B3tO%00%03%25mN%97%F3%05%93%EF%11%84%0B%7C%88%AE-%89%8F%ABbW%90O%2B%0Ao%99%0C%5E%97%0CI%AFH%D9.%B0%3B%8F%ED%03%B6S%D6%5D%E6i_s9%F3*p%E9%1B%FD%C3%EB.7U%06%5E%19%C0%D1s.%17%A03u%E4%09%B0%7C%5E%2C%EB%15%DB%1F%3C%9E%B7%80%91%3B%DBc%AD%3Dma%BA%8B%3EV%AB%DBt.%5B%1E%01%BB%0F%AB%D5%9F%CF%AA%D5%DD%E7%E4%7F%0Bx%A3%FC%06%A9%23%0A%D6%C2%A1_2%00%00%00%09pHYs%00%00%0B%13%00%00%0B%13%01%00%9A%9C%18%00%00%003IDAT8%11c%FC%FF%FF%7F%3E%03%1A%60%01%F2%3F%A3%891%80%04%FFQ%26%F8w%C0%B43%A1%DB%0C%E2%8F%0A%A2%85%CAh%80%8C%06%08%3C%04%E8%96%18%00%A3S%0D%CD%CF%D8%C1%9D%00%00%00%00IEND%AEB%60%82\");\n background-repeat: no-repeat, repeat-x;\n background-position: center center, top left;\n}\n\n.ace_dragging .ace_content {\n cursor: move;\n}\n\n.ace_gutter_tooltip {\n background-color: #FFFFD5;\n border: 1px solid gray;\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);\n color: black;\n display: inline-block;\n padding: 4px;\n position: absolute;\n z-index: 300;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n cursor: default;\n}\n\n.ace_folding-enabled > .ace_gutter-cell {\n padding-right: 13px;\n}\n\n.ace_fold-widget {\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n\n margin: 0 -12px 0 1px;\n display: inline-block;\n width: 11px;\n vertical-align: top;\n\n background-image: url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%00%05%08%06%00%00%00%8Do%26%E5%00%00%004IDATx%DAe%8A%B1%0D%000%0C%C2%F2%2CK%96%BC%D0%8F9%81%88H%E9%D0%0E%96%C0%10%92%3E%02%80%5E%82%E4%A9*-%EEsw%C8%CC%11%EE%96w%D8%DC%E9*Eh%0C%151(%00%00%00%00IEND%AEB%60%82\");\n background-repeat: no-repeat;\n background-position: center;\n\n border-radius: 3px;\n \n border: 1px solid transparent;\n}\n\n.ace_fold-widget.end {\n background-image: url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%05%00%00%00%05%08%06%00%00%00%8Do%26%E5%00%00%004IDATx%DAm%C7%C1%09%000%08C%D1%8C%ECE%C8E(%8E%EC%02)%1EZJ%F1%C1'%04%07I%E1%E5%EE%CAL%F5%A2%99%99%22%E2%D6%1FU%B5%FE0%D9x%A7%26Wz5%0E%D5%00%00%00%00IEND%AEB%60%82\");\n}\n\n.ace_fold-widget.closed {\n background-image: url(\"data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%03%00%00%00%06%08%06%00%00%00%06%E5%24%0C%00%00%009IDATx%DA5%CA%C1%09%000%08%03%C0%AC*(%3E%04%C1%0D%BA%B1%23%A4Uh%E0%20%81%C0%CC%F8%82%81%AA%A2%AArGfr%88%08%11%11%1C%DD%7D%E0%EE%5B%F6%F6%CB%B8%05Q%2F%E9tai%D9%00%00%00%00IEND%AEB%60%82\");\n}\n\n.ace_fold-widget:hover {\n border: 1px solid rgba(0, 0, 0, 0.3);\n background-color: rgba(255, 255, 255, 0.2);\n -moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\n -webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\n}\n\n.ace_fold-widget:active {\n border: 1px solid rgba(0, 0, 0, 0.4);\n background-color: rgba(0, 0, 0, 0.05);\n -moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\n -webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\n}\n/**\n * Dark version for fold widgets\n */\n.ace_dark .ace_fold-widget {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC\");\n}\n.ace_dark .ace_fold-widget.end {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==\");\n}\n.ace_dark .ace_fold-widget.closed {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==\");\n}\n.ace_dark .ace_fold-widget:hover {\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n background-color: rgba(255, 255, 255, 0.1);\n}\n.ace_dark .ace_fold-widget:active {\n -moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\n}\n \n \n \n.ace_fold-widget.invalid {\n background-color: #FFB4B4;\n border-color: #DE5555;\n}\n\n.ace_fade-fold-widgets .ace_fold-widget {\n -moz-transition: opacity 0.4s ease 0.05s;\n -webkit-transition: opacity 0.4s ease 0.05s;\n -o-transition: opacity 0.4s ease 0.05s;\n -ms-transition: opacity 0.4s ease 0.05s;\n transition: opacity 0.4s ease 0.05s;\n opacity: 0;\n}\n\n.ace_fade-fold-widgets:hover .ace_fold-widget {\n -moz-transition: opacity 0.05s ease 0.05s;\n -webkit-transition: opacity 0.05s ease 0.05s;\n -o-transition: opacity 0.05s ease 0.05s;\n -ms-transition: opacity 0.05s ease 0.05s;\n transition: opacity 0.05s ease 0.05s;\n opacity:1;\n}\n\n.ace_underline {\n text-decoration: underline;\n}\n\n.ace_bold {\n font-weight: bold;\n}\n\n.ace_italic {\n font-style: italic;\n}\n"),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor"],function(a,b,c){function m(a,b,c){return l.$options.wrap=!0,l.$options.needle=b,l.$options.backwards=c==-1,l.find(a)}function p(a,b){return a.row==b.row&&a.column==b.column}function q(a){a.$onAddRange=a.$onAddRange.bind(a),a.$onRemoveRange=a.$onRemoveRange.bind(a),a.$onMultiSelect=a.$onMultiSelect.bind(a),a.$onSingleSelect=a.$onSingleSelect.bind(a),b.onSessionChange.call(a,a),a.on("changeSession",b.onSessionChange.bind(a)),a.on("mousedown",g),a.commands.addCommands(j.defaultCommands),r(a)}function r(a){function e(){c&&(d.style.cursor="",c=!1)}var b=a.textInput.getElement(),c=!1,d=a.renderer.content;h.addListener(b,"keydown",function(a){a.keyCode==18&&!(a.ctrlKey||a.shiftKey||a.metaKey)?c||(d.style.cursor="crosshair",c=!0):c&&(d.style.cursor="")}),h.addListener(b,"keyup",e),h.addListener(b,"blur",e)}var d=a("./range_list").RangeList,e=a("./range").Range,f=a("./selection").Selection,g=a("./mouse/multi_select_handler").onMouseDown,h=a("./lib/event"),i=a("./lib/lang"),j=a("./commands/multi_select_commands");b.commands=j.defaultCommands.concat(j.multiSelectCommands);var k=a("./search").Search,l=new k,n=a("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(n.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(a,b){if(!a)return;if(!this.inMultiSelectMode&&this.rangeCount==0){var c=this.toOrientedRange();if(a.intersects(c))return b||this.fromOrientedRange(a);this.rangeList.add(c),this.$onAddRange(c)}a.cursor||(a.cursor=a.end);var d=this.rangeList.add(a);return this.$onAddRange(a),d.length&&this.$onRemoveRange(d),this.rangeCount>1&&!this.inMultiSelectMode&&(this._emit("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),b||this.fromOrientedRange(a)},this.toSingleRange=function(a){a=a||this.ranges[0];var b=this.rangeList.removeAll();b.length&&this.$onRemoveRange(b),a&&this.fromOrientedRange(a)},this.substractPoint=function(a){var b=this.rangeList.substractPoint(a);if(b)return this.$onRemoveRange(b),b[0]},this.mergeOverlappingRanges=function(){var a=this.rangeList.merge();a.length?this.$onRemoveRange(a):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(a){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(a),this._emit("addRange",{range:a})},this.$onRemoveRange=function(a){this.rangeCount=this.rangeList.ranges.length;if(this.rangeCount==1&&this.inMultiSelectMode){var b=this.rangeList.ranges.pop();a.push(b),this.rangeCount=0}for(var c=a.length;c--;){var d=this.ranges.indexOf(a[c]);this.ranges.splice(d,1)}this._emit("removeRange",{ranges:a}),this.rangeCount==0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._emit("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),b=b||this.ranges[0],b&&!b.isEqual(this.getRange())&&this.fromOrientedRange(b)},this.$initRangeList=function(){if(this.rangeList)return;this.rangeList=new d,this.ranges=[],this.rangeCount=0},this.getAllRanges=function(){return this.rangeList.ranges.concat()},this.splitIntoLines=function(){if(this.rangeCount>1){var a=this.rangeList.ranges,b=a[a.length-1],c=e.fromPoints(a[0].start,b.end);this.toSingleRange(),this.setSelectionRange(c,b.cursor==b.start)}else{var c=this.getRange(),d=this.isBackwards(),f=c.start.row,g=c.end.row;if(f==g){if(d)var h=c.end,i=c.start;else var h=c.start,i=c.end;this.addRange(e.fromPoints(i,i)),this.addRange(e.fromPoints(h,h));return}var j=[],k=this.getLineRange(f,!0);k.start.column=c.start.column,j.push(k);for(var l=f+1;l1){var a=this.rangeList.ranges,b=a[a.length-1],c=e.fromPoints(a[0].start,b.end);this.toSingleRange(),this.setSelectionRange(c,b.cursor==b.start)}else{var d=this.session.documentToScreenPosition(this.selectionLead),f=this.session.documentToScreenPosition(this.selectionAnchor),g=this.rectangularRangeBlock(d,f);g.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(a,b,c){var d=[],f=a.column0)o--;if(o>0){var q=0;while(d[q].isEmpty())q++}for(var r=o;r>=q;r--)d[r].isEmpty()&&d.splice(r,1)}return d}}.call(f.prototype);var o=a("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(a){a.cursor||(a.cursor=a.end);var b=this.getSelectionStyle();return a.marker=this.session.addMarker(a,"ace_selection",b),this.session.$selectionMarkers.push(a),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,a},this.removeSelectionMarker=function(a){if(!a.marker)return;this.session.removeMarker(a.marker);var b=this.session.$selectionMarkers.indexOf(a);b!=-1&&this.session.$selectionMarkers.splice(b,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length},this.removeSelectionMarkers=function(a){var b=this.session.$selectionMarkers;for(var c=a.length;c--;){var d=a[c];if(!d.marker)continue;this.session.removeMarker(d.marker);var e=b.indexOf(d);e!=-1&&b.splice(e,1)}this.session.selectionMarkerCount=b.length},this.$onAddRange=function(a){this.addSelectionMarker(a.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(a){this.removeSelectionMarkers(a.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(a){if(this.inMultiSelectMode)return;this.inMultiSelectMode=!0,this.setStyle("multiselect"),this.keyBinding.addKeyboardHandler(j.keyboardHandler),this.commands.on("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onSingleSelect=function(a){if(this.session.multiSelect.inVirtualMode)return;this.inMultiSelectMode=!1,this.unsetStyle("multiselect"),this.keyBinding.removeKeyboardHandler(j.keyboardHandler),this.commands.removeEventListener("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelectExec=function(a){var b=a.command,c=a.editor;if(!c.multiSelect)return;b.multiSelectAction?b.multiSelectAction=="forEach"?c.forEachSelection(b,a.args):b.multiSelectAction=="single"?(c.exitMultiSelectMode(),b.exec(c,a.args||{})):b.multiSelectAction(c,a.args||{}):(b.exec(c,a.args||{}),c.multiSelect.addRange(c.multiSelect.toOrientedRange()),c.multiSelect.mergeOverlappingRanges()),a.preventDefault()},this.forEachSelection=function(a,b){if(this.inVirtualSelectionMode)return;var c=this.session,d=this.selection,e=d.rangeList,g=d._eventRegistry;d._eventRegistry={};var h=new f(c);this.inVirtualSelectionMode=!0;for(var i=e.ranges.length;i--;)h.fromOrientedRange(e.ranges[i]),this.selection=c.selection=h,a.exec(this,b||{}),h.toOrientedRange(e.ranges[i]);h.detach(),this.selection=c.selection=d,this.inVirtualSelectionMode=!1,d._eventRegistry=g,d.mergeOverlappingRanges(),this.onCursorChange(),this.onSelectionChange()},this.exitMultiSelectMode=function(){if(this.inVirtualSelectionMode)return;this.multiSelect.toSingleRange()},this.getCopyText=function(){var a="";if(this.inMultiSelectMode){var b=this.multiSelect.rangeList.ranges;a=[];for(var c=0;cc.length||b.length<=2||!b[1])return this.commands.exec("insertstring",this,a);for(var d=c.length;d--;){var e=c[d];e.isEmpty()||this.session.remove(e),this.session.insert(e.start,b[d])}},this.findAll=function(a,b,c){b=b||{},b.needle=a||b.needle,this.$search.set(b);var d=this.$search.findAll(this.session);if(!d.length)return 0;this.$blockScrolling+=1;var e=this.multiSelect;c||e.toSingleRange(d[0]);for(var f=d.length;f--;)e.addRange(d[f],!0);return this.$blockScrolling-=1,d.length},this.selectMoreLines=function(a,b){var c=this.selection.toOrientedRange(),d=c.cursor==c.end,f=this.session.documentToScreenPosition(c.cursor);this.selection.$desiredColumn&&(f.column=this.selection.$desiredColumn);var g=this.session.screenToDocumentPosition(f.row+a,f.column);if(!c.isEmpty())var h=this.session.documentToScreenPosition(d?c.end:c.start),i=this.session.screenToDocumentPosition(h.row+a,h.column);else var i=g;if(d){var j=e.fromPoints(g,i);j.cursor=j.start}else{var j=e.fromPoints(i,g);j.cursor=j.end}j.desiredColumn=f.column;if(!this.selection.inMultiSelectMode)this.selection.addRange(c);else if(b)var k=c.cursor;this.selection.addRange(j),k&&this.selection.substractPoint(k)},this.transposeSelections=function(a){var b=this.session,c=b.multiSelect,d=c.ranges;for(var e=d.length;e--;){var f=d[e];if(f.isEmpty()){var g=b.getWordRange(f.start.row,f.start.column);f.start.row=g.start.row,f.start.column=g.start.column,f.end.row=g.end.row,f.end.column=g.end.column}}c.mergeOverlappingRanges();var h=[];for(var e=d.length;e--;){var f=d[e];h.unshift(b.getTextRange(f))}a<0?h.unshift(h.pop()):h.push(h.shift());for(var e=d.length;e--;){var f=d[e],g=f.clone();b.replace(f,h[e]),f.start.row=g.start.row,f.start.column=g.start.column}},this.selectMore=function(a,b){var c=this.session,d=c.multiSelect,e=d.toOrientedRange();if(e.isEmpty()){var e=c.getWordRange(e.start.row,e.start.column);e.cursor=e.end,this.multiSelect.addRange(e)}var f=c.getTextRange(e),g=m(c,f,a);g&&(g.cursor=a==-1?g.start:g.end,this.multiSelect.addRange(g)),b&&this.multiSelect.substractPoint(e.cursor)},this.alignCursors=function(){var a=this.session,b=a.multiSelect,c=b.ranges;if(!c.length){var d=this.selection.getRange(),f=d.start.row,g=d.end.row,h=this.session.doc.removeLines(f,g);h=this.$reAlignText(h),this.session.doc.insertLines(f,h),d.start.column=0,d.end.column=h[h.length-1].length,this.selection.setRange(d)}else{var j=-1,k=c.filter(function(a){if(a.cursor.row==j)return!0;j=a.cursor.row});b.$onRemoveRange(k);var l=0,m=Infinity,n=c.map(function(b){var c=b.cursor,d=a.getLine(c.row),e=d.substr(c.column).search(/\S/g);return e==-1&&(e=0),c.column>l&&(l=c.column),eg?a.insert(d,i.stringRepeat(" ",f-g)):a.remove(new e(d.row,d.column,d.row,d.column-f+g)),b.start.column=b.end.column=l,b.start.row=b.end.row=d.row,b.cursor=b.end}),b.fromOrientedRange(c[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(a){function g(a,b){return Array(a+1).join(b)}function h(a){return a[2]?g(d," ")+a[2]+g(e-a[2].length+f," ")+a[4].replace(/^([=:])\s+/,"$1 "):a[0]}function i(a){return a[2]?g(d+e-a[2].length," ")+a[2]+g(f," ")+a[4].replace(/^([=:])\s+/,"$1 "):a[0]}function j(a){return a[2]?g(d," ")+a[2]+g(f," ")+a[4].replace(/^([=:])\s+/,"$1 "):a[0]}var b=!0,c=!0,d,e,f;return a.map(function(a){var g=a.match(/(\s*)(.*?)(\s*)([=:].*)/);return g?d==null?(d=g[1].length,e=g[2].length,f=g[3].length,g):(d+e+f!=g[1].length+g[2].length+g[3].length&&(c=!1),d!=g[1].length&&(b=!1),d>g[1].length&&(d=g[1].length),eg[3].length&&(f=g[3].length),g):[a]}).map(b?c?i:h:j)}}).call(o.prototype),b.onSessionChange=function(a){var b=a.session;b.multiSelect||(b.$selectionMarkers=[],b.selection.$initRangeList(),b.multiSelect=b.selection),this.multiSelect=b.multiSelect;var c=a.oldSession;c&&(c.multiSelect&&c.multiSelect.editor==this&&(c.multiSelect.editor=null),b.multiSelect.removeEventListener("addRange",this.$onAddRange),b.multiSelect.removeEventListener("removeRange",this.$onRemoveRange),b.multiSelect.removeEventListener("multiSelect",this.$onMultiSelect),b.multiSelect.removeEventListener("singleSelect",this.$onSingleSelect)),b.multiSelect.on("addRange",this.$onAddRange),b.multiSelect.on("removeRange",this.$onRemoveRange),b.multiSelect.on("multiSelect",this.$onMultiSelect),b.multiSelect.on("singleSelect",this.$onSingleSelect),this.inMultiSelectMode!=b.selection.inMultiSelectMode&&(b.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},b.MultiSelect=q}),ace.define("ace/range_list",["require","exports","module"],function(a,b,c){var d=function(){this.ranges=[]};(function(){this.comparePoints=function(a,b){return a.row-b.row||a.column-b.column},this.pointIndex=function(a,b){var c=this.ranges;for(var d=b||0;d0)continue;return f==0?d:(f=this.comparePoints(a,e.start),f>=0?d:-d-1)}return-d-1},this.add=function(a){var b=this.pointIndex(a.start);b<0&&(b=-b-1);var c=this.pointIndex(a.end,b);return c<0?c=-c-1:c++,this.ranges.splice(b,c-b,a)},this.addList=function(a){var b=[];for(var c=a.length;c--;)b.push.call(b,this.add(a[c]));return b},this.substractPoint=function(a){var b=this.pointIndex(a);if(b>=0)return this.ranges.splice(b,1)},this.merge=function(){var a=[],b=this.ranges,c=b[0],d;for(var e=1;e=0},this.containsPoint=function(a){return this.pointIndex(a)>=0},this.rangeAtPoint=function(a){var b=this.pointIndex(a);if(b>=0)return this.ranges[b]},this.clipRows=function(a,b){var c=this.ranges;if(c[0].start.row>b||c[c.length-1].start.rowe)break;l.start.row==e&&l.start.column>=c.column&&(l.start.column+=h,l.start.row+=g),l.end.row==e&&l.end.column>=c.column&&(l.end.column+=h,l.end.row+=g)}if(g!=0&&j=0?e=a.nameToUrl("ace/worker/worker_sourcemint"):(a.nameToUrl&&!a.toUrl&&(a.toUrl=a.nameToUrl),e=this.$normalizePath(a.toUrl("ace/worker/worker",null,"_"))),this.$worker=new Worker(e);var g={};for(var h=0;h=this.pos.column&&c.start.column<=this.pos.column+this.length+1){var f=c.start.column-this.pos.column;this.length+=e;if(!this.session.$fromUndo){if(b.action==="insertText")for(var g=this.others.length-1;g>=0;g--){var h=this.others[g],i={row:h.row,column:h.column+f};h.row===c.start.row&&c.start.column=0;g--){var h=this.others[g],i={row:h.row,column:h.column+f};h.row===c.start.row&&c.start.column=this.pos.column&&b.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",a)):(this.hideOtherMarkers(),this._emit("cursorLeave",a))},this.detach=function(){this.session.removeMarker(this.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.pos.detach();for(var a=0;a - * Class system for javascript - *

    - * - * var Fighter = gamecore.Base.extend('Fighter', - * { - * // static (this is inherited as well) - * firingSpeed: 1000 - * }, - * { - * // instance - * - * hp: 0, - * lastFireTime: 0, - * - * init: function(hp) - * { - * this.hp = hp; - * }, - * - * fire: function() - * { - * this._super(); // super methods! - * - * // do firing! - * } - * }); - * - * var gunship = new Fighter(100); - * - * - * Introspection: - * - * gamecore.Base.extend(‘Fighter.Gunship’); - * Fighter.Gunship.shortName; // ‘Gunship’ - * Fighter.Gunship.fullName; // ‘Fighter.Gunship’ - * Fighter.Gunship.namespace; // ‘Fighter’ - * - *

    - * Setup method will be called prior to any init -- nice if you want to do things without needing the - * users to call _super in the init, as well as for normalizing parameters. - * - * setup: function() - * { - * this.objectId = this.Class.totalObjects++; - * this.uniqueId = this.Class.fullName + ':' + this.objectId; - * } - * - */ - -// compatible with jquery classing -(function ($) -{ - var regs = { - undHash: /_|-/, - colons: /::/, - words: /([A-Z]+)([A-Z][a-z])/g, - lowUp: /([a-z\d])([A-Z])/g, - dash: /([a-z\d])([A-Z])/g, - replacer: /\{([^\}]+)\}/g, - dot: /\./ - }, - getNext = function (current, nextPart, add) - { - return current[nextPart] || ( add && (current[nextPart] = {}) ); - }, - isContainer = function (current) - { - var type = typeof current; - return type && ( type == 'function' || type == 'object' ); - }, - getObject = function (objectName, roots, add) - { - var parts = objectName ? objectName.split(regs.dot) : [], - length = parts.length, - currents = $.isArray(roots) ? roots : [roots || window], - current, - ret, - i, - c = 0, - type; - - if (length == 0) - { - return currents[0]; - } - while (current = currents[c++]) - { - for (i = 0; i < length - 1 && isContainer(current); i++) - { - current = getNext(current, parts[i], add); - } - if (isContainer(current)) - { - - ret = getNext(current, parts[i], add); - - if (ret !== undefined) - { - - if (add === false) - { - delete current[parts[i]]; - } - return ret; - - } - - } - } - }, - - /** - * @class jQuery.String - * - * A collection of useful string helpers. - * - */ - str = $.String = $.extend($.String || {}, { - /** - * @function - * Gets an object from a string. - * @param {String} name the name of the object to look for - * @param {Array} [roots] an array of root objects to look for the name - * @param {Boolean} [add] true to add missing objects to - * the path. false to remove found properties. undefined to - * not modify the root object - */ - getObject: getObject, - /** - * Capitalizes a string - * @param {String} s the string. - * @return {String} a string with the first character capitalized. - */ - capitalize: function (s, cache) - { - return s.charAt(0).toUpperCase() + s.substr(1); - }, - /** - * Capitalizes a string from something undercored. Examples: - * @codestart - * jQuery.String.camelize("one_two") //-> "oneTwo" - * "three-four".camelize() //-> threeFour - * @codeend - * @param {String} s - * @return {String} a the camelized string - */ - camelize: function (s) - { - s = str.classize(s); - return s.charAt(0).toLowerCase() + s.substr(1); - }, - /** - * Like camelize, but the first part is also capitalized - * @param {String} s - * @return {String} the classized string - */ - classize: function (s, join) - { - var parts = s.split(regs.undHash), - i = 0; - for (; i < parts.length; i++) - { - parts[i] = str.capitalize(parts[i]); - } - - return parts.join(join || ''); - }, - /** - * Like [jQuery.String.classize|classize], but a space separates each 'word' - * @codestart - * jQuery.String.niceName("one_two") //-> "One Two" - * @codeend - * @param {String} s - * @return {String} the niceName - */ - niceName: function (s) - { - return str.classize(s, ' '); - }, - - /** - * Underscores a string. - * @codestart - * jQuery.String.underscore("OneTwo") //-> "one_two" - * @codeend - * @param {String} s - * @return {String} the underscored string - */ - underscore: function (s) - { - return s.replace(regs.colons, '/').replace(regs.words, '$1_$2').replace(regs.lowUp, '$1_$2').replace(regs.dash, '_').toLowerCase(); - }, - /** - * Returns a string with {param} replaced values from data. - * - * $.String.sub("foo {bar}",{bar: "far"}) - * //-> "foo far" - * - * @param {String} s The string to replace - * @param {Object} data The data to be used to look for properties. If it's an array, multiple - * objects can be used. - * @param {Boolean} [remove] if a match is found, remove the property from the object - */ - sub: function (s, data, remove) - { - var obs = []; - obs.push(s.replace(regs.replacer, function (whole, inside) - { - //convert inside to type - var ob = getObject(inside, data, typeof remove == 'boolean' ? !remove : remove), - type = typeof ob; - if ((type === 'object' || type === 'function') && type !== null) - { - obs.push(ob); - return ""; - } else - { - return "" + ob; - } - })); - return obs.length <= 1 ? obs[0] : obs; - } - }); - -})(jQuery); -(function ($) -{ - - // if we are initializing a new class - var initializing = false, - makeArray = $.makeArray, - isFunction = $.isFunction, - isArray = $.isArray, - extend = $.extend, - - /** - * - */ - cloneObject = function(object) - { - if (!object || typeof(object) != 'object') - return object; - - // special case handling of array (deep copy them) - if (object instanceof Array) - { - var clone = []; - for (var c = 0; c < object.length; c++) - clone[c] = cloneObject(object[c]); - return clone; - } - else // otherwise, it's a normal object, clone it's properties - { - var cloneObj = {}; - for (var prop in object) - cloneObj[prop] = cloneObject(object[prop]); - return cloneObj; - } - }, - - concatArgs = function (arr, args) - { - return arr.concat(makeArray(args)); - }, - // tests if we can get super in .toString() - fnTest = /xyz/.test(function () - { - xyz; - }) ? /\b_super\b/ : /.*/, - // overwrites an object with methods, sets up _super - // newProps - new properties - // oldProps - where the old properties might be - // addTo - what we are adding to - inheritProps = function (newProps, oldProps, addTo) - { - addTo = addTo || newProps - for (var name in newProps) - { - // Check if we're overwriting an existing function - addTo[name] = isFunction(newProps[name]) && - isFunction(oldProps[name]) && - fnTest.test(newProps[name]) ? (function (name, fn) - { - return function () - { - var tmp = this._super, ret; - - // Add a new ._super() method that is the same method but on the super-class - this._super = oldProps[name]; - - // The method only need to be bound temporarily, so we remove it when we're done executing - ret = fn.apply(this, arguments); - this._super = tmp; - return ret; - }; - })(name, newProps[name]) : newProps[name]; - } - }, - - - /** - * @class jQuery.Class - * @plugin jquery/class - * @tag core - * @download dist/jquery/jquery.class.js - * @test jquery/class/qunit.html - * - * Class provides simulated inheritance in JavaScript. Use clss to bridge the gap between - * jQuery's functional programming style and Object Oriented Programming. It - * is based off John Resig's [http://ejohn.org/blog/simple-javascript-inheritance/|Simple Class] - * Inheritance library. Besides prototypal inheritance, it includes a few important features: - * - * - Static inheritance - * - Introspection - * - Namespaces - * - Setup and initialization methods - * - Easy callback function creation - * - * - * ## Static v. Prototype - * - * Before learning about Class, it's important to - * understand the difference between - * a class's __static__ and __prototype__ properties. - * - * //STATIC - * MyClass.staticProperty //shared property - * - * //PROTOTYPE - * myclass = new MyClass() - * myclass.prototypeMethod() //instance method - * - * A static (or class) property is on the Class constructor - * function itself - * and can be thought of being shared by all instances of the - * Class. Prototype propertes are available only on instances of the Class. - * - * ## A Basic Class - * - * The following creates a Monster class with a - * name (for introspection), static, and prototype members. - * Every time a monster instance is created, the static - * count is incremented. - * - * @codestart - * $.Class.extend('Monster', - * /* @static *| - * { - * count: 0 - * }, - * /* @prototype *| - * { - * init: function( name ) { - * - * // saves name on the monster instance - * this.name = name; - * - * // sets the health - * this.health = 10; - * - * // increments count - * this.Class.count++; - * }, - * eat: function( smallChildren ){ - * this.health += smallChildren; - * }, - * fight: function() { - * this.health -= 2; - * } - * }); - * - * hydra = new Monster('hydra'); - * - * dragon = new Monster('dragon'); - * - * hydra.name // -> hydra - * Monster.count // -> 2 - * Monster.shortName // -> 'Monster' - * - * hydra.eat(2); // health = 12 - * - * dragon.fight(); // health = 8 - * - * @codeend - * - * - * Notice that the prototype init function is called when a new instance of Monster is created. - * - * - * ## Inheritance - * - * When a class is extended, all static and prototype properties are available on the new class. - * If you overwrite a function, you can call the base class's function by calling - * this._super. Lets create a SeaMonster class. SeaMonsters are less - * efficient at eating small children, but more powerful fighters. - * - * - * Monster.extend("SeaMonster",{ - * eat: function( smallChildren ) { - * this._super(smallChildren / 2); - * }, - * fight: function() { - * this.health -= 1; - * } - * }); - * - * lockNess = new SeaMonster('Lock Ness'); - * lockNess.eat(4); //health = 12 - * lockNess.fight(); //health = 11 - * - * ### Static property inheritance - * - * You can also inherit static properties in the same way: - * - * $.Class.extend("First", - * { - * staticMethod: function() { return 1;} - * },{}) - * - * First.extend("Second",{ - * staticMethod: function() { return this._super()+1;} - * },{}) - * - * Second.staticMethod() // -> 2 - * - * ## Namespaces - * - * Namespaces are a good idea! We encourage you to namespace all of your code. - * It makes it possible to drop your code into another app without problems. - * Making a namespaced class is easy: - * - * @codestart - * $.Class.extend("MyNamespace.MyClass",{},{}); - * - * new MyNamespace.MyClass() - * @codeend - *

    Introspection

    - * Often, it's nice to create classes whose name helps determine functionality. Ruby on - * Rails's [http://api.rubyonrails.org/classes/ActiveRecord/Base.html|ActiveRecord] ORM class - * is a great example of this. Unfortunately, JavaScript doesn't have a way of determining - * an object's name, so the developer must provide a name. Class fixes this by taking a String name for the class. - * @codestart - * $.Class.extend("MyOrg.MyClass",{},{}) - * MyOrg.MyClass.shortName //-> 'MyClass' - * MyOrg.MyClass.fullName //-> 'MyOrg.MyClass' - * @codeend - * The fullName (with namespaces) and the shortName (without namespaces) are added to the Class's - * static properties. - * - * - *

    Setup and initialization methods

    - *

    - * Class provides static and prototype initialization functions. - * These come in two flavors - setup and init. - * Setup is called before init and - * can be used to 'normalize' init's arguments. - *

    - *
    PRO TIP: Typically, you don't need setup methods in your classes. Use Init instead. - * Reserve setup methods for when you need to do complex pre-processing of your class before init is called. - * - *
    - * @codestart - * $.Class.extend("MyClass", - * { - * setup: function() {} //static setup - * init: function() {} //static constructor - * }, - * { - * setup: function() {} //prototype setup - * init: function() {} //prototype constructor - * }) - * @codeend - * - *

    Setup

    - *

    Setup functions are called before init functions. Static setup functions are passed - * the base class followed by arguments passed to the extend function. - * Prototype static functions are passed the Class constructor function arguments.

    - *

    If a setup function returns an array, that array will be used as the arguments - * for the following init method. This provides setup functions the ability to normalize - * arguments passed to the init constructors. They are also excellent places - * to put setup code you want to almost always run.

    - *

    - * The following is similar to how [jQuery.Controller.prototype.setup] - * makes sure init is always called with a jQuery element and merged options - * even if it is passed a raw - * HTMLElement and no second parameter. - *

    - * @codestart - * $.Class.extend("jQuery.Controller",{ - * ... - * },{ - * setup: function( el, options ) { - * ... - * return [$(el), - * $.extend(true, - * this.Class.defaults, - * options || {} ) ] - * } - * }) - * @codeend - * Typically, you won't need to make or overwrite setup functions. - *

    Init

    - * - *

    Init functions are called after setup functions. - * Typically, they receive the same arguments - * as their preceding setup function. The Foo class's init method - * gets called in the following example: - *

    - * @codestart - * $.Class.Extend("Foo", { - * init: function( arg1, arg2, arg3 ) { - * this.sum = arg1+arg2+arg3; - * } - * }) - * var foo = new Foo(1,2,3); - * foo.sum //-> 6 - * @codeend - *

    Callbacks

    - *

    Similar to jQuery's proxy method, Class provides a - * [jQuery.Class.static.callback callback] - * function that returns a callback to a method that will always - * have - * this set to the class or instance of the class. - *

    - * The following example uses this.callback to make sure - * this.name is available in show. - * @codestart - * $.Class.extend("Todo",{ - * init: function( name ) { this.name = name } - * get: function() { - * $.get("/stuff",this.callback('show')) - * }, - * show: function( txt ) { - * alert(this.name+txt) - * } - * }) - * new Todo("Trash").get() - * @codeend - *

    Callback is available as a static and prototype method.

    - * - *

    Typing

    - * Classes are automatically populating with three type related components: - * - * _types: a variable that contains an array of types of this class (extends history) - * _fullTypeName: a string representation of the extends hierarchy - * isA(string): a function you can call which will return true if the class is of a given type string. - *

    - * Example: - *

    - * Animal.extend('Tiger', {}, {}); - * Tiger._types; // ['Animal', 'Tiger'] - * Tiger._fullTypeName; // 'Animal | Tiger |" - * Tiger.isA('Animal'); // true - *

    - * @constructor Creating a new instance of an object that has extended jQuery.Class - * calls the init prototype function and returns a new instance of the class. - * - */ - - clss = $.Class = function () - { - if (arguments.length) - { - return clss.extend.apply(clss, arguments); - } - }; - - /* @Static*/ - extend(clss, { - /** - * @function callback - * Returns a callback function for a function on this Class. - * The callback function ensures that 'this' is set appropriately. - * @codestart - * $.Class.extend("MyClass",{ - * getData: function() { - * this.showing = null; - * $.get("data.json",this.callback('gotData'),'json') - * }, - * gotData: function( data ) { - * this.showing = data; - * } - * },{}); - * MyClass.showData(); - * @codeend - *

    Currying Arguments

    - * Additional arguments to callback will fill in arguments on the returning function. - * @codestart - * $.Class.extend("MyClass",{ - * getData: function( callback ) { - * $.get("data.json",this.callback('process',callback),'json'); - * }, - * process: function( callback, jsonData ) { //callback is added as first argument - * jsonData.processed = true; - * callback(jsonData); - * } - * },{}); - * MyClass.getData(showDataFunc) - * @codeend - *

    Nesting Functions

    - * Callback can take an array of functions to call as the first argument. When the returned callback function - * is called each function in the array is passed the return value of the prior function. This is often used - * to eliminate currying initial arguments. - * @codestart - * $.Class.extend("MyClass",{ - * getData: function( callback ) { - * //calls process, then callback with value from process - * $.get("data.json",this.callback(['process2',callback]),'json') - * }, - * process2: function( type,jsonData ) { - * jsonData.processed = true; - * return [jsonData]; - * } - * },{}); - * MyClass.getData(showDataFunc); - * @codeend - * @param {String|Array} fname If a string, it represents the function to be called. - * If it is an array, it will call each function in order and pass the return value of the prior function to the - * next function. - * @return {Function} the callback function. - */ - callback: function (funcs) - { - //args that should be curried - var args = makeArray(arguments), - self; - - funcs = args.shift(); - - if (!isArray(funcs)) - { - funcs = [funcs]; - } - - self = this; - - return function class_cb() - { - var cur = concatArgs(args, arguments), - isString, - length = funcs.length, - f = 0, - func; - - for (; f < length; f++) - { - func = funcs[f]; - if (!func) - continue; - - isString = typeof func == "string"; - if (isString && self._set_called) - self.called = func; - - cur = (isString ? self[func] : func).apply(self, cur || []); - if (f < length - 1) - cur = !isArray(cur) || cur._use_call ? [cur] : cur - } - return cur; - } - }, - /** - * @function getObject - * Gets an object from a String. - * If the object or namespaces the string represent do not - * exist it will create them. - * @codestart - * Foo = {Bar: {Zar: {"Ted"}}} - * $.Class.getobject("Foo.Bar.Zar") //-> "Ted" - * @codeend - * @param {String} objectName the object you want to get - * @param {Object} [current=window] the object you want to look in. - * @return {Object} the object you are looking for. - */ - getObject: $.String.getObject, - /** - * @function newInstance - * Creates a new instance of the class. This method is useful for creating new instances - * with arbitrary parameters. - *

    Example

    - * @codestart - * $.Class.extend("MyClass",{},{}) - * var mc = MyClass.newInstance.apply(null, new Array(parseInt(Math.random()*10,10)) - * @codeend - * @return {class} instance of the class - */ - newInstance: function () - { - var inst = this.rawInstance(); - var args; - - if (inst.setup) - args = inst.setup.apply(inst, arguments); - - // Added by martin@playcraftlabs.com -- fix for deep cloning of properties - for (var prop in inst.__proto__) - inst[prop] = cloneObject(inst[prop]); - - if (inst.init) - inst.init.apply(inst, isArray(args) ? args : arguments); - - return inst; - }, - /** - * Setup gets called on the inherting class with the base class followed by the - * inheriting class's raw properties. - * - * Setup will deeply extend a static defaults property on the base class with - * properties on the base class. For example: - * - * $.Class("MyBase",{ - * defaults : { - * foo: 'bar' - * } - * },{}) - * - * MyBase("Inheriting",{ - * defaults : { - * newProp : 'newVal' - * } - * },{} - * - * Inheriting.defaults -> {foo: 'bar', 'newProp': 'newVal'} - * - * @param {Object} baseClass the base class that is being inherited from - * @param {String} fullName the name of the new class - * @param {Object} staticProps the static properties of the new class - * @param {Object} protoProps the prototype properties of the new class - */ - setup: function (baseClass, fullName) - { - this.defaults = extend(true, {}, baseClass.defaults, this.defaults); - if (this._types == undefined) this._types = []; - this._types.push(this.fullName); - if (this._fullTypeName == undefined) this._fullTypeName = '|'; - this._fullTypeName += this.fullName + '|'; - return arguments; - }, - rawInstance: function () - { - initializing = true; - var inst = new this(); - initializing = false; - return inst; - }, - /** - * Extends a class with new static and prototype functions. There are a variety of ways - * to use extend: - * @codestart - * //with className, static and prototype functions - * $.Class.extend('Task',{ STATIC },{ PROTOTYPE }) - * //with just classname and prototype functions - * $.Class.extend('Task',{ PROTOTYPE }) - * //With just a className - * $.Class.extend('Task') - * @codeend - * @param {String} [fullName] the classes name (used for classes w/ introspection) - * @param {Object} [klass] the new classes static/class functions - * @param {Object} [proto] the new classes prototype functions - * @return {jQuery.Class} returns the new class - */ - extend: function (fullName, klass, proto) - { - // figure out what was passed - if (typeof fullName != 'string') - { - proto = klass; - klass = fullName; - fullName = null; - } - if (!proto) - { - proto = klass; - klass = null; - } - - proto = proto || {}; - var _super_class = this, - _super = this.prototype, - name, shortName, namespace, prototype; - - // append the isA function - this.isA = function(typeName) - { - return this._fullTypeName.indexOf('|'+typeName+'|') != -1; - }; - - // Instantiate a base class (but only create the instance, - // don't run the init constructor) - initializing = true; - prototype = new this(); - initializing = false; - // Copy the properties over onto the new prototype - inheritProps(proto, _super, prototype); - - // The dummy class constructor - - function Class() - { - // All construction is actually done in the init method - if (initializing) return; - - if (this.constructor !== Class && arguments.length) - { //we are being called w/o new - return arguments.callee.extend.apply(arguments.callee, arguments) - } else - { //we are being called w/ new - // copy objects - - return this.Class.newInstance.apply(this.Class, arguments) - } - } - - // Copy old stuff onto class - for (name in this) - if (this.hasOwnProperty(name)) - Class[name] = cloneObject(this[name]); - - // copy new props on class - inheritProps(klass, this, Class); - - // do namespace stuff - if (fullName) - { - var parts = fullName.split(/\./); - var shortName = parts.pop(); - - // Martin Wells (playcraft): bug fix. Don't add a namespace object if the class name - // has no namespace elements (i.e. it's just "MyClass", not "MyProject.MyClass") - if (parts.length > 0) - { - current = clss.getObject(parts.join('.'), window, true), - namespace = current; - } - - current[shortName] = Class; - } - - // set things that can't be overwritten - extend(Class, { - prototype: prototype, - namespace: namespace, - shortName: shortName, - constructor: Class, - fullName: fullName - }); - - //make sure our prototype looks nice - Class.prototype.Class = Class.prototype.constructor = Class; - - - /** - * @attribute fullName - * The full name of the class, including namespace, provided for introspection purposes. - * @codestart - * $.Class.extend("MyOrg.MyClass",{},{}) - * MyOrg.MyClass.shortName //-> 'MyClass' - * MyOrg.MyClass.fullName //-> 'MyOrg.MyClass' - * @codeend - */ - - var args = Class.setup.apply(Class, concatArgs([_super_class], arguments)); - - if (Class.init) - { - Class.init.apply(Class, args || []); - } - - /* @Prototype*/ - - return Class; - /** - * @function setup - * If a setup method is provided, it is called when a new - * instances is created. It gets passed the same arguments that - * were given to the Class constructor function ( new Class( arguments ... )). - * - * $.Class("MyClass", - * { - * setup: function( val ) { - * this.val = val; - * } - * }) - * var mc = new MyClass("Check Check") - * mc.val //-> 'Check Check' - * - * Setup is called before [jQuery.Class.prototype.init init]. If setup - * return an array, those arguments will be used for init. - * - * $.Class("jQuery.Controller",{ - * setup : function(htmlElement, rawOptions){ - * return [$(htmlElement), - * $.extend({}, this.Class.defaults, rawOptions )] - * } - * }) - * - *
    PRO TIP: - * Setup functions are used to normalize constructor arguments and provide a place for - * setup code that extending classes don't have to remember to call _super to - * run. - *
    - * - * Setup is not defined on $.Class itself, so calling super in inherting classes - * will break. Don't do the following: - * - * $.Class("Thing",{ - * setup : function(){ - * this._super(); // breaks! - * } - * }) - * - * @return {Array|undefined} If an array is return, [jQuery.Class.prototype.init] is - * called with those arguments; otherwise, the original arguments are used. - */ - //break up - /** - * @function init - * If an init method is provided, it gets called when a new instance - * is created. Init gets called after [jQuery.Class.prototype.setup setup], typically with the - * same arguments passed to the Class - * constructor: ( new Class( arguments ... )). - * - * $.Class("MyClass", - * { - * init: function( val ) { - * this.val = val; - * } - * }) - * var mc = new MyClass(1) - * mc.val //-> 1 - * - * [jQuery.Class.prototype.setup Setup] is able to modify the arguments passed to init. Read - * about it there. - * - */ - //Breaks up code - /** - * @attribute Class - * References the static properties of the instance's class. - *

    Quick Example

    - * @codestart - * // a class with a static classProperty property - * $.Class.extend("MyClass", {classProperty : true}, {}); - * - * // a new instance of myClass - * var mc1 = new MyClass(); - * - * // - * mc1.Class.classProperty = false; - * - * // creates a new MyClass - * var mc2 = new mc.Class(); - * @codeend - * Getting static properties via the Class property, such as it's - * [jQuery.Class.static.fullName fullName] is very common. - */ - } - - }) - - - clss.prototype. - /** - * @function callback - * Returns a callback function. This does the same thing as and is described better in [jQuery.Class.static.callback]. - * The only difference is this callback works - * on a instance instead of a class. - * @param {String|Array} fname If a string, it represents the function to be called. - * If it is an array, it will call each function in order and pass the return value of the prior function to the - * next function. - * @return {Function} the callback function - */ - callback = clss.callback; - - -})(jQuery); \ No newline at end of file diff --git a/tools/hexgl/libs/Editor_files/editor.css b/tools/hexgl/libs/Editor_files/editor.css deleted file mode 100644 index f90e74f..0000000 --- a/tools/hexgl/libs/Editor_files/editor.css +++ /dev/null @@ -1,16 +0,0 @@ -.ace_gutter { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.ace_sb { - overflow-y: hidden !important; -} - -#editor { - background: #272822; -} \ No newline at end of file diff --git a/tools/hexgl/libs/Editor_files/font.css b/tools/hexgl/libs/Editor_files/font.css deleted file mode 100644 index e6df5ac..0000000 --- a/tools/hexgl/libs/Editor_files/font.css +++ /dev/null @@ -1,24 +0,0 @@ -@font-face { - font-family: 'Ubuntu Mono'; - font-style: normal; - font-weight: 700; - src: local('Ubuntu Mono Bold'), local('UbuntuMono-Bold'), url(bold.woff) format('woff'); -} -@font-face { - font-family: 'Ubuntu Mono'; - font-style: normal; - font-weight: 400; - src: local('Ubuntu Mono'), local('UbuntuMono-Regular'), url(normal.woff) format('woff'); -} -@font-face { - font-family: 'Ubuntu Mono'; - font-style: italic; - font-weight: 700; - src: local('Ubuntu Mono Bold Italic'), local('UbuntuMono-BoldItalic'), url(bolditalic.woff) format('woff'); -} -@font-face { - font-family: 'Ubuntu Mono'; - font-style: italic; - font-weight: 400; - src: local('Ubuntu Mono Italic'), local('UbuntuMono-Italic'), url(italic.woff) format('woff'); -} diff --git a/tools/hexgl/libs/Editor_files/gamecore.js b/tools/hexgl/libs/Editor_files/gamecore.js deleted file mode 100644 index eef1b03..0000000 --- a/tools/hexgl/libs/Editor_files/gamecore.js +++ /dev/null @@ -1,133 +0,0 @@ -/** - * gamecore.js - Copyright 2012 Playcraft Labs, Inc. (see licence.txt) - * gamecore.js - * Namespace wrappers and the base class - */ - -window.gamecore = {}; -gamecore.Class = $.Class; - -/** - * @class gamecore.Base - * A base class providing logging, object counting and unique object id's - * Examples: - * - * Unique ID and total objects: - * - * var Fighter = gamecore.Base.extend('Fighter', {}, {}); - * var fighter1 = new Fighter(); - * var fighter2 = new Fighter(); - * fighter1.uniqueId; // -> 'Fighter:0' - * fighter2.uniqueId; // -> 'Fighter:1' - * Fighter.totalObjects; // -> 2 - * - * - * Logging: (log, info, warn, error, debug) - * - * fighter1.warn('oops'); // == console.log('Fighter:0 [WARN] oops'); - */ - -gamecore.Base = gamecore.Class('gamecore.Base', - /// - /// STATIC - /// - { - totalObjects: 0, - WARN: 'WARN', - DEBUG: 'DEBUG', - ERROR: 'ERROR', - INFO: 'INFO', - - log: function(id, type, message) - { - var idString = ''; - if (id) idString = ':'+id; - console.log(this.fullName + idString + ' [' + type + '] ' + message); - }, - - warn: function (message) - { - this.log(null, this.WARN, message); - }, - - debug: function (message) - { - this.log(null, this.DEBUG, message); - }, - - error: function (message) - { - this.log(null, this.ERROR, message); - }, - - info: function (message) - { - this.log(null, this.INFO, message); - }, - - assert: function(msg, condition) - { - if (!condition) - throw msg; - } - - }, - /// - /// INSTANCE - /// - { - objectId: 0, - uniqueId: null, - - init: function() - { - }, - - setup: function() - { - this.objectId = this.Class.totalObjects++; - this.uniqueId = this.Class.fullName + ':' + this.objectId; - }, - - /** - * @returns {String} A system-wide unique Id for this object instance - */ - getUniqueId: function() - { - // if you see a null error here, then likely you have forgotten to call - // this._super in a subclassed init method. - return this.uniqueId; - }, - - /** - * @returns {String} A hash matching this object. Override this to implement different - * kinds of object hashing in derived classes. - */ - hashCode: function() - { - return this.getUniqueId(); - }, - - warn: function (message) - { - this.Class.log(this.objectId, this.Class.WARN, message); - }, - debug: function (message) - { - this.Class.log(this.objectId, this.Class.DEBUG, message); - }, - error: function (message) - { - this.Class.log(this.objectId, this.Class.ERROR, message); - }, - info: function (message) - { - this.Class.log(this.objectId, this.Class.INFO, message); - }, - - toString: function() - { - return this.Class.fullName + ' [id: ' + this.objectId + ']'; - } - }); - diff --git a/tools/hexgl/libs/Editor_files/hashlist.js b/tools/hexgl/libs/Editor_files/hashlist.js deleted file mode 100644 index 34cc37e..0000000 --- a/tools/hexgl/libs/Editor_files/hashlist.js +++ /dev/null @@ -1,41 +0,0 @@ - -/** - * A map of linked lists mapped by a string value - */ -gamecore.HashList = gamecore.Base.extend('gamecore.HashList', - {}, - { - hashtable: null, - - init: function() - { - this.hashtable = new gamecore.Hashtable(); - }, - - add: function(key, object) - { - // find the list associated with this key and add the object to it - var list = this.hashtable.get(key); - if (list == null) - { - // no list associated with this key yet, so let's make one - list = new pc.LinkedList(); - this.hashtable.put(key, list); - } - list.add(object); - }, - - remove: function(key, object) - { - var list = this.hashtable.get(key); - if (list == null) throw "No list for a key in hashlist when removing"; - list.remove(object); - }, - - get: function(key) - { - return this.hashtable.get(key); - } - - - }); diff --git a/tools/hexgl/libs/Editor_files/jhashtable.js b/tools/hexgl/libs/Editor_files/jhashtable.js deleted file mode 100644 index e7947d3..0000000 --- a/tools/hexgl/libs/Editor_files/jhashtable.js +++ /dev/null @@ -1,468 +0,0 @@ -/** - * Copyright 2010 Tim Down. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Author: Tim Down - * Version: 2.1 - * Build date: 21 March 2010 - * Website: http://www.timdown.co.uk/jshashtable - * - * (Slight mod to add to gamecore namespace -- martin@playcraftlabs.com) - */ - -/** - * jshashtable - * - * jshashtable is a JavaScript implementation of a hash table. It creates a single constructor function called Hashtable - * in the global scope. - * Example: - * - * var map = new gamecore.Hashtable(); - * map.put('test1', obj); - * var obj = map.get('test1'); - * - */ - -gamecore.Hashtable = (function () -{ - var FUNCTION = "function"; - - var arrayRemoveAt = (typeof Array.prototype.splice == FUNCTION) ? - function (arr, idx) - { - arr.splice(idx, 1); - } : - - function (arr, idx) - { - var itemsAfterDeleted, i, len; - if (idx === arr.length - 1) - { - arr.length = idx; - } else - { - itemsAfterDeleted = arr.slice(idx + 1); - arr.length = idx; - for (i = 0, len = itemsAfterDeleted.length; i < len; ++i) - { - arr[idx + i] = itemsAfterDeleted[i]; - } - } - }; - - function hashObject(obj) - { - var hashCode; - if (typeof obj == "string") - { - return obj; - } else if (typeof obj.hashCode == FUNCTION) - { - // Check the hashCode method really has returned a string - hashCode = obj.hashCode(); - return (typeof hashCode == "string") ? hashCode : hashObject(hashCode); - } else if (typeof obj.toString == FUNCTION) - { - return obj.toString(); - } else - { - try - { - return String(obj); - } - catch (ex) - { - // For host objects (such as ActiveObjects in IE) that have no toString() method and throw an error when - // passed to String() - return Object.prototype.toString.call(obj); - } - } - } - - function equals_fixedValueHasEquals(fixedValue, variableValue) - { - return fixedValue.equals(variableValue); - } - - function equals_fixedValueNoEquals(fixedValue, variableValue) - { - return (typeof variableValue.equals == FUNCTION) ? - variableValue.equals(fixedValue) : (fixedValue === variableValue); - } - - function createKeyValCheck(kvStr) - { - return function (kv) - { - if (kv === null) - { - throw new Error("null is not a valid " + kvStr); - } else if (typeof kv == "undefined") - { - throw new Error(kvStr + " must not be undefined"); - } - }; - } - - var checkKey = createKeyValCheck("key"), checkValue = createKeyValCheck("value"); - - /*----------------------------------------------------------------------------------------------------------------*/ - - function Bucket(hash, firstKey, firstValue, equalityFunction) - { - this[0] = hash; - this.entries = []; - this.addEntry(firstKey, firstValue); - - if (equalityFunction !== null) - { - this.getEqualityFunction = function () - { - return equalityFunction; - }; - } - } - - var EXISTENCE = 0, ENTRY = 1, ENTRY_INDEX_AND_VALUE = 2; - - function createBucketSearcher(mode) - { - return function (key) - { - var i = this.entries.length, entry, equals = this.getEqualityFunction(key); - while (i--) - { - entry = this.entries[i]; - if (equals(key, entry[0])) - { - switch (mode) - { - case EXISTENCE: - return true; - case ENTRY: - return entry; - case ENTRY_INDEX_AND_VALUE: - return [ i, entry[1] ]; - } - } - } - return false; - }; - } - - function createBucketLister(entryProperty) - { - return function (aggregatedArr) - { - var startIndex = aggregatedArr.length; - for (var i = 0, len = this.entries.length; i < len; ++i) - { - aggregatedArr[startIndex + i] = this.entries[i][entryProperty]; - } - }; - } - - Bucket.prototype = { - getEqualityFunction:function (searchValue) - { - return (typeof searchValue.equals == FUNCTION) ? equals_fixedValueHasEquals : equals_fixedValueNoEquals; - }, - - getEntryForKey:createBucketSearcher(ENTRY), - - getEntryAndIndexForKey:createBucketSearcher(ENTRY_INDEX_AND_VALUE), - - removeEntryForKey:function (key) - { - var result = this.getEntryAndIndexForKey(key); - if (result) - { - arrayRemoveAt(this.entries, result[0]); - return result[1]; - } - return null; - }, - - addEntry:function (key, value) - { - this.entries[this.entries.length] = [key, value]; - }, - - keys:createBucketLister(0), - - values:createBucketLister(1), - - getEntries:function (entries) - { - var startIndex = entries.length; - for (var i = 0, len = this.entries.length; i < len; ++i) - { - // Clone the entry stored in the bucket before adding to array - entries[startIndex + i] = this.entries[i].slice(0); - } - }, - - containsKey:createBucketSearcher(EXISTENCE), - - containsValue:function (value) - { - var i = this.entries.length; - while (i--) - { - if (value === this.entries[i][1]) - { - return true; - } - } - return false; - } - }; - - /*----------------------------------------------------------------------------------------------------------------*/ - - // Supporting functions for searching hashtable buckets - - function searchBuckets(buckets, hash) - { - var i = buckets.length, bucket; - while (i--) - { - bucket = buckets[i]; - if (hash === bucket[0]) - { - return i; - } - } - return null; - } - - function getBucketForHash(bucketsByHash, hash) - { - var bucket = bucketsByHash[hash]; - - // Check that this is a genuine bucket and not something inherited from the bucketsByHash's prototype - return ( bucket && (bucket instanceof Bucket) ) ? bucket : null; - } - - /*----------------------------------------------------------------------------------------------------------------*/ - - function Hashtable(hashingFunctionParam, equalityFunctionParam) - { - var that = this; - var buckets = []; - var bucketsByHash = {}; - - var hashingFunction = (typeof hashingFunctionParam == FUNCTION) ? hashingFunctionParam : hashObject; - var equalityFunction = (typeof equalityFunctionParam == FUNCTION) ? equalityFunctionParam : null; - - this.put = function (key, value) - { - checkKey(key); - checkValue(value); - var hash = hashingFunction(key), bucket, bucketEntry, oldValue = null; - - // Check if a bucket exists for the bucket key - bucket = getBucketForHash(bucketsByHash, hash); - if (bucket) - { - // Check this bucket to see if it already contains this key - bucketEntry = bucket.getEntryForKey(key); - if (bucketEntry) - { - // This bucket entry is the current mapping of key to value, so replace old value and we're done. - oldValue = bucketEntry[1]; - bucketEntry[1] = value; - } else - { - // The bucket does not contain an entry for this key, so add one - bucket.addEntry(key, value); - } - } else - { - // No bucket exists for the key, so create one and put our key/value mapping in - bucket = new Bucket(hash, key, value, equalityFunction); - buckets[buckets.length] = bucket; - bucketsByHash[hash] = bucket; - } - return oldValue; - }; - - this.get = function (key) - { - checkKey(key); - - var hash = hashingFunction(key); - - // Check if a bucket exists for the bucket key - var bucket = getBucketForHash(bucketsByHash, hash); - if (bucket) - { - // Check this bucket to see if it contains this key - var bucketEntry = bucket.getEntryForKey(key); - if (bucketEntry) - { - // This bucket entry is the current mapping of key to value, so return the value. - return bucketEntry[1]; - } - } - return null; - }; - - this.containsKey = function (key) - { - checkKey(key); - var bucketKey = hashingFunction(key); - - // Check if a bucket exists for the bucket key - var bucket = getBucketForHash(bucketsByHash, bucketKey); - - return bucket ? bucket.containsKey(key) : false; - }; - - this.containsValue = function (value) - { - checkValue(value); - var i = buckets.length; - while (i--) - { - if (buckets[i].containsValue(value)) - { - return true; - } - } - return false; - }; - - this.clear = function () - { - buckets.length = 0; - bucketsByHash = {}; - }; - - this.isEmpty = function () - { - return !buckets.length; - }; - - var createBucketAggregator = function (bucketFuncName) - { - return function () - { - var aggregated = [], i = buckets.length; - while (i--) - { - buckets[i][bucketFuncName](aggregated); - } - return aggregated; - }; - }; - - this.keys = createBucketAggregator("keys"); - this.values = createBucketAggregator("values"); - this.entries = createBucketAggregator("getEntries"); - - this.remove = function (key) - { - checkKey(key); - - var hash = hashingFunction(key), bucketIndex, oldValue = null; - - // Check if a bucket exists for the bucket key - var bucket = getBucketForHash(bucketsByHash, hash); - - if (bucket) - { - // Remove entry from this bucket for this key - oldValue = bucket.removeEntryForKey(key); - if (oldValue !== null) - { - // Entry was removed, so check if bucket is empty - if (!bucket.entries.length) - { - // Bucket is empty, so remove it from the bucket collections - bucketIndex = searchBuckets(buckets, hash); - arrayRemoveAt(buckets, bucketIndex); - delete bucketsByHash[hash]; - } - } - } - return oldValue; - }; - - this.size = function () - { - var total = 0, i = buckets.length; - while (i--) - { - total += buckets[i].entries.length; - } - return total; - }; - - this.each = function (callback) - { - var entries = that.entries(), i = entries.length, entry; - while (i--) - { - entry = entries[i]; - callback(entry[0], entry[1]); - } - }; - - this.putAll = function (hashtable, conflictCallback) - { - var entries = hashtable.entries(); - var entry, key, value, thisValue, i = entries.length; - var hasConflictCallback = (typeof conflictCallback == FUNCTION); - while (i--) - { - entry = entries[i]; - key = entry[0]; - value = entry[1]; - - // Check for a conflict. The default behaviour is to overwrite the value for an existing key - if (hasConflictCallback && (thisValue = that.get(key))) - { - value = conflictCallback(key, thisValue, value); - } - that.put(key, value); - } - }; - - this.clone = function () - { - var clone = new Hashtable(hashingFunctionParam, equalityFunctionParam); - clone.putAll(that); - return clone; - }; - - /** - * Added by martin@playcratlabs.com to support debug dumping of hash arrays - */ - this.toString = function () - { - var result = ''; - var keys = this.keys(); - for (var i = 0; i < keys.length; i++) - { - var obj = this.get(keys[i]); - result += keys[i].toString() + ' = ' + obj.toString() + '\n'; - } - - return result; - } - } - - return Hashtable; -})(); \ No newline at end of file diff --git a/tools/hexgl/libs/Editor_files/jquery-1.8.js b/tools/hexgl/libs/Editor_files/jquery-1.8.js deleted file mode 100644 index bc3fbc8..0000000 --- a/tools/hexgl/libs/Editor_files/jquery-1.8.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery v1.8.2 jquery.com | jquery.org/license */ -(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write(""),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ci(a+"["+e+"]",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b
    a",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="
    t
    ",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="
    ",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c=0)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;be.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="
    ",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="

    ",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--)i[j]=l+i[j].join("");m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b0)for(e=d;e=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*\s*$/g,bz={option:[1,""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X
    ","
    "]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1>");try{for(;d1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===""&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("
    ").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||".5",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window); \ No newline at end of file diff --git a/tools/hexgl/libs/Editor_files/kinetic.js b/tools/hexgl/libs/Editor_files/kinetic.js deleted file mode 100644 index c7ba0f3..0000000 --- a/tools/hexgl/libs/Editor_files/kinetic.js +++ /dev/null @@ -1,30 +0,0 @@ -/** - * KineticJS JavaScript Library v4.0.3 - * http://www.kineticjs.com/ - * Copyright 2012, Eric Rowell - * Licensed under the MIT or GPL Version 2 licenses. - * Date: Oct 11 2012 - * - * Copyright (C) 2011 - 2012 by Eric Rowell - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -var Kinetic={};Kinetic.Filters={},Kinetic.Plugins={},Kinetic.Global={BUBBLE_WHITELIST:["mousedown","mousemove","mouseup","mouseover","mouseout","mouseenter","mouseleave","click","dblclick","touchstart","touchmove","touchend","tap","dbltap","dragstart","dragmove","dragend"],BUFFER_WHITELIST:["fill","stroke","textFill","textStroke"],BUFFER_BLACKLIST:["shadow"],stages:[],idCounter:0,tempNodes:{},shapes:{},maxDragTimeInterval:20,drag:{moving:!1,offset:{x:0,y:0},lastDrawTime:0},warn:function(a){console&&console.warn&&console.warn("Kinetic warning: "+a)},extend:function(a,b){for(var c in b.prototype)c in a.prototype||(a.prototype[c]=b.prototype[c])},_pullNodes:function(a){var b=this.tempNodes;for(var c in b){var d=b[c];d.getStage()!==undefined&&d.getStage()._id===a._id&&(a._addId(d),a._addName(d),this._removeTempNode(d))}},_addTempNode:function(a){this.tempNodes[a._id]=a},_removeTempNode:function(a){delete this.tempNodes[a._id]}},Kinetic.Transition=function(a,b){function d(a,b,e,f){for(var g in a)g!=="duration"&&g!=="easing"&&g!=="callback"&&(Kinetic.Type._isObject(a[g])?(e[g]={},d(a[g],b[g],e[g],f)):c._add(c._getTween(b,g,a[g],e,f)))}this.node=a,this.config=b,this.tweens=[];var c=this,e={};d(b,a.attrs,e,e);var f=0;for(var g=0;g=c.tweens.length&&c.onFinished()}}},Kinetic.Transition.prototype={start:function(){for(var a=0;a0},_getXY:function(a){if(this._isNumber(a))return{x:a,y:a};if(this._isArray(a)){if(a.length===1){var b=a[0];if(this._isNumber(b))return{x:b,y:b};if(this._isArray(b))return{x:b[0],y:b[1]};if(this._isObject(b))return b}else if(a.length>=2)return{x:a[0],y:a[1]}}else if(this._isObject(a))return a;return{x:0,y:0}},_getSize:function(a){if(this._isNumber(a))return{width:a,height:a};if(this._isArray(a))if(a.length===1){var b=a[0];if(this._isNumber(b))return{width:b,height:b};if(this._isArray(b)){if(b.length>=4)return{width:b[2],height:b[3]};if(b.length>=2)return{width:b[0],height:b[1]}}else if(this._isObject(b))return b}else{if(a.length>=4)return{width:a[2],height:a[3]};if(a.length>=2)return{width:a[0],height:a[1]}}else if(this._isObject(a))return a;return{width:0,height:0}},_getPoints:function(a){if(a===undefined)return[];if(this._isObject(a[0]))return a;var b=[];for(var c=0;c>16&255,g:b>>8&255,b:b&255}},_getRandomColorKey:function(){var a=Math.round(Math.random()*255),b=Math.round(Math.random()*255),c=Math.round(Math.random()*255);return this._rgbToHex(a,b,c)},_merge:function(a,b){var c=this._clone(b);for(var d in a)this._isObject(a[d])?c[d]=this._merge(a[d],c[d]):c[d]=a[d];return c},_clone:function(a){var b={};for(var c in a)this._isObject(a[c])?b[c]=this._clone(a[c]):b[c]=a[c];return b}},Kinetic.Canvas=function(a,b){this.element=document.createElement("canvas"),this.context=this.element.getContext("2d"),this.element.width=a,this.element.height=b},Kinetic.Canvas.prototype={clear:function(){var a=this.getContext(),b=this.getElement();a.clearRect(0,0,b.width,b.height)},getElement:function(){return this.element},getContext:function(){return this.context},setWidth:function(a){this.element.width=a},setHeight:function(a){this.element.height=a},getWidth:function(){return this.element.width},getHeight:function(){return this.element.height},setSize:function(a,b){this.setWidth(a),this.setHeight(b)},toDataURL:function(a,b){try{return this.element.toDataURL(a,b)}catch(c){return this.element.toDataURL()}}},Kinetic.Tween=function(a,b,c,d,e,f){this._listeners=[],this.addListener(this),this.obj=a,this.propFunc=b,this.begin=d,this._pos=d,this.setDuration(f),this.isPlaying=!1,this._change=0,this.prevTime=0,this.prevPos=0,this.looping=!1,this._time=0,this._position=0,this._startTime=0,this._finish=0,this.name="",this.func=c,this.setFinish(e)},Kinetic.Tween.prototype={setTime:function(a){this.prevTime=this._time,a>this.getDuration()?this.looping?(this.rewind(a-this._duration),this.update(),this.broadcastMessage("onLooped",{target:this,type:"onLooped"})):(this._time=this._duration,this.update(),this.stop(),this.broadcastMessage("onFinished",{target:this,type:"onFinished"})):a<0?(this.rewind(),this.update()):(this._time=a,this.update())},getTime:function(){return this._time},setDuration:function(a){this._duration=a===null||a<=0?1e5:a},getDuration:function(){return this._duration},setPosition:function(a){this.prevPos=this._pos,this.propFunc(a),this._pos=a,this.broadcastMessage("onChanged",{target:this,type:"onChanged"})},getPosition:function(a){return a===undefined&&(a=this._time),this.func(a,this.begin,this._change,this._duration)},setFinish:function(a){this._change=a-this.begin},getFinish:function(){return this.begin+this._change},start:function(){this.rewind(),this.startEnterFrame(),this.broadcastMessage("onStarted",{target:this,type:"onStarted"})},rewind:function(a){this.stop(),this._time=a===undefined?0:a,this.fixTime(),this.update()},fforward:function(){this._time=this._duration,this.fixTime(),this.update()},update:function(){this.setPosition(this.getPosition(this._time))},startEnterFrame:function(){this.stopEnterFrame(),this.isPlaying=!0,this.onEnterFrame()},onEnterFrame:function(){this.isPlaying&&this.nextFrame()},nextFrame:function(){this.setTime((this.getTimer()-this._startTime)/1e3)},stop:function(){this.stopEnterFrame(),this.broadcastMessage("onStopped",{target:this,type:"onStopped"})},stopEnterFrame:function(){this.isPlaying=!1},continueTo:function(a,b){this.begin=this._pos,this.setFinish(a),this._duration!==undefined&&this.setDuration(b),this.start()},resume:function(){this.fixTime(),this.startEnterFrame(),this.broadcastMessage("onResumed",{target:this,type:"onResumed"})},yoyo:function(){this.continueTo(this.begin,this._time)},addListener:function(a){return this.removeListener(a),this._listeners.push(a)},removeListener:function(a){var b=this._listeners,c=b.length;while(c--)if(b[c]==a)return b.splice(c,1),!0;return!1},broadcastMessage:function(){var a=[];for(var b=0;b0){this._runFrames();var a=this;requestAnimFrame(function(){a._animationLoop()})}else this.animRunning=!1},Kinetic.Animation._handleAnimation=function(){var a=this;this.animRunning||(this.animRunning=!0,a._animationLoop())},requestAnimFrame=function(a){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1e3/60)}}(),Kinetic.Node=function(a){this._nodeInit(a)},Kinetic.Node.prototype={_nodeInit:function(a){this.defaultNodeAttrs={visible:!0,listening:!0,name:undefined,opacity:1,x:0,y:0,scale:{x:1,y:1},rotation:0,offset:{x:0,y:0},draggable:!1},this.setDefaultAttrs(this.defaultNodeAttrs),this.eventListeners={},this.transAnim=new Kinetic.Animation,this.setAttrs(a),this.on("draggableChange.kinetic",function(){this._onDraggableChange()});var b=this;this.on("idChange.kinetic",function(a){var c=b.getStage();c&&(c._removeId(a.oldVal),c._addId(b))}),this.on("nameChange.kinetic",function(a){var c=b.getStage();c&&(c._removeName(a.oldVal,b._id),c._addName(b))}),this._onDraggableChange()},on:function(a,b){var c=a.split(" ");for(var d=0;d1?g[1]:"";this.eventListeners[h]||(this.eventListeners[h]=[]),this.eventListeners[h].push({name:i,handler:b})}},off:function(a){var b=a.split(" ");for(var c=0;c1)if(g)this.eventListeners[g]&&this._off(g,f[1]);else for(var d in this.eventListeners)this._off(d,f[1]);else delete this.eventListeners[g]}},remove:function(){var a=this.getParent();if(a&&this.index!==undefined&&a.children[this.index]._id==this._id){var b=a.getStage();b&&(b._removeId(this.getId()),b._removeName(this.getName(),this._id)),Kinetic.Global._removeTempNode(this),a.children.splice(this.index,1),a._setChildrenIndices();while(this.children&&this.children.length>0)this.children[0].remove()}},getAttrs:function(){return this.attrs},setDefaultAttrs:function(a){this.attrs===undefined&&(this.attrs={});if(a)for(var b in a)this.attrs[b]===undefined&&(this.attrs[b]=a[b])},setAttrs:function(a){if(a)for(var b in a){var c="set"+b.charAt(0).toUpperCase()+b.slice(1);Kinetic.Type._isFunction(this[c])?this[c](a[b]):this.setAttr(b,a[b])}},isVisible:function(){return this.attrs.visible&&this.getParent()&&!this.getParent().isVisible()?!1:this.attrs.visible},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},getZIndex:function(){return this.index},getAbsoluteZIndex:function(){function e(b){var f=[];for(var g=0;g0&&f[0].getLevel()<=a&&e(f)}var a=this.getLevel(),b=this.getStage(),c=this,d=0;return c.nodeType!=="Stage"&&e(c.getStage().getChildren()),d},getLevel:function(){var a=0,b=this.parent;while(b)a++,b=b.parent;return a},setPosition:function(){var a=Kinetic.Type._getXY([].slice.call(arguments));this.setAttr("x",a.x),this.setAttr("y",a.y)},getPosition:function(){return{x:this.attrs.x,y:this.attrs.y}},getAbsolutePosition:function(){var a=this.getAbsoluteTransform(),b=this.getOffset();return a.translate(b.x,b.y),a.getTranslation()},setAbsolutePosition:function(){var a=Kinetic.Type._getXY([].slice.call(arguments)),b=this._clearTransform();this.attrs.x=b.x,this.attrs.y=b.y,delete b.x,delete b.y;var c=this.getAbsoluteTransform();c.invert(),c.translate(a.x,a.y),a={x:this.attrs.x+c.getTranslation().x,y:this.attrs.y+c.getTranslation().y},this.setPosition(a.x,a.y),this._setTransform(b)},move:function(){var a=Kinetic.Type._getXY([].slice.call(arguments)),b=this.getX(),c=this.getY();a.x!==undefined&&(b+=a.x),a.y!==undefined&&(c+=a.y),this.setPosition(b,c)},getRotationDeg:function(){return this.getRotation()*180/Math.PI},setRotationDeg:function(a){this.setRotation(a*Math.PI/180)},rotate:function(a){this.setRotation(this.getRotation()+a)},rotateDeg:function(a){this.setRotation(this.getRotation()+a*Math.PI/180)},moveToTop:function(){var a=this.index;return this.parent.children.splice(a,1),this.parent.children.push(this),this.parent._setChildrenIndices(),!0},moveUp:function(){var a=this.index;if(a0)return this.parent.children.splice(a,1),this.parent.children.splice(a-1,0,this),this.parent._setChildrenIndices(),!0},moveToBottom:function(){var a=this.index;if(a>0)return this.parent.children.splice(a,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0},setZIndex:function(a){var b=this.index;this.parent.children.splice(b,1),this.parent.children.splice(a,0,this),this.parent._setChildrenIndices()},getAbsoluteOpacity:function(){var a=this.getOpacity();return this.getParent()&&(a*=this.getParent().getAbsoluteOpacity()),a},isDragging:function(){var a=Kinetic.Global;return a.drag.node&&a.drag.node._id===this._id&&a.drag.moving},moveTo:function(a){var b=this.parent;b.children.splice(this.index,1),b._setChildrenIndices(),a.children.push(this),this.index=a.children.length-1,this.parent=a,a._setChildrenIndices()},toObject:function(){var a={},b=Kinetic.Type;a.attrs={};for(var c in this.attrs){var d=this.attrs[c];!b._isFunction(d)&&!b._isElement(d)&&(!b._isObject(d)||!b._hasMethods(d))&&(a.attrs[c]=d)}return a.nodeType=this.nodeType,a.shapeType=this.shapeType,a},toJSON:function(){return JSON.stringify(this.toObject())},getParent:function(){return this.parent},getLayer:function(){return this.getParent().getLayer()},getStage:function(){return this.getParent()?this.getParent().getStage():undefined},simulate:function(a){this._handleEvent(a,{})},transitionTo:function(a){var b=this.nodeType==="Stage"?this:this.getLayer(),c=this,d=new Kinetic.Transition(this,a);return this.transAnim.func=function(){d._onEnterFrame()},this.transAnim.node=b,d.onFinished=function(){c.transAnim.stop(),c.transAnim.node.draw(),a.callback&&a.callback()},d.start(),this.transAnim.start(),d},getAbsoluteTransform:function(){var a=new Kinetic.Transform,b=[],c=this.parent;b.unshift(this);while(c)b.unshift(c),c=c.parent;for(var d=0;d=0&&!b.cancelBubble&&this.parent&&(c&&c.parent?this._handleEvent.call(this.parent,a,b,c.parent):this._handleEvent.call(this.parent,a,b))}},_shouldDraw:function(a){return this.isVisible()&&(!a||a.name!=="buffer"||this.getListening())}},Kinetic.Node.addSetters=function(constructor,a){for(var b=0;b0)this.children[0].remove()},add:function(a){a._id=Kinetic.Global.idCounter++,a.index=this.children.length,a.parent=this,this.children.push(a);var b=a.getStage();if(!b)Kinetic.Global._addTempNode(a);else{b._addId(a),b._addName(a);var c=Kinetic.Global;c._pullNodes(b)}return this},get:function(a){var b=new Kinetic.Collection;if(a.charAt(0)==="#"){var c=this._getNodeById(a.slice(1));c&&b.push(c)}else if(a.charAt(0)==="."){var d=this._getNodesByName(a.slice(1));Kinetic.Collection.apply(b,d)}else{var e=[],f=this.getChildren();for(var g=0;g=0;d--){var e=c[d];if(e.isVisible()&&e.isListening()){var f=e.bufferCanvas.context.getImageData(Math.round(a.x),Math.round(a.y),1,1).data;if(f[3]===255){var g=Kinetic.Type._rgbToHex(f[0],f[1],f[2]);return b=Kinetic.Global.shapes[g],{shape:b,pixel:f}}if(f[0]>0||f[1]>0||f[2]>0||f[3]>0)return{pixel:f}}}return null},_getNodeById:function(a){return this.ids[a]||null},_getNodesByName:function(a){return this.names[a]||[]},_resizeDOM:function(){if(this.content){var a=this.attrs.width,b=this.attrs.height;this.content.style.width=a+"px",this.content.style.height=b+"px",this.bufferCanvas.setSize(a,b);var c=this.children;for(var d=0;d0},remove:function(){Kinetic.Node.prototype.remove.call(this),delete Kinetic.Global.shapes[this.colorKey]},draw:function(a){if(this.attrs.drawFunc&&Kinetic.Node.prototype._shouldDraw.call(this,a)){var b=this.getStage(),c=a.getContext(),d=[],e=this.parent;d.unshift(this);while(e)d.unshift(e),e=e.parent;c.save();for(var f=0;f0&&d&&(this.attrs.height==="auto"||e*(c+1)this.attrs.width-this.attrs.padding*2){if(f==0)break;var i=h.lastIndexOf(" "),j=h.lastIndexOf("-"),k=Math.max(i,j);if(k>=0){g=a.splice(0,1+k).join("");break}g=a.splice(0,f).join("");break}f++,f===a.length&&(g=a.splice(0,f).join(""))}this.textWidth=Math.max(this.textWidth,this._getTextSize(g).width),g!==undefined&&(b.push(g),d=!0),c++}this.textArr=b}},Kinetic.Global.extend(Kinetic.Text,Kinetic.Shape),Kinetic.Node.addGettersSetters(Kinetic.Text,["fontFamily","fontSize","fontStyle","textFill","textStroke","textStrokeWidth","padding","align","lineHeight"]),Kinetic.Node.addGetters(Kinetic.Text,["text"]),Kinetic.Line=function(a){this._initLine(a)},Kinetic.Line.prototype={_initLine:function(a){this.setDefaultAttrs({points:[],lineCap:"butt",dashArray:[],detectionType:"pixel"}),this.shapeType="Line",a.drawFunc=this.drawFunc,Kinetic.Shape.call(this,a)},drawFunc:function(a){var b={};a.beginPath(),a.moveTo(this.attrs.points[0].x,this.attrs.points[0].y);for(var c=1;c0){var f=this.attrs.points[c-1].x,g=this.attrs.points[c-1].y;this._dashedLine(a,f,g,d,e,this.attrs.dashArray)}else a.lineTo(d,e)}this.stroke(a)},setPoints:function(a){this.setAttr("points",Kinetic.Type._getPoints(a))},_dashedLine:function(a,b,c,d,e,f){var g=f.length,h=d-b,i=e-c,j=h>i,k=j?i/h:h/i;k>9999?k=9999:k<-9999&&(k=-9999);var l=Math.sqrt(h*h+i*i),m=0,n=!0;while(l>=.1&&m<1e4){var o=f[m++%g];o===0&&(o=.001),o>l&&(o=l);var p=Math.sqrt(o*o/(1+k*k));j?(b+=h<0&&i<0?p*-1:p,c+=h<0&&i<0?k*p*-1:k*p):(b+=h<0&&i<0?k*p*-1:k*p,c+=h<0&&i<0?p*-1:p),a[n?"lineTo":"moveTo"](b,c),l-=o,n=!n}a.moveTo(d,e)}},Kinetic.Global.extend(Kinetic.Line,Kinetic.Shape),Kinetic.Node.addGettersSetters(Kinetic.Line,["dashArray"]),Kinetic.Node.addGetters(Kinetic.Line,["points"]),Kinetic.Sprite=function(a){this._initSprite(a)},Kinetic.Sprite.prototype={_initSprite:function(a){this.setDefaultAttrs({index:0,frameRate:17}),a.drawFunc=this.drawFunc,Kinetic.Shape.call(this,a),this.anim=new Kinetic.Animation;var b=this;this.on("animationChange.kinetic",function(){b.setIndex(0)})},drawFunc:function(a){var b=this.attrs.animation,c=this.attrs.index,d=this.attrs.animations[b][c];a.beginPath(),a.rect(0,0,d.width,d.height),a.closePath(),this.fill(a),this.stroke(a),this.attrs.image&&(a.beginPath(),a.rect(0,0,d.width,d.height),a.closePath(),this.drawImage(a,this.attrs.image,d.x,d.y,d.width,d.height,0,0,d.width,d.height))},start:function(){var a=this,b=this.getLayer();this.anim.node=b,this.interval=setInterval(function(){var b=a.attrs.index;a._updateIndex(),a.afterFrameFunc&&b===a.afterFrameIndex&&(a.afterFrameFunc(),delete a.afterFrameFunc,delete a.afterFrameIndex)},1e3/this.attrs.frameRate),this.anim.start()},stop:function(){this.anim.stop(),clearInterval(this.interval)},afterFrame:function(a,b){this.afterFrameIndex=a,this.afterFrameFunc=b},_updateIndex:function(){var a=this.attrs.index,b=this.attrs.animation;ai?h:i,o=h>i?1:h/i,p=h>i?i/h:1;a.translate(f,g),a.rotate(l),a.scale(o,p),a.arc(0,0,n,j,j+k,1-m),a.scale(1/o,1/p),a.rotate(-l),a.translate(-f,-g);break;case"z":a.closePath()}}this.fill(a),this.stroke(a)}},Kinetic.Global.extend(Kinetic.Path,Kinetic.Shape),Kinetic.Path.getLineLength=function(a,b,c,d){return Math.sqrt((c-a)*(c-a)+(d-b)*(d-b))},Kinetic.Path.getPointOnLine=function(a,b,c,d,e,f,g){f===undefined&&(f=b),g===undefined&&(g=c);var h=(e-c)/(d-b+1e-8),i=Math.sqrt(a*a/(1+h*h));d0&&k[0]===""&&k.shift();for(var l=0;l0){if(isNaN(k[0]))break;var m=null,n=[],o=g,p=h;switch(j){case"l":g+=k.shift(),h+=k.shift(),m="L",n.push(g,h);break;case"L":g=k.shift(),h=k.shift(),n.push(g,h);break;case"m":g+=k.shift(),h+=k.shift(),m="M",n.push(g,h),j="l";break;case"M":g=k.shift(),h=k.shift(),m="M",n.push(g,h),j="L";break;case"h":g+=k.shift(),m="L",n.push(g,h);break;case"H":g=k.shift(),m="L",n.push(g,h);break;case"v":h+=k.shift(),m="L",n.push(g,h);break;case"V":h=k.shift(),m="L",n.push(g,h);break;case"C":n.push(k.shift(),k.shift(),k.shift(),k.shift()),g=k.shift(),h=k.shift(),n.push(g,h);break;case"c":n.push(g+k.shift(),h+k.shift(),g+k.shift(),h+k.shift()),g+=k.shift(),h+=k.shift(),m="C",n.push(g,h);break;case"S":var q=g,r=h,s=f[f.length-1];s.command==="C"&&(q=g+(g-s.points[2]),r=h+(h-s.points[3])),n.push(q,r,k.shift(),k.shift()),g=k.shift(),h=k.shift(),m="C",n.push(g,h);break;case"s":var q=g,r=h,s=f[f.length-1];s.command==="C"&&(q=g+(g-s.points[2]),r=h+(h-s.points[3])),n.push(q,r,g+k.shift(),h+k.shift()),g+=k.shift(),h+=k.shift(),m="C",n.push(g,h);break;case"Q":n.push(k.shift(),k.shift()),g=k.shift(),h=k.shift(),n.push(g,h);break;case"q":n.push(g+k.shift(),h+k.shift()),g+=k.shift(),h+=k.shift(),m="Q",n.push(g,h);break;case"T":var q=g,r=h,s=f[f.length-1];s.command==="Q"&&(q=g+(g-s.points[0]),r=h+(h-s.points[1])),g=k.shift(),h=k.shift(),m="Q",n.push(q,r,g,h);break;case"t":var q=g,r=h,s=f[f.length-1];s.command==="Q"&&(q=g+(g-s.points[0]),r=h+(h-s.points[1])),g+=k.shift(),h+=k.shift(),m="Q",n.push(q,r,g,h);break;case"A":var t=k.shift(),u=k.shift(),v=k.shift(),w=k.shift(),x=k.shift(),y=g,z=h;g=k.shift(),h=k.shift(),m="A",n=this.convertEndpointToCenterParameterization(y,z,g,h,w,x,t,u,v);break;case"a":var t=k.shift(),u=k.shift(),v=k.shift(),w=k.shift(),x=k.shift(),y=g,z=h;g+=k.shift(),h+=k.shift(),m="A",n=this.convertEndpointToCenterParameterization(y,z,g,h,w,x,t,u,v)}f.push({command:m||j,points:n,start:{x:o,y:p},pathLength:this.calcLength(o,p,m||j,n)})}(j==="z"||j==="Z")&&f.push({command:"z",points:[],start:undefined,pathLength:0})}return f},Kinetic.Path.calcLength=function(a,b,c,d){var e,f,g,h=Kinetic.Path;switch(c){case"L":return h.getLineLength(a,b,d[0],d[1]);case"C":e=0,f=h.getPointOnCubicBezier(0,a,b,d[0],d[1],d[2],d[3],d[4],d[5]);for(t=.01;t<=1;t+=.01)g=h.getPointOnCubicBezier(t,a,b,d[0],d[1],d[2],d[3],d[4],d[5]),e+=h.getLineLength(f.x,f.y,g.x,g.y),f=g;return e;case"Q":e=0,f=h.getPointOnQuadraticBezier(0,a,b,d[0],d[1],d[2],d[3]);for(t=.01;t<=1;t+=.01)g=h.getPointOnQuadraticBezier(t,a,b,d[0],d[1],d[2],d[3]),e+=h.getLineLength(f.x,f.y,g.x,g.y),f=g;return e;case"A":e=0;var i=d[4],j=d[5],k=d[4]+j,l=Math.PI/180;Math.abs(i-k)k;t-=l)g=h.getPointOnEllipticalArc(d[0],d[1],d[2],d[3],t,0),e+=h.getLineLength(f.x,f.y,g.x,g.y),f=g;else for(t=i+l;t1&&(g*=Math.sqrt(m),h*=Math.sqrt(m));var n=Math.sqrt((g*g*h*h-g*g*l*l-h*h*k*k)/(g*g*l*l+h*h*k*k));e==f&&(n*=-1),isNaN(n)&&(n=0);var o=n*g*l/h,p=n*-h*k/g,q=(a+c)/2+Math.cos(j)*o-Math.sin(j)*p,r=(b+d)/2+Math.sin(j)*o+Math.cos(j)*p,s=function(a){return Math.sqrt(a[0]*a[0]+a[1]*a[1])},t=function(a,b){return(a[0]*b[0]+a[1]*b[1])/(s(a)*s(b))},u=function(a,b){return(a[0]*b[1]=1&&(y=0),f===0&&y>0&&(y-=2*Math.PI),f==1&&y<0&&(y+=2*Math.PI),[q,r,g,h,v,y,j,f]},Kinetic.Node.addGettersSetters(Kinetic.Path,["data"]),Kinetic.TextPath=function(a){this._initTextPath(a)},Kinetic.TextPath.prototype={_initTextPath:function(a){this.setDefaultAttrs({fontFamily:"Calibri",fontSize:12,fontStyle -:"normal",detectionType:"path",text:""}),this.dummyCanvas=document.createElement("canvas"),this.shapeType="TextPath",this.dataArray=[];var b=this;a.drawFunc=this.drawFunc,Kinetic.Shape.call(this,a),this.dataArray=Kinetic.Path.parsePathData(this.attrs.data),this.on("dataChange",function(){b.dataArray=Kinetic.Path.parsePathData(this.attrs.data)});var c=["text","textStroke","textStrokeWidth"];for(var d=0;d0)return g=c,b[c];b[c].command=="M"&&(d={x:b[c].points[0],y:b[c].points[1]})}return{}},j=function(b,c){var g=a._getTextSize(b).width,j=0,k=0,l=!1;e=undefined;while(Math.abs(g-j)/g>.01&&k<25){k++;var m=j;while(f===undefined)f=i(),f&&m+f.pathLengthg?e=Kinetic.Path.getPointOnLine(g,d.x,d.y,f.points[0],f.points[1],d.x,d.y):f=undefined;break;case"A":var o=f.points[4],p=f.points[5],q=f.points[4]+p;h===0?h=o+1e-8:g>j?h+=Math.PI/180*p/Math.abs(p):h-=Math.PI/360*p/Math.abs(p),Math.abs(h)>Math.abs(q)&&(h=q,n=!0),e=Kinetic.Path.getPointOnEllipticalArc(f.points[0],f.points[1],f.points[2],f.points[3],h,f.points[6]);break;case"C":h===0?g>f.pathLength?h=1e-8:h=g/f.pathLength:g>j?h+=(g-j)/f.pathLength:h-=(j-g)/f.pathLength,h>1&&(h=1,n=!0),e=Kinetic.Path.getPointOnCubicBezier(h,f.start.x,f.start.y,f.points[0],f.points[1],f.points[2],f.points[3],f.points[4],f.points[5]);break;case"Q":h===0?h=g/f.pathLength:g>j?h+=(g-j)/f.pathLength:h-=(j-g)/f.pathLength,h>1&&(h=1,n=!0),e=Kinetic.Path.getPointOnQuadraticBezier(h,f.start.x,f.start.y,f.points[0],f.points[1],f.points[2],f.points[3])}e!==undefined&&(j=Kinetic.Path.getLineLength(d.x,d.y,e.x,e.y)),n&&(n=!1,f=undefined)}};for(var k=0;kg.start.column)break;m+=l[p].value.length}if(!n||o<0&&n.type!=="comment"&&(n.type!=="string"||g.start.column!==n.value.length+m-1&&n.value.lastIndexOf(f)===n.value.length-1))return{text:f+f,selection:[1,1]};if(n&&n.type==="string"){var q=j.substring(i.column,i.column+1);if(q==f)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(a,b,c,d,e){var f=d.doc.getTextRange(e);if(!e.isMultiLine()&&(f=='"'||f=="'")){var g=d.doc.getLine(e.start.row),h=g.substring(e.start.column+1,e.start.column+2);if(h=='"')return e.end.column++,e}})};d.inherits(f,e),b.CstyleBehaviour=f}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(a,b,c){var d=a("../../lib/oop"),e=a("../../range").Range,f=a("./fold_mode").FoldMode,g=b.FoldMode=function(){};d.inherits(g,f),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(a,b,c){var d=a.getLine(c),f=d.match(this.foldingStartMarker);if(f){var g=f.index;if(f[1])return this.openingBracketBlock(a,f[1],c,g);var h=a.getCommentFoldRange(c,g+f[0].length);return h.end.column-=2,h}if(b!=="markbeginend")return;var f=d.match(this.foldingStopMarker);if(f){var g=f.index+f[0].length;if(f[2]){var h=a.getCommentFoldRange(c,g);return h.end.column-=2,h}var i={row:c,column:g},j=a.$findOpeningBracket(f[1],i);if(!j)return;return j.column++,i.column--,e.fromPoints(j,i)}}}.call(g.prototype)}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(a,b,c){var d=a("../../range").Range,e=b.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(a,b,c){var d=a.getLine(c);return this.foldingStartMarker.test(d)?"start":b=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(d)?"end":""},this.getFoldWidgetRange=function(a,b,c){return null},this.indentationBlock=function(a,b,c){var e=/\S/,f=a.getLine(b),g=f.search(e);if(g==-1)return;var h=c||f.length,i=a.getLength(),j=b,k=b;while(++bj){var m=a.getLine(k).length;return new d(j,h,k,m)}},this.openingBracketBlock=function(a,b,c,e,f){var g={row:c,column:e+1},h=a.$findClosingBracket(b,g,f);if(!h)return;var i=a.foldWidgets[h.row];return i==null&&(i=this.getFoldWidget(a,h.row)),i=="start"&&h.row>g.row&&(h.row--,h.column=a.getLine(h.row).length),d.fromPoints(g,h)}}).call(e.prototype)}) \ No newline at end of file diff --git a/tools/hexgl/libs/Editor_files/pooled.js b/tools/hexgl/libs/Editor_files/pooled.js deleted file mode 100644 index a5a51e6..0000000 --- a/tools/hexgl/libs/Editor_files/pooled.js +++ /dev/null @@ -1,542 +0,0 @@ -/** - * gamecore.js - Copyright 2012 Playcraft Labs, Inc. (see licence.txt) - * pool.js - */ - -/** - * @class gamecore.Pool - * Easy (high-performance) object pooling - * - * A pool of objects for use in situations where you want to minimize object life cycling (and - * subsequently garbage collection). It also serves as a very high speed, minimal overhead - * collection for small numbers of objects. - *

    - * This class maintains mutual an array of objects which are free. If you wish to maintain a list of both - * free and used then see the gamecore.DualPool. - *

    - * Pools are managed by class type, and will auto-expand as required. You can create a custom initial pool - * size by deriving from the Pool class and statically overriding INITIAL_POOL_SIZE. - *

    - * Keep in mind that objects that are pooled are not constructed; they are "reset" when handed out. - * You need to "acquire" one and then reset its state, usually via a static create factory method. - *

    - * Example: - * - * Point = gamecore.Pooled('Point', - * { - * // Static constructor - * create:function (x, y) - * { - * var n = this._super(); - * n.x = x; - * n.y = y; - * return n; - * } - * }, - * { - * x:0, y:0, // instance - * - * init: function(x, y) - * { - * this.x = x; - * this.y = y; - * } - * } - * - * To then access the object from the pool, use create, instead of new. Then release it. - * - * var p = Point.create(100, 100); - * // ... do something - * p.release(); - * - * - */ - -gamecore.Pool = gamecore.Base.extend('gamecore.Pool', - { - INITIAL_POOL_SIZE:1, - - pools:new gamecore.Hashtable(), // all your pools belong to us - totalPooled:0, - totalUsed:0, - - /** - * Acquire an object from a pool based on the class[name]. Typically this method is - * automatically called from - * @param classType Class of object to create - */ - acquire:function (classType) - { - var pool = this.getPool(classType); - if (pool == undefined || pool == null) - { - // create a pool for this type of class - //this.info('Constructing a new pool for ' + classType.fullName + ' objects.'); - pool = new gamecore.Pool(classType, this.INITIAL_POOL_SIZE); - this.pools.put(classType.fullName, pool); - } - - return pool.acquire(); - }, - - /** - * Releases an object back into it's corresponding object pool - * @param pooledObj Object to return to the pool - */ - release:function (pooledObj) - { - var pool = this.pools.get(pooledObj.Class.fullName); - if (pool == undefined) - throw "Oops, trying to release an object of type " + pooledObj.Class.fullName + - " but no pool exists. Did you new an object instead of using create."; - - pool.release(pooledObj); - }, - - /** - * Returns the pool associated with the given classType, or null if no pool currently exists - */ - getPool:function (classType) - { - return this.pools.get(classType.fullName); - }, - - getStats:function () - { - var s = ''; - - var keys = this.pools.keys(); - for (var i = 0; i < keys.length; i++) - { - var key = keys[i]; - var pool = this.pools.get(key); - s += key + ': ' + pool.getStats() + '\n'; - } - - return s; - } - - }, - { - freeList:null, - expansion: 1, - traces: null, - - /** - * Constructs a pool using a base of objects passed in as an array. - * @param classType Class name of the type of objects in the pool - * @param initial Starting number of objects in the pool - */ - init:function (classType, initial) - { - this._super(); - this.classType = classType; - this.freeList = []; - - // instantiate the initial objects for the pool - this.expand(initial); - }, - - - startTracing:function () - { - if (this.tracing) return; - this.tracing = true; - if (this.traces) - this.traces.clear(); - else - this.traces = new gamecore.Hashtable(); - }, - - stopTracing:function () - { - this.tracing = false; - }, - - /** - * Expand the pool of objects by constructing a bunch of new ones. The pool will - * automatically expand itself by 10% each time it runs out of space, so generally you - * shouldn't need to use this. - * @param howMany Number of new objects you want to add - */ - expand:function (howMany) - { - gamecore.Pool.totalPooled += howMany; - - //debug: if you want to track expansion - //this.debug('expanding ' + this.classType.fullName + ' by ' + howMany + ' total=' + gamecore.Pool.totalPooled); - - for (var i = 0; i < howMany; i++) - this.freeList.push(new this.classType()); - }, - - getFreeCount: function() - { - return this.freeList.length; - }, - - /** - * Returns the next free object by moving it from the free pool to the used - * one. If no free objects are available it returns the oldest from the used - * pool. - * access to the object - */ - acquire:function () - { - // check if we have anymore to give out - if (this.freeList.length <= 0) - { - // create some more space (expand by 20%, minimum 1) - this.expansion = Math.round(this.expansion*1.2)+1; - this.expand(this.expansion); - } - - if (this.tracing) - { - var stack = printStackTrace(); - var pos = stack.length - 1; - while (stack[pos].indexOf('Class.addTo') == 0 && pos > 0) - pos--; - var count = this.traces.get(stack[pos]); - if (count == null) - this.traces.put(stack[pos], { value:1 }); - else - count.value++; - } - - return this.freeList.pop(); - }, - - /** - * Releases an object by moving it from the used list back to the free list. - * @param obj {pc.Base} The obj to release back into the pool - */ - release:function (obj) - { - this.freeList.push(obj); - }, - - getStats:function () - { - var s = this.Class.fullName + ' stats: ' + this.freeList.length + ' free.\n'; - - if (this.tracing) - { - s += 'TRACING\n'; - var traceKeys = this.traces.keys(); - for (var k in traceKeys) - s += traceKeys[k] + ' (' + this.traces.get(traceKeys[k]).value + ')\n'; - } - return s; - }, - - dump:function (msg) - { - this.info('================== ' + msg + ' ==================='); - this.info('FREE'); - this.freeList.dump(); - }, - - /** - * Returns the number of objects in the pool - */ - size:function () - { - return this.freeList.length; - }, - - /** - * Returns the LinkedList of currently free objects in the pool - */ - getFreeList:function () - { - return this.freeList; - } - - }); - -/** - * @class gamecore.DualPool - * Easy (high-performance) object pooling - * - * A pool of objects for use in situations where you want to minimize object life cycling (and - * subsequently garbage collection). It also serves as a very high speed, minimal overhead - * collection for small numbers of objects. - *

    - * This class maintains mutual set of doubly-linked lists in order to differentiate between - * objects that are in use and those that are unallocated from the pool. This allows for much - * faster cycling of only the in-use objects. - *

    - * Pools are managed by class type, and will auto-expand as required. You can create a custom initial pool - * size by deriving from the Pool class and statically overriding INITIAL_POOL_SIZE. - *

    - * Keep in mind that objects that are pooled are not constructed; they are "reset" when handed out. - * You need to "acquire" one and then reset its state, usually via a static create factory method. - *

    - * Example: - * - * Point = gamecore.Pooled('Point', - * { - * // Static constructor - * create:function (x, y) - * { - * var n = this._super(); - * n.x = x; - * n.y = y; - * return n; - * } - * }, - * { - * x:0, y:0, // instance - * - * init: function(x, y) - * { - * this.x = x; - * this.y = y; - * } - * } - * - * To then access the object from the pool, use create, instead of new. Then release it. - * - * var p = Point.create(100, 100); - * // ... do something - * p.release(); - * - * - */ - -gamecore.DualPool = gamecore.Pool.extend('gamecore.DualPool', - { - acquire:function (classType) - { - var pool = this.getPool(classType); - if (pool == undefined || pool == null) - { - pool = new gamecore.DualPool(classType, this.INITIAL_POOL_SIZE); - this.pools.put(classType.fullName, pool); - } - - return pool.acquire(); - }, - - getStats:function () - { - var s = ''; - - var keys = this.pools.keys(); - for (var i = 0; i < keys.length; i++) - { - var key = keys[i]; - var pool = this.pools.get(key); - s += key + ' (free: ' + pool.freeList.length() + ' used: ' + pool.usedList.length() + ')\n'; - } - return s; - } - }, - /// - /// INSTANCE - /// - { - freeList:null, - usedList:null, - - /** - * Constructs a pool using a base of objects passed in as an array. - * @param classType Class name of the type of objects in the pool - * @param initial Starting number of objects in the pool - */ - init:function (classType, initial) - { - this.classType = classType; - this.usedList = new gamecore.LinkedList(); - this.freeList = new gamecore.LinkedList(); - - // instantiate the initial objects for the pool - this.expand(initial); - }, - - /** - * Expand the pool of objects by constructing a bunch of new ones. The pool will - * automatically expand itself by 10% each time it runs out of space, so generally you - * shouldn't need to use this. - * @param howMany Number of new objects you want to add - */ - expand:function (howMany) - { -// this.info('Expanding ' + this.classType.fullName + ' pool from ' + this.size() + -// ' to ' + (this.size() + howMany) + ' objects'); - gamecore.Pool.totalPooled += howMany; - for (var i = 0; i < howMany; i++) - this.freeList.add(new this.classType()); - }, - - /** - * Returns the next free object by moving it from the free pool to the used - * one. If no free objects are available it returns the oldest from the used - * pool. - * access to the object - */ - returnObj:null, - - acquire:function () - { - // check if we have anymore to give out - if (this.freeList.first == null) - // create some more space (expand by 20%, minimum 1) - this.expand(Math.round(this.size() / 5) + 1); - - this.returnObj = this.freeList.first.obj; - this.freeList.remove(this.returnObj); - this.returnObj.destroyed = false; - this.usedList.add(this.returnObj); - - if (this.tracing) - { - var stack = printStackTrace(); - var pos = stack.length - 1; - while (stack[pos].indexOf('Class.addTo') == 0 && pos > 0) - pos--; - var count = this.traces.get(stack[pos]); - if (count == null) - this.traces.put(stack[pos], { value:1 }); - else - count.value++; - } - - return this.returnObj; - }, - - /** - * Releases an object by moving it from the used list back to the free list. - * @param obj {pc.Base} The obj to release back into the pool - */ - release:function (obj) - { - this.freeList.add(obj); - this.usedList.remove(obj); - }, - - dump:function (msg) - { - this.info('================== ' + msg + ' ==================='); - this.info('FREE'); - this.freeList.dump(); - this.info('USED'); - this.usedList.dump(); - }, - - /** - * Returns the number of objects in the pool - */ - size:function () - { - return this.freeList.count + this.usedList.count; - }, - - /** - * Returns the LinkedList of current used objects in the pool - * @return {*} - */ - getUsedList:function () - { - return this.usedList; - } - }); - - -/** - * @class gamecore.Pooled - * Used as a base class for objects which are life cycle managed in an object pool. - */ -gamecore.Pooled = gamecore.Base('gamecore.Pooled', - /// - /// STATICS - /// - { - /** - * Static factory method for creating a new object based on its class. This method - * should be called using this._super from the Class.create that derives from this. - * @returns An object from the pool - */ - create:function () - { - return gamecore.Pool.acquire(this); - }, - - getPool:function () - { - return gamecore.Pool.getPool(this); - } - - }, - /// - /// INSTANCE - /// - { - destroyed:false, - - init:function () - { - this._super(); - }, - - release:function () - { - this.onRelease(); - gamecore.Pool.release(this); - }, - - onRelease:function () - { - } - - }); - - -/** - * @class gamecore.DualPooled - * Used as a base class for objects which are life cycle managed in an object pool (the DualPool edition) - */ -gamecore.DualPooled = gamecore.Base('gamecore.DualPooled', - /// - /// STATICS - /// - { - /** - * Static factory method for creating a new object based on its class. This method - * should be called using this._super from the Class.create that derives from this. - * @returns An object from the pool - */ - create:function () - { - return gamecore.DualPool.acquire(this); - }, - - getPool:function () - { - return gamecore.DualPool.getPool(this); - } - - }, - /// - /// INSTANCE - /// - { - destroyed:false, - - init:function () - { - this._super(); - }, - - release:function () - { - this.onRelease(); - gamecore.DualPool.release(this); - }, - - onRelease:function () - { - } - - }); diff --git a/tools/hexgl/libs/Editor_files/theme-monokai.js b/tools/hexgl/libs/Editor_files/theme-monokai.js deleted file mode 100644 index bb4aacc..0000000 --- a/tools/hexgl/libs/Editor_files/theme-monokai.js +++ /dev/null @@ -1 +0,0 @@ -ace.define("ace/theme/monokai",["require","exports","module","ace/lib/dom"],function(a,b,c){b.isDark=!0,b.cssClass="ace-monokai",b.cssText=".ace-monokai .ace_editor { border: 2px solid rgb(159, 159, 159)}.ace-monokai .ace_editor.ace_focus { border: 2px solid #327fbd}.ace-monokai .ace_gutter { background: #2f3129; color: #f1f1f1}.ace-monokai .ace_print_margin { width: 1px; background: #555651}.ace-monokai .ace_scroller { background-color: #272822}.ace-monokai .ace_text-layer { color: #F8F8F2}.ace-monokai .ace_cursor { border-left: 2px solid #F8F8F0}.ace-monokai .ace_cursor.ace_overwrite { border-left: 0px; border-bottom: 1px solid #F8F8F0}.ace-monokai .ace_marker-layer .ace_selection { background: #49483E}.ace-monokai.multiselect .ace_selection.start { box-shadow: 0 0 3px 0px #272822; border-radius: 2px}.ace-monokai .ace_marker-layer .ace_step { background: rgb(102, 82, 0)}.ace-monokai .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #49483E}.ace-monokai .ace_marker-layer .ace_active_line { background: #202020}.ace-monokai .ace_gutter_active_line { background-color: #272727}.ace-monokai .ace_marker-layer .ace_selected_word { border: 1px solid #49483E}.ace-monokai .ace_invisible { color: #49483E}.ace-monokai .ace_entity.ace_name.ace_tag,.ace-monokai .ace_keyword,.ace-monokai .ace_meta,.ace-monokai .ace_storage { color: #F92672}.ace-monokai .ace_constant.ace_character,.ace-monokai .ace_constant.ace_language,.ace-monokai .ace_constant.ace_numeric,.ace-monokai .ace_constant.ace_other { color: #AE81FF}.ace-monokai .ace_invalid { color: #F8F8F0; background-color: #F92672}.ace-monokai .ace_invalid.ace_deprecated { color: #F8F8F0; background-color: #AE81FF}.ace-monokai .ace_support.ace_constant,.ace-monokai .ace_support.ace_function { color: #66D9EF}.ace-monokai .ace_fold { background-color: #A6E22E; border-color: #F8F8F2}.ace-monokai .ace_storage.ace_type,.ace-monokai .ace_support.ace_class,.ace-monokai .ace_support.ace_type { font-style: italic; color: #66D9EF}.ace-monokai .ace_entity.ace_name.ace_function,.ace-monokai .ace_entity.ace_other.ace_attribute-name,.ace-monokai .ace_variable { color: #A6E22E}.ace-monokai .ace_variable.ace_parameter { font-style: italic; color: #FD971F}.ace-monokai .ace_string { color: #E6DB74}.ace-monokai .ace_comment { color: #75715E}.ace-monokai .ace_markup.ace_underline { text-decoration: underline}.ace-monokai .ace_indent-guide { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQ11D6z7Bq1ar/ABCKBG6g04U2AAAAAElFTkSuQmCC) right repeat-y}";var d=a("../lib/dom");d.importCssString(b.cssText,b.cssClass)}) \ No newline at end of file diff --git a/tools/hexgl/libs/ShaderExtras.js b/tools/hexgl/libs/ShaderExtras.js deleted file mode 100644 index 9347840..0000000 --- a/tools/hexgl/libs/ShaderExtras.js +++ /dev/null @@ -1,1788 +0,0 @@ -/** - * @author alteredq / http://alteredqualia.com/ - * @author zz85 / http://www.lab4games.net/zz85/blog - * @author davidedc / http://www.sketchpatch.net/ - * - * ShaderExtras currently contains: - * - * screen - * convolution - * film - * bokeh - * sepia - * dotscreen - * vignette - * bleachbypass - * basic - * dofmipmap - * focus - * triangleBlur - * horizontalBlur + verticalBlur - * horizontalTiltShift + verticalTiltShift - * blend - * fxaa - * luminosity - * colorCorrection - * normalmap - * ssao - * colorify - * unpackDepthRGBA - */ - -THREE.ShaderExtras = { - - /* ------------------------------------------------------------------------- - // Full-screen textured quad shader - ------------------------------------------------------------------------- */ - - 'screen': { - - uniforms: { - - tDiffuse: { type: "t", value: 0, texture: null }, - opacity: { type: "f", value: 1.0 } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform float opacity;", - - "uniform sampler2D tDiffuse;", - - "varying vec2 vUv;", - - "void main() {", - - "vec4 texel = texture2D( tDiffuse, vUv );", - "gl_FragColor = opacity * texel;", - - "}" - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------ - // Convolution shader - // - ported from o3d sample to WebGL / GLSL - // http://o3d.googlecode.com/svn/trunk/samples/convolution.html - ------------------------------------------------------------------------ */ - - 'convolution': { - - uniforms: { - - "tDiffuse" : { type: "t", value: 0, texture: null }, - "uImageIncrement" : { type: "v2", value: new THREE.Vector2( 0.001953125, 0.0 ) }, - "cKernel" : { type: "fv1", value: [] } - - }, - - vertexShader: [ - - //"#define KERNEL_SIZE 25.0", - - "uniform vec2 uImageIncrement;", - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv - ( ( KERNEL_SIZE - 1.0 ) / 2.0 ) * uImageIncrement;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - //"#define KERNEL_SIZE 25", - "uniform float cKernel[ KERNEL_SIZE ];", - - "uniform sampler2D tDiffuse;", - "uniform vec2 uImageIncrement;", - - "varying vec2 vUv;", - - "void main() {", - - "vec2 imageCoord = vUv;", - "vec4 sum = vec4( 0.0, 0.0, 0.0, 0.0 );", - - "for( int i = 0; i < KERNEL_SIZE; i ++ ) {", - - "sum += texture2D( tDiffuse, imageCoord ) * cKernel[ i ];", - "imageCoord += uImageIncrement;", - - "}", - - "gl_FragColor = sum;", - - "}" - - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------- - - // Film grain & scanlines shader - - // - ported from HLSL to WebGL / GLSL - // http://www.truevision3d.com/forums/showcase/staticnoise_colorblackwhite_scanline_shaders-t18698.0.html - - // Screen Space Static Postprocessor - // - // Produces an analogue noise overlay similar to a film grain / TV static - // - // Original implementation and noise algorithm - // Pat 'Hawthorne' Shearon - // - // Optimized scanlines + noise version with intensity scaling - // Georg 'Leviathan' Steinrohder - - // This version is provided under a Creative Commons Attribution 3.0 License - // http://creativecommons.org/licenses/by/3.0/ - ------------------------------------------------------------------------- */ - - 'film': { - - uniforms: { - - tDiffuse: { type: "t", value: 0, texture: null }, - time: { type: "f", value: 0.0 }, - nIntensity: { type: "f", value: 0.5 }, - sIntensity: { type: "f", value: 0.05 }, - sCount: { type: "f", value: 4096 }, - grayscale: { type: "i", value: 1 } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - // control parameter - "uniform float time;", - - "uniform bool grayscale;", - - // noise effect intensity value (0 = no effect, 1 = full effect) - "uniform float nIntensity;", - - // scanlines effect intensity value (0 = no effect, 1 = full effect) - "uniform float sIntensity;", - - // scanlines effect count value (0 = no effect, 4096 = full effect) - "uniform float sCount;", - - "uniform sampler2D tDiffuse;", - - "varying vec2 vUv;", - - "void main() {", - - // sample the source - "vec4 cTextureScreen = texture2D( tDiffuse, vUv );", - - // make some noise - "float x = vUv.x * vUv.y * time * 1000.0;", - "x = mod( x, 13.0 ) * mod( x, 123.0 );", - "float dx = mod( x, 0.01 );", - - // add noise - "vec3 cResult = cTextureScreen.rgb + cTextureScreen.rgb * clamp( 0.1 + dx * 100.0, 0.0, 1.0 );", - - // get us a sine and cosine - "vec2 sc = vec2( sin( vUv.y * sCount ), cos( vUv.y * sCount ) );", - - // add scanlines - "cResult += cTextureScreen.rgb * vec3( sc.x, sc.y, sc.x ) * sIntensity;", - - // interpolate between source and result by intensity - "cResult = cTextureScreen.rgb + clamp( nIntensity, 0.0,1.0 ) * ( cResult - cTextureScreen.rgb );", - - // convert to grayscale if desired - "if( grayscale ) {", - - "cResult = vec3( cResult.r * 0.3 + cResult.g * 0.59 + cResult.b * 0.11 );", - - "}", - - "gl_FragColor = vec4( cResult, cTextureScreen.a );", - - "}" - - ].join("\n") - - }, - - - /* ------------------------------------------------------------------------- - // Depth-of-field shader with bokeh - // ported from GLSL shader by Martins Upitis - // http://artmartinsh.blogspot.com/2010/02/glsl-lens-blur-filter-with-bokeh.html - ------------------------------------------------------------------------- */ - - 'bokeh' : { - - uniforms: { tColor: { type: "t", value: 0, texture: null }, - tDepth: { type: "t", value: 1, texture: null }, - focus: { type: "f", value: 1.0 }, - aspect: { type: "f", value: 1.0 }, - aperture: { type: "f", value: 0.025 }, - maxblur: { type: "f", value: 1.0 } - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "varying vec2 vUv;", - - "uniform sampler2D tColor;", - "uniform sampler2D tDepth;", - - "uniform float maxblur;", // max blur amount - "uniform float aperture;", // aperture - bigger values for shallower depth of field - - "uniform float focus;", - "uniform float aspect;", - - "void main() {", - - "vec2 aspectcorrect = vec2( 1.0, aspect );", - - "vec4 depth1 = texture2D( tDepth, vUv );", - - "float factor = depth1.x - focus;", - - "vec2 dofblur = vec2 ( clamp( factor * aperture, -maxblur, maxblur ) );", - - "vec2 dofblur9 = dofblur * 0.9;", - "vec2 dofblur7 = dofblur * 0.7;", - "vec2 dofblur4 = dofblur * 0.4;", - - "vec4 col = vec4( 0.0 );", - - "col += texture2D( tColor, vUv.xy );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.0, 0.4 ) * aspectcorrect ) * dofblur );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.15, 0.37 ) * aspectcorrect ) * dofblur );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.29, 0.29 ) * aspectcorrect ) * dofblur );", - "col += texture2D( tColor, vUv.xy + ( vec2( -0.37, 0.15 ) * aspectcorrect ) * dofblur );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.40, 0.0 ) * aspectcorrect ) * dofblur );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.37, -0.15 ) * aspectcorrect ) * dofblur );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.29, -0.29 ) * aspectcorrect ) * dofblur );", - "col += texture2D( tColor, vUv.xy + ( vec2( -0.15, -0.37 ) * aspectcorrect ) * dofblur );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.0, -0.4 ) * aspectcorrect ) * dofblur );", - "col += texture2D( tColor, vUv.xy + ( vec2( -0.15, 0.37 ) * aspectcorrect ) * dofblur );", - "col += texture2D( tColor, vUv.xy + ( vec2( -0.29, 0.29 ) * aspectcorrect ) * dofblur );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.37, 0.15 ) * aspectcorrect ) * dofblur );", - "col += texture2D( tColor, vUv.xy + ( vec2( -0.4, 0.0 ) * aspectcorrect ) * dofblur );", - "col += texture2D( tColor, vUv.xy + ( vec2( -0.37, -0.15 ) * aspectcorrect ) * dofblur );", - "col += texture2D( tColor, vUv.xy + ( vec2( -0.29, -0.29 ) * aspectcorrect ) * dofblur );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.15, -0.37 ) * aspectcorrect ) * dofblur );", - - "col += texture2D( tColor, vUv.xy + ( vec2( 0.15, 0.37 ) * aspectcorrect ) * dofblur9 );", - "col += texture2D( tColor, vUv.xy + ( vec2( -0.37, 0.15 ) * aspectcorrect ) * dofblur9 );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.37, -0.15 ) * aspectcorrect ) * dofblur9 );", - "col += texture2D( tColor, vUv.xy + ( vec2( -0.15, -0.37 ) * aspectcorrect ) * dofblur9 );", - "col += texture2D( tColor, vUv.xy + ( vec2( -0.15, 0.37 ) * aspectcorrect ) * dofblur9 );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.37, 0.15 ) * aspectcorrect ) * dofblur9 );", - "col += texture2D( tColor, vUv.xy + ( vec2( -0.37, -0.15 ) * aspectcorrect ) * dofblur9 );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.15, -0.37 ) * aspectcorrect ) * dofblur9 );", - - "col += texture2D( tColor, vUv.xy + ( vec2( 0.29, 0.29 ) * aspectcorrect ) * dofblur7 );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.40, 0.0 ) * aspectcorrect ) * dofblur7 );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.29, -0.29 ) * aspectcorrect ) * dofblur7 );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.0, -0.4 ) * aspectcorrect ) * dofblur7 );", - "col += texture2D( tColor, vUv.xy + ( vec2( -0.29, 0.29 ) * aspectcorrect ) * dofblur7 );", - "col += texture2D( tColor, vUv.xy + ( vec2( -0.4, 0.0 ) * aspectcorrect ) * dofblur7 );", - "col += texture2D( tColor, vUv.xy + ( vec2( -0.29, -0.29 ) * aspectcorrect ) * dofblur7 );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.0, 0.4 ) * aspectcorrect ) * dofblur7 );", - - "col += texture2D( tColor, vUv.xy + ( vec2( 0.29, 0.29 ) * aspectcorrect ) * dofblur4 );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.4, 0.0 ) * aspectcorrect ) * dofblur4 );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.29, -0.29 ) * aspectcorrect ) * dofblur4 );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.0, -0.4 ) * aspectcorrect ) * dofblur4 );", - "col += texture2D( tColor, vUv.xy + ( vec2( -0.29, 0.29 ) * aspectcorrect ) * dofblur4 );", - "col += texture2D( tColor, vUv.xy + ( vec2( -0.4, 0.0 ) * aspectcorrect ) * dofblur4 );", - "col += texture2D( tColor, vUv.xy + ( vec2( -0.29, -0.29 ) * aspectcorrect ) * dofblur4 );", - "col += texture2D( tColor, vUv.xy + ( vec2( 0.0, 0.4 ) * aspectcorrect ) * dofblur4 );", - - "gl_FragColor = col / 41.0;", - "gl_FragColor.a = 1.0;", - - "}" - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------- - // Depth-of-field shader using mipmaps - // - from Matt Handley @applmak - // - requires power-of-2 sized render target with enabled mipmaps - ------------------------------------------------------------------------- */ - - 'dofmipmap': { - - uniforms: { - - tColor: { type: "t", value: 0, texture: null }, - tDepth: { type: "t", value: 1, texture: null }, - focus: { type: "f", value: 1.0 }, - maxblur: { type: "f", value: 1.0 } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform float focus;", - "uniform float maxblur;", - - "uniform sampler2D tColor;", - "uniform sampler2D tDepth;", - - "varying vec2 vUv;", - - "void main() {", - - "vec4 depth = texture2D( tDepth, vUv );", - - "float factor = depth.x - focus;", - - "vec4 col = texture2D( tColor, vUv, 2.0 * maxblur * abs( focus - depth.x ) );", - - "gl_FragColor = col;", - "gl_FragColor.a = 1.0;", - - "}" - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------- - // Sepia tone shader - // - based on glfx.js sepia shader - // https://github.com/evanw/glfx.js - ------------------------------------------------------------------------- */ - - 'sepia': { - - uniforms: { - - tDiffuse: { type: "t", value: 0, texture: null }, - amount: { type: "f", value: 1.0 } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform float amount;", - - "uniform sampler2D tDiffuse;", - - "varying vec2 vUv;", - - "void main() {", - - "vec4 color = texture2D( tDiffuse, vUv );", - "vec3 c = color.rgb;", - - "color.r = dot( c, vec3( 1.0 - 0.607 * amount, 0.769 * amount, 0.189 * amount ) );", - "color.g = dot( c, vec3( 0.349 * amount, 1.0 - 0.314 * amount, 0.168 * amount ) );", - "color.b = dot( c, vec3( 0.272 * amount, 0.534 * amount, 1.0 - 0.869 * amount ) );", - - "gl_FragColor = vec4( min( vec3( 1.0 ), color.rgb ), color.a );", - - "}" - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------- - // Dot screen shader - // - based on glfx.js sepia shader - // https://github.com/evanw/glfx.js - ------------------------------------------------------------------------- */ - - 'dotscreen': { - - uniforms: { - - tDiffuse: { type: "t", value: 0, texture: null }, - tSize: { type: "v2", value: new THREE.Vector2( 256, 256 ) }, - center: { type: "v2", value: new THREE.Vector2( 0.5, 0.5 ) }, - angle: { type: "f", value: 1.57 }, - scale: { type: "f", value: 1.0 } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform vec2 center;", - "uniform float angle;", - "uniform float scale;", - "uniform vec2 tSize;", - - "uniform sampler2D tDiffuse;", - - "varying vec2 vUv;", - - "float pattern() {", - - "float s = sin( angle ), c = cos( angle );", - - "vec2 tex = vUv * tSize - center;", - "vec2 point = vec2( c * tex.x - s * tex.y, s * tex.x + c * tex.y ) * scale;", - - "return ( sin( point.x ) * sin( point.y ) ) * 4.0;", - - "}", - - "void main() {", - - "vec4 color = texture2D( tDiffuse, vUv );", - - "float average = ( color.r + color.g + color.b ) / 3.0;", - - "gl_FragColor = vec4( vec3( average * 10.0 - 5.0 + pattern() ), color.a );", - - "}" - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------------------------------ - // Vignette shader - // - based on PaintEffect postprocess from ro.me - // http://code.google.com/p/3-dreams-of-black/source/browse/deploy/js/effects/PaintEffect.js - ------------------------------------------------------------------------------------------------ */ - - 'vignette': { - - uniforms: { - - tDiffuse: { type: "t", value: 0, texture: null }, - offset: { type: "f", value: 1.0 }, - darkness: { type: "f", value: 1.0 } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform float offset;", - "uniform float darkness;", - - "uniform sampler2D tDiffuse;", - - "varying vec2 vUv;", - - "void main() {", - - // Eskil's vignette - - "vec4 texel = texture2D( tDiffuse, vUv );", - "vec2 uv = ( vUv - vec2( 0.5 ) ) * vec2( offset );", - "gl_FragColor = vec4( mix( texel.rgb, vec3( 1.0 - darkness ), dot( uv, uv ) ), texel.a );", - - /* - // alternative version from glfx.js - // this one makes more "dusty" look (as opposed to "burned") - - "vec4 color = texture2D( tDiffuse, vUv );", - "float dist = distance( vUv, vec2( 0.5 ) );", - "color.rgb *= smoothstep( 0.8, offset * 0.799, dist *( darkness + offset ) );", - "gl_FragColor = color;", - */ - - "}" - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------- - // Bleach bypass shader [http://en.wikipedia.org/wiki/Bleach_bypass] - // - based on Nvidia example - // http://developer.download.nvidia.com/shaderlibrary/webpages/shader_library.html#post_bleach_bypass - ------------------------------------------------------------------------- */ - - 'bleachbypass': { - - uniforms: { - - tDiffuse: { type: "t", value: 0, texture: null }, - opacity: { type: "f", value: 1.0 } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform float opacity;", - - "uniform sampler2D tDiffuse;", - - "varying vec2 vUv;", - - "void main() {", - - "vec4 base = texture2D( tDiffuse, vUv );", - - "vec3 lumCoeff = vec3( 0.25, 0.65, 0.1 );", - "float lum = dot( lumCoeff, base.rgb );", - "vec3 blend = vec3( lum );", - - "float L = min( 1.0, max( 0.0, 10.0 * ( lum - 0.45 ) ) );", - - "vec3 result1 = 2.0 * base.rgb * blend;", - "vec3 result2 = 1.0 - 2.0 * ( 1.0 - blend ) * ( 1.0 - base.rgb );", - - "vec3 newColor = mix( result1, result2, L );", - - "float A2 = opacity * base.a;", - "vec3 mixRGB = A2 * newColor.rgb;", - "mixRGB += ( ( 1.0 - A2 ) * base.rgb );", - - "gl_FragColor = vec4( mixRGB, base.a );", - - "}" - - ].join("\n") - - }, - - /* -------------------------------------------------------------------------------------------------- - // Focus shader - // - based on PaintEffect postprocess from ro.me - // http://code.google.com/p/3-dreams-of-black/source/browse/deploy/js/effects/PaintEffect.js - -------------------------------------------------------------------------------------------------- */ - - 'focus': { - - uniforms : { - - "tDiffuse": { type: "t", value: 0, texture: null }, - "screenWidth": { type: "f", value: 1024 }, - "screenHeight": { type: "f", value: 1024 }, - "sampleDistance": { type: "f", value: 0.94 }, - "waveFactor": { type: "f", value: 0.00125 } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform float screenWidth;", - "uniform float screenHeight;", - "uniform float sampleDistance;", - "uniform float waveFactor;", - - "uniform sampler2D tDiffuse;", - - "varying vec2 vUv;", - - "void main() {", - - "vec4 color, org, tmp, add;", - "float sample_dist, f;", - "vec2 vin;", - "vec2 uv = vUv;", - - "add = color = org = texture2D( tDiffuse, uv );", - - "vin = ( uv - vec2( 0.5 ) ) * vec2( 1.4 );", - "sample_dist = dot( vin, vin ) * 2.0;", - - "f = ( waveFactor * 100.0 + sample_dist ) * sampleDistance * 4.0;", - - "vec2 sampleSize = vec2( 1.0 / screenWidth, 1.0 / screenHeight ) * vec2( f );", - - "add += tmp = texture2D( tDiffuse, uv + vec2( 0.111964, 0.993712 ) * sampleSize );", - "if( tmp.b < color.b ) color = tmp;", - - "add += tmp = texture2D( tDiffuse, uv + vec2( 0.846724, 0.532032 ) * sampleSize );", - "if( tmp.b < color.b ) color = tmp;", - - "add += tmp = texture2D( tDiffuse, uv + vec2( 0.943883, -0.330279 ) * sampleSize );", - "if( tmp.b < color.b ) color = tmp;", - - "add += tmp = texture2D( tDiffuse, uv + vec2( 0.330279, -0.943883 ) * sampleSize );", - "if( tmp.b < color.b ) color = tmp;", - - "add += tmp = texture2D( tDiffuse, uv + vec2( -0.532032, -0.846724 ) * sampleSize );", - "if( tmp.b < color.b ) color = tmp;", - - "add += tmp = texture2D( tDiffuse, uv + vec2( -0.993712, -0.111964 ) * sampleSize );", - "if( tmp.b < color.b ) color = tmp;", - - "add += tmp = texture2D( tDiffuse, uv + vec2( -0.707107, 0.707107 ) * sampleSize );", - "if( tmp.b < color.b ) color = tmp;", - - "color = color * vec4( 2.0 ) - ( add / vec4( 8.0 ) );", - "color = color + ( add / vec4( 8.0 ) - color ) * ( vec4( 1.0 ) - vec4( sample_dist * 0.5 ) );", - - "gl_FragColor = vec4( color.rgb * color.rgb * vec3( 0.95 ) + color.rgb, 1.0 );", - - "}" - - - ].join("\n") - }, - - /* ------------------------------------------------------------------------- - // Triangle blur shader - // - based on glfx.js triangle blur shader - // https://github.com/evanw/glfx.js - - // A basic blur filter, which convolves the image with a - // pyramid filter. The pyramid filter is separable and is applied as two - // perpendicular triangle filters. - ------------------------------------------------------------------------- */ - - 'triangleBlur': { - - - uniforms : { - - "texture": { type: "t", value: 0, texture: null }, - "delta": { type: "v2", value:new THREE.Vector2( 1, 1 ) } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "#define ITERATIONS 10.0", - - "uniform sampler2D texture;", - "uniform vec2 delta;", - - "varying vec2 vUv;", - - "float random( vec3 scale, float seed ) {", - - // use the fragment position for a different seed per-pixel - - "return fract( sin( dot( gl_FragCoord.xyz + seed, scale ) ) * 43758.5453 + seed );", - - "}", - - "void main() {", - - "vec4 color = vec4( 0.0 );", - - "float total = 0.0;", - - // randomize the lookup values to hide the fixed number of samples - - "float offset = random( vec3( 12.9898, 78.233, 151.7182 ), 0.0 );", - - "for ( float t = -ITERATIONS; t <= ITERATIONS; t ++ ) {", - - "float percent = ( t + offset - 0.5 ) / ITERATIONS;", - "float weight = 1.0 - abs( percent );", - - "color += texture2D( texture, vUv + delta * percent ) * weight;", - "total += weight;", - - "}", - - "gl_FragColor = color / total;", - - "}" - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------- - // Simple test shader - ------------------------------------------------------------------------- */ - - 'basic': { - - uniforms: {}, - - vertexShader: [ - - "void main() {", - - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "void main() {", - - "gl_FragColor = vec4( 1.0, 0.0, 0.0, 0.5 );", - - "}" - - ].join("\n") - - }, - - /* -------------------------------------------------------------------------------------------------- - // Two pass Gaussian blur filter (horizontal and vertical blur shaders) - // - described in http://www.gamerendering.com/2008/10/11/gaussian-blur-filter-shader/ - // and used in http://www.cake23.de/traveling-wavefronts-lit-up.html - // - // - 9 samples per pass - // - standard deviation 2.7 - // - "h" and "v" parameters should be set to "1 / width" and "1 / height" - -------------------------------------------------------------------------------------------------- */ - - 'horizontalBlur': { - - uniforms: { - - "tDiffuse": { type: "t", value: 0, texture: null }, - "h": { type: "f", value: 1.0 / 512.0 } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform sampler2D tDiffuse;", - "uniform float h;", - - "varying vec2 vUv;", - - "void main() {", - - "vec4 sum = vec4( 0.0 );", - - "sum += texture2D( tDiffuse, vec2( vUv.x - 4.0 * h, vUv.y ) ) * 0.051;", - "sum += texture2D( tDiffuse, vec2( vUv.x - 3.0 * h, vUv.y ) ) * 0.0918;", - "sum += texture2D( tDiffuse, vec2( vUv.x - 2.0 * h, vUv.y ) ) * 0.12245;", - "sum += texture2D( tDiffuse, vec2( vUv.x - 1.0 * h, vUv.y ) ) * 0.1531;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.1633;", - "sum += texture2D( tDiffuse, vec2( vUv.x + 1.0 * h, vUv.y ) ) * 0.1531;", - "sum += texture2D( tDiffuse, vec2( vUv.x + 2.0 * h, vUv.y ) ) * 0.12245;", - "sum += texture2D( tDiffuse, vec2( vUv.x + 3.0 * h, vUv.y ) ) * 0.0918;", - "sum += texture2D( tDiffuse, vec2( vUv.x + 4.0 * h, vUv.y ) ) * 0.051;", - - "gl_FragColor = sum;", - - "}" - - - ].join("\n") - - }, - - 'verticalBlur': { - - uniforms: { - - "tDiffuse": { type: "t", value: 0, texture: null }, - "v": { type: "f", value: 1.0 / 512.0 } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform sampler2D tDiffuse;", - "uniform float v;", - - "varying vec2 vUv;", - - "void main() {", - - "vec4 sum = vec4( 0.0 );", - - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 4.0 * v ) ) * 0.051;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 3.0 * v ) ) * 0.0918;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 2.0 * v ) ) * 0.12245;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 1.0 * v ) ) * 0.1531;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.1633;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 1.0 * v ) ) * 0.1531;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 2.0 * v ) ) * 0.12245;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 3.0 * v ) ) * 0.0918;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 4.0 * v ) ) * 0.051;", - - "gl_FragColor = sum;", - - "}" - - - ].join("\n") - - }, - - /* -------------------------------------------------------------------------------------------------- - // Simple fake tilt-shift effect, modulating two pass Gaussian blur (see above) by vertical position - // - // - 9 samples per pass - // - standard deviation 2.7 - // - "h" and "v" parameters should be set to "1 / width" and "1 / height" - // - "r" parameter control where "focused" horizontal line lies - -------------------------------------------------------------------------------------------------- */ - - 'horizontalTiltShift': { - - uniforms: { - - "tDiffuse": { type: "t", value: 0, texture: null }, - "h": { type: "f", value: 1.0 / 512.0 }, - "r": { type: "f", value: 0.35 } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform sampler2D tDiffuse;", - "uniform float h;", - "uniform float r;", - - "varying vec2 vUv;", - - "void main() {", - - "vec4 sum = vec4( 0.0 );", - - "float hh = h * abs( r - vUv.y );", - - "sum += texture2D( tDiffuse, vec2( vUv.x - 4.0 * hh, vUv.y ) ) * 0.051;", - "sum += texture2D( tDiffuse, vec2( vUv.x - 3.0 * hh, vUv.y ) ) * 0.0918;", - "sum += texture2D( tDiffuse, vec2( vUv.x - 2.0 * hh, vUv.y ) ) * 0.12245;", - "sum += texture2D( tDiffuse, vec2( vUv.x - 1.0 * hh, vUv.y ) ) * 0.1531;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.1633;", - "sum += texture2D( tDiffuse, vec2( vUv.x + 1.0 * hh, vUv.y ) ) * 0.1531;", - "sum += texture2D( tDiffuse, vec2( vUv.x + 2.0 * hh, vUv.y ) ) * 0.12245;", - "sum += texture2D( tDiffuse, vec2( vUv.x + 3.0 * hh, vUv.y ) ) * 0.0918;", - "sum += texture2D( tDiffuse, vec2( vUv.x + 4.0 * hh, vUv.y ) ) * 0.051;", - - "gl_FragColor = sum;", - - "}" - - - ].join("\n") - - }, - - 'verticalTiltShift': { - - uniforms: { - - "tDiffuse": { type: "t", value: 0, texture: null }, - "v": { type: "f", value: 1.0 / 512.0 }, - "r": { type: "f", value: 0.35 } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform sampler2D tDiffuse;", - "uniform float v;", - "uniform float r;", - - "varying vec2 vUv;", - - "void main() {", - - "vec4 sum = vec4( 0.0 );", - - "float vv = v * abs( r - vUv.y );", - - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 4.0 * vv ) ) * 0.051;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 3.0 * vv ) ) * 0.0918;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 2.0 * vv ) ) * 0.12245;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y - 1.0 * vv ) ) * 0.1531;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y ) ) * 0.1633;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 1.0 * vv ) ) * 0.1531;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 2.0 * vv ) ) * 0.12245;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 3.0 * vv ) ) * 0.0918;", - "sum += texture2D( tDiffuse, vec2( vUv.x, vUv.y + 4.0 * vv ) ) * 0.051;", - - "gl_FragColor = sum;", - - "}" - - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------- - // Blend two textures - ------------------------------------------------------------------------- */ - - 'blend': { - - uniforms: { - - tDiffuse1: { type: "t", value: 0, texture: null }, - tDiffuse2: { type: "t", value: 1, texture: null }, - mixRatio: { type: "f", value: 0.5 }, - opacity: { type: "f", value: 1.0 } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform float opacity;", - "uniform float mixRatio;", - - "uniform sampler2D tDiffuse1;", - "uniform sampler2D tDiffuse2;", - - "varying vec2 vUv;", - - "void main() {", - - "vec4 texel1 = texture2D( tDiffuse1, vUv );", - "vec4 texel2 = texture2D( tDiffuse2, vUv );", - "gl_FragColor = opacity * mix( texel1, texel2, mixRatio );", - - "}" - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------- - // NVIDIA FXAA by Timothy Lottes - // http://timothylottes.blogspot.com/2011/06/fxaa3-source-released.html - // - WebGL port by @supereggbert - // http://www.glge.org/demos/fxaa/ - ------------------------------------------------------------------------- */ - - 'fxaa': { - - uniforms: { - - "tDiffuse": { type: "t", value: 0, texture: null }, - "resolution": { type: "v2", value: new THREE.Vector2( 1 / 1024, 1 / 512 ) } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform sampler2D tDiffuse;", - "uniform vec2 resolution;", - - "varying vec2 vUv;", - - "#define FXAA_REDUCE_MIN (1.0/128.0)", - "#define FXAA_REDUCE_MUL (1.0/8.0)", - "#define FXAA_SPAN_MAX 8.0", - - "void main() {", - - "vec3 rgbNW = texture2D( tDiffuse, ( gl_FragCoord.xy + vec2( -1.0, -1.0 ) ) * resolution ).xyz;", - "vec3 rgbNE = texture2D( tDiffuse, ( gl_FragCoord.xy + vec2( 1.0, -1.0 ) ) * resolution ).xyz;", - "vec3 rgbSW = texture2D( tDiffuse, ( gl_FragCoord.xy + vec2( -1.0, 1.0 ) ) * resolution ).xyz;", - "vec3 rgbSE = texture2D( tDiffuse, ( gl_FragCoord.xy + vec2( 1.0, 1.0 ) ) * resolution ).xyz;", - "vec4 rgbaM = texture2D( tDiffuse, gl_FragCoord.xy * resolution );", - "vec3 rgbM = rgbaM.xyz;", - "float opacity = rgbaM.w;", - - "vec3 luma = vec3( 0.299, 0.587, 0.114 );", - - "float lumaNW = dot( rgbNW, luma );", - "float lumaNE = dot( rgbNE, luma );", - "float lumaSW = dot( rgbSW, luma );", - "float lumaSE = dot( rgbSE, luma );", - "float lumaM = dot( rgbM, luma );", - "float lumaMin = min( lumaM, min( min( lumaNW, lumaNE ), min( lumaSW, lumaSE ) ) );", - "float lumaMax = max( lumaM, max( max( lumaNW, lumaNE) , max( lumaSW, lumaSE ) ) );", - - "vec2 dir;", - "dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));", - "dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));", - - "float dirReduce = max( ( lumaNW + lumaNE + lumaSW + lumaSE ) * ( 0.25 * FXAA_REDUCE_MUL ), FXAA_REDUCE_MIN );", - - "float rcpDirMin = 1.0 / ( min( abs( dir.x ), abs( dir.y ) ) + dirReduce );", - "dir = min( vec2( FXAA_SPAN_MAX, FXAA_SPAN_MAX),", - "max( vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX),", - "dir * rcpDirMin)) * resolution;", - - "vec3 rgbA = 0.5 * (", - "texture2D( tDiffuse, gl_FragCoord.xy * resolution + dir * ( 1.0 / 3.0 - 0.5 ) ).xyz +", - "texture2D( tDiffuse, gl_FragCoord.xy * resolution + dir * ( 2.0 / 3.0 - 0.5 ) ).xyz );", - - "vec3 rgbB = rgbA * 0.5 + 0.25 * (", - "texture2D( tDiffuse, gl_FragCoord.xy * resolution + dir * -0.5 ).xyz +", - "texture2D( tDiffuse, gl_FragCoord.xy * resolution + dir * 0.5 ).xyz );", - - "float lumaB = dot( rgbB, luma );", - - "if ( ( lumaB < lumaMin ) || ( lumaB > lumaMax ) ) {", - - "gl_FragColor = vec4( rgbA, opacity );", - - "} else {", - - "gl_FragColor = vec4( rgbB, opacity );", - - "}", - - "}" - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------- - // Luminosity - // http://en.wikipedia.org/wiki/Luminosity - ------------------------------------------------------------------------- */ - - 'luminosity': { - - uniforms: { - - "tDiffuse": { type: "t", value: 0, texture: null } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform sampler2D tDiffuse;", - - "varying vec2 vUv;", - - "void main() {", - - "vec4 texel = texture2D( tDiffuse, vUv );", - - "vec3 luma = vec3( 0.299, 0.587, 0.114 );", - - "float v = dot( texel.xyz, luma );", - - "gl_FragColor = vec4( v, v, v, texel.w );", - - "}" - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------- - // Color correction - ------------------------------------------------------------------------- */ - - 'colorCorrection': { - - uniforms: { - - "tDiffuse" : { type: "t", value: 0, texture: null }, - "powRGB" : { type: "v3", value: new THREE.Vector3( 2, 2, 2 ) }, - "mulRGB" : { type: "v3", value: new THREE.Vector3( 1, 1, 1 ) } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform sampler2D tDiffuse;", - "uniform vec3 powRGB;", - "uniform vec3 mulRGB;", - - "varying vec2 vUv;", - - "void main() {", - - "gl_FragColor = texture2D( tDiffuse, vUv );", - "gl_FragColor.rgb = mulRGB * pow( gl_FragColor.rgb, powRGB );", - - "}" - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------- - // Normal map shader - // - compute normals from heightmap - ------------------------------------------------------------------------- */ - - 'normalmap': { - - uniforms: { - - "heightMap" : { type: "t", value: 0, texture: null }, - "resolution": { type: "v2", value: new THREE.Vector2( 512, 512 ) }, - "scale" : { type: "v2", value: new THREE.Vector2( 1, 1 ) }, - "height" : { type: "f", value: 0.05 } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform float height;", - "uniform vec2 resolution;", - "uniform sampler2D heightMap;", - - "varying vec2 vUv;", - - "void main() {", - - "float val = texture2D( heightMap, vUv ).x;", - - "float valU = texture2D( heightMap, vUv + vec2( 1.0 / resolution.x, 0.0 ) ).x;", - "float valV = texture2D( heightMap, vUv + vec2( 0.0, 1.0 / resolution.y ) ).x;", - - "gl_FragColor = vec4( ( 0.5 * normalize( vec3( val - valU, val - valV, height ) ) + 0.5 ), 1.0 );", - - "}" - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------- - // Screen-space ambient occlusion shader - // - ported from - // SSAO GLSL shader v1.2 - // assembled by Martins Upitis (martinsh) (http://devlog-martinsh.blogspot.com) - // original technique is made by ArKano22 (http://www.gamedev.net/topic/550699-ssao-no-halo-artifacts/) - // - modifications - // - modified to use RGBA packed depth texture (use clear color 1,1,1,1 for depth pass) - // - made fog more compatible with three.js linear fog - // - refactoring and optimizations - ------------------------------------------------------------------------- */ - - 'ssao': { - - uniforms: { - - "tDiffuse": { type: "t", value: 0, texture: null }, - "tDepth": { type: "t", value: 1, texture: null }, - "size": { type: "v2", value: new THREE.Vector2( 512, 512 ) }, - "cameraNear": { type: "f", value: 1 }, - "cameraFar": { type: "f", value: 100 }, - "fogNear": { type: "f", value: 5 }, - "fogFar": { type: "f", value: 100 }, - "fogEnabled": { type: "i", value: 0 }, - "onlyAO": { type: "i", value: 0 }, - "aoClamp": { type: "f", value: 0.3 }, - "lumInfluence": { type: "f", value: 0.9 } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform float cameraNear;", - "uniform float cameraFar;", - - "uniform float fogNear;", - "uniform float fogFar;", - - "uniform bool fogEnabled;", // attenuate AO with linear fog - "uniform bool onlyAO;", // use only ambient occlusion pass? - - "uniform vec2 size;", // texture width, height - "uniform float aoClamp;", // depth clamp - reduces haloing at screen edges - - "uniform float lumInfluence;", // how much luminance affects occlusion - - "uniform sampler2D tDiffuse;", - "uniform sampler2D tDepth;", - - "varying vec2 vUv;", - - //"#define PI 3.14159265", - "#define DL 2.399963229728653", // PI * ( 3.0 - sqrt( 5.0 ) ) - "#define EULER 2.718281828459045", - - // helpers - - "float width = size.x;", // texture width - "float height = size.y;", // texture height - - "float cameraFarPlusNear = cameraFar + cameraNear;", - "float cameraFarMinusNear = cameraFar - cameraNear;", - "float cameraCoef = 2.0 * cameraNear;", - - // user variables - - "const int samples = 8;", // ao sample count - "const float radius = 5.0;", // ao radius - - "const bool useNoise = true;", // use noise instead of pattern for sample dithering - "const float noiseAmount = 0.0003;", // dithering amount - - "const float diffArea = 0.4;", // self-shadowing reduction - "const float gDisplace = 0.4;", // gauss bell center - - "const vec3 onlyAOColor = vec3( 1.0, 0.7, 0.5 );", - //"const vec3 onlyAOColor = vec3( 1.0, 1.0, 1.0 );", - - - // RGBA depth - - "float unpackDepth( const in vec4 rgba_depth ) {", - - "const vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );", - "float depth = dot( rgba_depth, bit_shift );", - "return depth;", - - "}", - - // generating noise / pattern texture for dithering - - "vec2 rand( const vec2 coord ) {", - - "vec2 noise;", - - "if ( useNoise ) {", - - "float nx = dot ( coord, vec2( 12.9898, 78.233 ) );", - "float ny = dot ( coord, vec2( 12.9898, 78.233 ) * 2.0 );", - - "noise = clamp( fract ( 43758.5453 * sin( vec2( nx, ny ) ) ), 0.0, 1.0 );", - - "} else {", - - "float ff = fract( 1.0 - coord.s * ( width / 2.0 ) );", - "float gg = fract( coord.t * ( height / 2.0 ) );", - - "noise = vec2( 0.25, 0.75 ) * vec2( ff ) + vec2( 0.75, 0.25 ) * gg;", - - "}", - - "return ( noise * 2.0 - 1.0 ) * noiseAmount;", - - "}", - - "float doFog() {", - - "float zdepth = unpackDepth( texture2D( tDepth, vUv ) );", - "float depth = -cameraFar * cameraNear / ( zdepth * cameraFarMinusNear - cameraFar );", - - "return smoothstep( fogNear, fogFar, depth );", - - "}", - - "float readDepth( const in vec2 coord ) {", - - //"return ( 2.0 * cameraNear ) / ( cameraFar + cameraNear - unpackDepth( texture2D( tDepth, coord ) ) * ( cameraFar - cameraNear ) );", - "return cameraCoef / ( cameraFarPlusNear - unpackDepth( texture2D( tDepth, coord ) ) * cameraFarMinusNear );", - - - "}", - - "float compareDepths( const in float depth1, const in float depth2, inout int far ) {", - - "float garea = 2.0;", // gauss bell width - "float diff = ( depth1 - depth2 ) * 100.0;", // depth difference (0-100) - - // reduce left bell width to avoid self-shadowing - - "if ( diff < gDisplace ) {", - - "garea = diffArea;", - - "} else {", - - "far = 1;", - - "}", - - "float dd = diff - gDisplace;", - "float gauss = pow( EULER, -2.0 * dd * dd / ( garea * garea ) );", - "return gauss;", - - "}", - - "float calcAO( float depth, float dw, float dh ) {", - - "float dd = radius - depth * radius;", - "vec2 vv = vec2( dw, dh );", - - "vec2 coord1 = vUv + dd * vv;", - "vec2 coord2 = vUv - dd * vv;", - - "float temp1 = 0.0;", - "float temp2 = 0.0;", - - "int far = 0;", - "temp1 = compareDepths( depth, readDepth( coord1 ), far );", - - // DEPTH EXTRAPOLATION - - "if ( far > 0 ) {", - - "temp2 = compareDepths( readDepth( coord2 ), depth, far );", - "temp1 += ( 1.0 - temp1 ) * temp2;", - - "}", - - "return temp1;", - - "}", - - "void main() {", - - "vec2 noise = rand( vUv );", - "float depth = readDepth( vUv );", - - "float tt = clamp( depth, aoClamp, 1.0 );", - - "float w = ( 1.0 / width ) / tt + ( noise.x * ( 1.0 - noise.x ) );", - "float h = ( 1.0 / height ) / tt + ( noise.y * ( 1.0 - noise.y ) );", - - "float pw;", - "float ph;", - - "float ao;", - - "float dz = 1.0 / float( samples );", - "float z = 1.0 - dz / 2.0;", - "float l = 0.0;", - - "for ( int i = 0; i <= samples; i ++ ) {", - - "float r = sqrt( 1.0 - z );", - - "pw = cos( l ) * r;", - "ph = sin( l ) * r;", - "ao += calcAO( depth, pw * w, ph * h );", - "z = z - dz;", - "l = l + DL;", - - "}", - - "ao /= float( samples );", - "ao = 1.0 - ao;", - - "if ( fogEnabled ) {", - - "ao = mix( ao, 1.0, doFog() );", - - "}", - - "vec3 color = texture2D( tDiffuse, vUv ).rgb;", - - "vec3 lumcoeff = vec3( 0.299, 0.587, 0.114 );", - "float lum = dot( color.rgb, lumcoeff );", - "vec3 luminance = vec3( lum );", - - "vec3 final = vec3( color * mix( vec3( ao ), vec3( 1.0 ), luminance * lumInfluence ) );", // mix( color * ao, white, luminance ) - - "if ( onlyAO ) {", - - "final = onlyAOColor * vec3( mix( vec3( ao ), vec3( 1.0 ), luminance * lumInfluence ) );", // ambient occlusion only - - "}", - - "gl_FragColor = vec4( final, 1.0 );", - - "}" - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------- - // Colorify shader - ------------------------------------------------------------------------- */ - - 'colorify': { - - uniforms: { - - tDiffuse: { type: "t", value: 0, texture: null }, - color: { type: "c", value: new THREE.Color( 0xffffff ) } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform vec3 color;", - "uniform sampler2D tDiffuse;", - - "varying vec2 vUv;", - - "void main() {", - - "vec4 texel = texture2D( tDiffuse, vUv );", - - "vec3 luma = vec3( 0.299, 0.587, 0.114 );", - "float v = dot( texel.xyz, luma );", - - "gl_FragColor = vec4( v * color, texel.w );", - - "}" - - ].join("\n") - - }, - - /* ------------------------------------------------------------------------- - // Unpack RGBA depth shader - // - show RGBA encoded depth as monochrome color - ------------------------------------------------------------------------- */ - - 'unpackDepthRGBA': { - - uniforms: { - - tDiffuse: { type: "t", value: 0, texture: null }, - opacity: { type: "f", value: 1.0 } - - }, - - vertexShader: [ - - "varying vec2 vUv;", - - "void main() {", - - "vUv = uv;", - "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", - - "}" - - ].join("\n"), - - fragmentShader: [ - - "uniform float opacity;", - - "uniform sampler2D tDiffuse;", - - "varying vec2 vUv;", - - // RGBA depth - - "float unpackDepth( const in vec4 rgba_depth ) {", - - "const vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );", - "float depth = dot( rgba_depth, bit_shift );", - "return depth;", - - "}", - - "void main() {", - - "float depth = 1.0 - unpackDepth( texture2D( tDiffuse, vUv ) );", - "gl_FragColor = opacity * vec4( vec3( depth ), 1.0 );", - - "}" - - ].join("\n") - - }, - - // METHODS - - buildKernel: function( sigma ) { - - // We lop off the sqrt(2 * pi) * sigma term, since we're going to normalize anyway. - - function gauss( x, sigma ) { - - return Math.exp( - ( x * x ) / ( 2.0 * sigma * sigma ) ); - - } - - var i, values, sum, halfWidth, kMaxKernelSize = 25, kernelSize = 2 * Math.ceil( sigma * 3.0 ) + 1; - - if ( kernelSize > kMaxKernelSize ) kernelSize = kMaxKernelSize; - halfWidth = ( kernelSize - 1 ) * 0.5; - - values = new Array( kernelSize ); - sum = 0.0; - for ( i = 0; i < kernelSize; ++i ) { - - values[ i ] = gauss( i - halfWidth, sigma ); - sum += values[ i ]; - - } - - // normalize the kernel - - for ( i = 0; i < kernelSize; ++i ) values[ i ] /= sum; - - return values; - - } - -}; diff --git a/tools/hexgl/libs/Stats.js b/tools/hexgl/libs/Stats.js deleted file mode 100644 index bd4e440..0000000 --- a/tools/hexgl/libs/Stats.js +++ /dev/null @@ -1,6 +0,0 @@ -// stats.js r10 - http://github.com/mrdoob/stats.js -var Stats=function(){var l=Date.now(),m=l,g=0,n=1E3,o=0,h=0,p=1E3,q=0,r=0,s=0,f=document.createElement("div");f.id="stats";f.addEventListener("mousedown",function(b){b.preventDefault();t(++s%2)},!1);f.style.cssText="width:80px;opacity:0.9;cursor:pointer";var a=document.createElement("div");a.id="fps";a.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#002";f.appendChild(a);var i=document.createElement("div");i.id="fpsText";i.style.cssText="color:#0ff;font-family:Helvetica,Arial,sans-serif;font-size:9px;font-weight:bold;line-height:15px"; -i.innerHTML="FPS";a.appendChild(i);var c=document.createElement("div");c.id="fpsGraph";c.style.cssText="position:relative;width:74px;height:30px;background-color:#0ff";for(a.appendChild(c);74>c.children.length;){var j=document.createElement("span");j.style.cssText="width:1px;height:30px;float:left;background-color:#113";c.appendChild(j)}var d=document.createElement("div");d.id="ms";d.style.cssText="padding:0 0 3px 3px;text-align:left;background-color:#020;display:none";f.appendChild(d);var k=document.createElement("div"); -k.id="msText";k.style.cssText="color:#0f0;font-family:Helvetica,Arial,sans-serif;font-size:9px;font-weight:bold;line-height:15px";k.innerHTML="MS";d.appendChild(k);var e=document.createElement("div");e.id="msGraph";e.style.cssText="position:relative;width:74px;height:30px;background-color:#0f0";for(d.appendChild(e);74>e.children.length;)j=document.createElement("span"),j.style.cssText="width:1px;height:30px;float:left;background-color:#131",e.appendChild(j);var t=function(b){s=b;switch(s){case 0:a.style.display= -"block";d.style.display="none";break;case 1:a.style.display="none",d.style.display="block"}};return{domElement:f,setMode:t,begin:function(){l=Date.now()},end:function(){var b=Date.now();g=b-l;n=Math.min(n,g);o=Math.max(o,g);k.textContent=g+" MS ("+n+"-"+o+")";var a=Math.min(30,30-30*(g/200));e.appendChild(e.firstChild).style.height=a+"px";r++;b>m+1E3&&(h=Math.round(1E3*r/(b-m)),p=Math.min(p,h),q=Math.max(q,h),i.textContent=h+" FPS ("+p+"-"+q+")",a=Math.min(30,30-30*(h/100)),c.appendChild(c.firstChild).style.height= -a+"px",m=b,r=0);return b},update:function(){l=this.end()}}}; diff --git a/tools/hexgl/libs/Three.dev.js b/tools/hexgl/libs/Three.dev.js deleted file mode 100644 index 941fd22..0000000 --- a/tools/hexgl/libs/Three.dev.js +++ /dev/null @@ -1,758 +0,0 @@ -// Three.js - http://github.com/mrdoob/three.js -'use strict';var THREE=THREE||{REVISION:"50dev"};self.console||(self.console={info:function(){},log:function(){},debug:function(){},warn:function(){},error:function(){}});self.Int32Array||(self.Int32Array=Array,self.Float32Array=Array); -(function(){for(var a=0,b=["ms","moz","webkit","o"],c=0;c>16&255)/255;this.g=(a>>8&255)/255;this.b=(a&255)/255;return this},lerpSelf:function(a,b){this.r=this.r+(a.r-this.r)*b;this.g=this.g+(a.g-this.g)*b;this.b=this.b+(a.b-this.b)*b;return this},getHex:function(){return Math.floor(this.r*255)<<16^Math.floor(this.g*255)<<8^Math.floor(this.b*255)},getContextStyle:function(){return"rgb("+Math.floor(this.r*255)+","+Math.floor(this.g*255)+","+Math.floor(this.b*255)+")"},clone:function(){return(new THREE.Color).setRGB(this.r,this.g,this.b)}}; -THREE.Vector2=function(a,b){this.x=a||0;this.y=b||0}; -THREE.Vector2.prototype={constructor:THREE.Vector2,set:function(a,b){this.x=a;this.y=b;return this},copy:function(a){this.x=a.x;this.y=a.y;return this},add:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;return this},addSelf:function(a){this.x=this.x+a.x;this.y=this.y+a.y;return this},sub:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;return this},subSelf:function(a){this.x=this.x-a.x;this.y=this.y-a.y;return this},multiplyScalar:function(a){this.x=this.x*a;this.y=this.y*a;return this},divideScalar:function(a){if(a){this.x= -this.x/a;this.y=this.y/a}else this.set(0,0);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(a){return this.x*a.x+this.y*a.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.lengthSq())},normalize:function(){return this.divideScalar(this.length())},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x,a=this.y-a.y;return b*b+a*a},setLength:function(a){return this.normalize().multiplyScalar(a)}, -lerpSelf:function(a,b){this.x=this.x+(a.x-this.x)*b;this.y=this.y+(a.y-this.y)*b;return this},equals:function(a){return a.x===this.x&&a.y===this.y},isZero:function(){return this.lengthSq()<1.0E-4},clone:function(){return new THREE.Vector2(this.x,this.y)}};THREE.Vector3=function(a,b,c){this.x=a||0;this.y=b||0;this.z=c||0}; -THREE.Vector3.prototype={constructor:THREE.Vector3,set:function(a,b,c){this.x=a;this.y=b;this.z=c;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this},add:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;return this},addSelf:function(a){this.x=this.x+a.x;this.y=this.y+a.y;this.z=this.z+a.z;return this},addScalar:function(a){this.x=this.x+a;this.y=this.y+ -a;this.z=this.z+a;return this},sub:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;return this},subSelf:function(a){this.x=this.x-a.x;this.y=this.y-a.y;this.z=this.z-a.z;return this},multiply:function(a,b){this.x=a.x*b.x;this.y=a.y*b.y;this.z=a.z*b.z;return this},multiplySelf:function(a){this.x=this.x*a.x;this.y=this.y*a.y;this.z=this.z*a.z;return this},multiplyScalar:function(a){this.x=this.x*a;this.y=this.y*a;this.z=this.z*a;return this},divideSelf:function(a){this.x=this.x/a.x;this.y= -this.y/a.y;this.z=this.z/a.z;return this},divideScalar:function(a){if(a){this.x=this.x/a;this.y=this.y/a;this.z=this.z/a}else this.z=this.y=this.x=0;return this},negate:function(){return this.multiplyScalar(-1)},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.lengthSq())},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length())}, -setLength:function(a){return this.normalize().multiplyScalar(a)},lerpSelf:function(a,b){this.x=this.x+(a.x-this.x)*b;this.y=this.y+(a.y-this.y)*b;this.z=this.z+(a.z-this.z)*b;return this},cross:function(a,b){this.x=a.y*b.z-a.z*b.y;this.y=a.z*b.x-a.x*b.z;this.z=a.x*b.y-a.y*b.x;return this},crossSelf:function(a){var b=this.x,c=this.y,d=this.z;this.x=c*a.z-d*a.y;this.y=d*a.x-b*a.z;this.z=b*a.y-c*a.x;return this},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){return(new THREE.Vector3).sub(this, -a).lengthSq()},getPositionFromMatrix:function(a){this.x=a.elements[12];this.y=a.elements[13];this.z=a.elements[14];return this},setEulerFromRotationMatrix:function(a,b){function c(a){return Math.min(Math.max(a,-1),1)}var d=a.elements,e=d[0],f=d[4],g=d[8],h=d[1],i=d[5],j=d[9],l=d[2],m=d[6],d=d[10];if(b===void 0||b==="XYZ"){this.y=Math.asin(c(g));if(Math.abs(g)<0.99999){this.x=Math.atan2(-j,d);this.z=Math.atan2(-f,e)}else{this.x=Math.atan2(h,i);this.z=0}}else if(b==="YXZ"){this.x=Math.asin(-c(j));if(Math.abs(j)< -0.99999){this.y=Math.atan2(g,d);this.z=Math.atan2(h,i)}else{this.y=Math.atan2(-l,e);this.z=0}}else if(b==="ZXY"){this.x=Math.asin(c(m));if(Math.abs(m)<0.99999){this.y=Math.atan2(-l,d);this.z=Math.atan2(-f,i)}else{this.y=0;this.z=Math.atan2(g,e)}}else if(b==="ZYX"){this.y=Math.asin(-c(l));if(Math.abs(l)<0.99999){this.x=Math.atan2(m,d);this.z=Math.atan2(h,e)}else{this.x=0;this.z=Math.atan2(-f,i)}}else if(b==="YZX"){this.z=Math.asin(c(h));if(Math.abs(h)<0.99999){this.x=Math.atan2(-j,i);this.y=Math.atan2(-l, -e)}else{this.x=0;this.y=Math.atan2(l,d)}}else if(b==="XZY"){this.z=Math.asin(-c(f));if(Math.abs(f)<0.99999){this.x=Math.atan2(m,i);this.y=Math.atan2(g,e)}else{this.x=Math.atan2(-g,d);this.y=0}}return this},setEulerFromQuaternion:function(a,b){function c(a){return Math.min(Math.max(a,-1),1)}var d=a.x*a.x,e=a.y*a.y,f=a.z*a.z,g=a.w*a.w;if(b===void 0||b==="XYZ"){this.x=Math.atan2(2*(a.x*a.w-a.y*a.z),g-d-e+f);this.y=Math.asin(c(2*(a.x*a.z+a.y*a.w)));this.z=Math.atan2(2*(a.z*a.w-a.x*a.y),g+d-e-f)}else if(b=== -"YXZ"){this.x=Math.asin(c(2*(a.x*a.w-a.y*a.z)));this.y=Math.atan2(2*(a.x*a.z+a.y*a.w),g-d-e+f);this.z=Math.atan2(2*(a.x*a.y+a.z*a.w),g-d+e-f)}else if(b==="ZXY"){this.x=Math.asin(c(2*(a.x*a.w+a.y*a.z)));this.y=Math.atan2(2*(a.y*a.w-a.z*a.x),g-d-e+f);this.z=Math.atan2(2*(a.z*a.w-a.x*a.y),g-d+e-f)}else if(b==="ZYX"){this.x=Math.atan2(2*(a.x*a.w+a.z*a.y),g-d-e+f);this.y=Math.asin(c(2*(a.y*a.w-a.x*a.z)));this.z=Math.atan2(2*(a.x*a.y+a.z*a.w),g+d-e-f)}else if(b==="YZX"){this.x=Math.atan2(2*(a.x*a.w-a.z* -a.y),g-d+e-f);this.y=Math.atan2(2*(a.y*a.w-a.x*a.z),g+d-e-f);this.z=Math.asin(c(2*(a.x*a.y+a.z*a.w)))}else if(b==="XZY"){this.x=Math.atan2(2*(a.x*a.w+a.y*a.z),g-d+e-f);this.y=Math.atan2(2*(a.x*a.z+a.y*a.w),g+d-e-f);this.z=Math.asin(c(2*(a.z*a.w-a.x*a.y)))}return this},getScaleFromMatrix:function(a){var b=this.set(a.elements[0],a.elements[1],a.elements[2]).length(),c=this.set(a.elements[4],a.elements[5],a.elements[6]).length(),a=this.set(a.elements[8],a.elements[9],a.elements[10]).length();this.x= -b;this.y=c;this.z=a;return this},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z},isZero:function(){return this.lengthSq()<1.0E-4},clone:function(){return new THREE.Vector3(this.x,this.y,this.z)}};THREE.Vector4=function(a,b,c,d){this.x=a||0;this.y=b||0;this.z=c||0;this.w=d!==void 0?d:1}; -THREE.Vector4.prototype={constructor:THREE.Vector4,set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=a.w!==void 0?a.w:1;return this},add:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;this.w=a.w+b.w;return this},addSelf:function(a){this.x=this.x+a.x;this.y=this.y+a.y;this.z=this.z+a.z;this.w=this.w+a.w;return this},sub:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;this.w=a.w-b.w;return this},subSelf:function(a){this.x= -this.x-a.x;this.y=this.y-a.y;this.z=this.z-a.z;this.w=this.w-a.w;return this},multiplyScalar:function(a){this.x=this.x*a;this.y=this.y*a;this.z=this.z*a;this.w=this.w*a;return this},divideScalar:function(a){if(a){this.x=this.x/a;this.y=this.y/a;this.z=this.z/a;this.w=this.w/a}else{this.z=this.y=this.x=0;this.w=1}return this},negate:function(){return this.multiplyScalar(-1)},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.w},lengthSq:function(){return this.dot(this)},length:function(){return Math.sqrt(this.lengthSq())}, -normalize:function(){return this.divideScalar(this.length())},setLength:function(a){return this.normalize().multiplyScalar(a)},lerpSelf:function(a,b){this.x=this.x+(a.x-this.x)*b;this.y=this.y+(a.y-this.y)*b;this.z=this.z+(a.z-this.z)*b;this.w=this.w+(a.w-this.w)*b;return this},clone:function(){return new THREE.Vector4(this.x,this.y,this.z,this.w)},setAxisAngleFromQuaternion:function(a){this.w=2*Math.acos(a.w);var b=Math.sqrt(1-a.w*a.w);if(b<1.0E-4){this.x=1;this.z=this.y=0}else{this.x=a.x/b;this.y= -a.y/b;this.z=a.z/b}return this},setAxisAngleFromRotationMatrix:function(a){var b,c,d,a=a.elements,e=a[0];d=a[4];var f=a[8],g=a[1],h=a[5],i=a[9];c=a[2];b=a[6];var j=a[10];if(Math.abs(d-g)<0.01&&Math.abs(f-c)<0.01&&Math.abs(i-b)<0.01){if(Math.abs(d+g)<0.1&&Math.abs(f+c)<0.1&&Math.abs(i+b)<0.1&&Math.abs(e+h+j-3)<0.1){this.set(1,0,0,0);return this}a=Math.PI;e=(e+1)/2;h=(h+1)/2;j=(j+1)/2;d=(d+g)/4;f=(f+c)/4;i=(i+b)/4;if(e>h&&e>j)if(e<0.01){b=0;d=c=0.707106781}else{b=Math.sqrt(e);c=d/b;d=f/b}else if(h> -j)if(h<0.01){b=0.707106781;c=0;d=0.707106781}else{c=Math.sqrt(h);b=d/c;d=i/c}else if(j<0.01){c=b=0.707106781;d=0}else{d=Math.sqrt(j);b=f/d;c=i/d}this.set(b,c,d,a);return this}a=Math.sqrt((b-i)*(b-i)+(f-c)*(f-c)+(g-d)*(g-d));Math.abs(a)<0.0010&&(a=1);this.x=(b-i)/a;this.y=(f-c)/a;this.z=(g-d)/a;this.w=Math.acos((e+h+j-1)/2);return this}}; -THREE.EventTarget=function(){var a={};this.addEventListener=function(b,c){a[b]===void 0&&(a[b]=[]);a[b].indexOf(c)===-1&&a[b].push(c)};this.dispatchEvent=function(b){for(var c in a[b.type])a[b.type][c](b)};this.removeEventListener=function(b,c){var d=a[b].indexOf(c);d!==-1&&a[b].splice(d,1)}};THREE.Frustum=function(){this.planes=[new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4,new THREE.Vector4]}; -THREE.Frustum.prototype.setFromMatrix=function(a){var b=this.planes,c=a.elements,a=c[0],d=c[1],e=c[2],f=c[3],g=c[4],h=c[5],i=c[6],j=c[7],l=c[8],m=c[9],n=c[10],p=c[11],r=c[12],o=c[13],q=c[14],c=c[15];b[0].set(f-a,j-g,p-l,c-r);b[1].set(f+a,j+g,p+l,c+r);b[2].set(f+d,j+h,p+m,c+o);b[3].set(f-d,j-h,p-m,c-o);b[4].set(f-e,j-i,p-n,c-q);b[5].set(f+e,j+i,p+n,c+q);for(d=0;d<6;d++){a=b[d];a.divideScalar(Math.sqrt(a.x*a.x+a.y*a.y+a.z*a.z))}}; -THREE.Frustum.prototype.contains=function(a){for(var b=0,c=this.planes,b=a.matrixWorld,d=b.elements,a=-a.geometry.boundingSphere.radius*b.getMaxScaleOnAxis(),e=0;e<6;e++){b=c[e].x*d[12]+c[e].y*d[13]+c[e].z*d[14]+c[e].w;if(b<=a)return false}return true};THREE.Frustum.__v1=new THREE.Vector3; -THREE.Ray=function(a,b,c,d){this.origin=a||new THREE.Vector3;this.direction=b||new THREE.Vector3;this.near=c||0;this.far=d||Infinity;var e=new THREE.Vector3,f=new THREE.Vector3,g=new THREE.Vector3,h=new THREE.Vector3,i=new THREE.Vector3,j=new THREE.Vector3,l=new THREE.Vector3,m=new THREE.Vector3,n=new THREE.Vector3,p=function(a,b){return a.distance-b.distance},r=new THREE.Vector3,o=new THREE.Vector3,q=new THREE.Vector3,s,w,t,v=function(a,b,c){r.sub(c,a);s=r.dot(b);w=o.add(a,q.copy(b).multiplyScalar(s)); -return t=c.distanceTo(w)},x,C,D,z,u,G,J,M,O=function(a,b,c,d){r.sub(d,b);o.sub(c,b);q.sub(a,b);x=r.dot(r);C=r.dot(o);D=r.dot(q);z=o.dot(o);u=o.dot(q);G=1/(x*z-C*C);J=(z*D-C*u)*G;M=(x*u-C*D)*G;return J>=0&&M>=0&&J+M<1},X=1.0E-4;this.setPrecision=function(a){X=a};this.intersectObject=function(a,b){var c,d=[];if(b===true)for(var o=0,r=a.children.length;oa.scale.x)return[];c={distance:t,point:a.position,face:null,object:a};d.push(c)}else if(a instanceof THREE.Mesh){o=THREE.Frustum.__v1.set(a.matrixWorld.getColumnX().length(),a.matrixWorld.getColumnY().length(),a.matrixWorld.getColumnZ().length());o=a.geometry.boundingSphere.radius*Math.max(o.x,Math.max(o.y,o.z));t=v(this.origin,this.direction,a.matrixWorld.getPosition());if(t>o)return d;var q,s,u=a.geometry,w=u.vertices,x;a.matrixRotationWorld.extractRotation(a.matrixWorld);o=0;for(r=u.faces.length;o< -r;o++){c=u.faces[o];i.copy(this.origin);j.copy(this.direction);x=a.matrixWorld;l=x.multiplyVector3(l.copy(c.centroid)).subSelf(i);m=a.matrixRotationWorld.multiplyVector3(m.copy(c.normal));q=j.dot(m);if(!(Math.abs(q)0:q<0))){n.add(i,j.multiplyScalar(s));t=i.distanceTo(n);if(!(tthis.far))if(c instanceof THREE.Face3){e=x.multiplyVector3(e.copy(w[c.a]));f=x.multiplyVector3(f.copy(w[c.b]));g=x.multiplyVector3(g.copy(w[c.c])); -if(O(n,e,f,g)){c={distance:t,point:n.clone(),face:c,object:a};d.push(c)}}else if(c instanceof THREE.Face4){e=x.multiplyVector3(e.copy(w[c.a]));f=x.multiplyVector3(f.copy(w[c.b]));g=x.multiplyVector3(g.copy(w[c.c]));h=x.multiplyVector3(h.copy(w[c.d]));if(O(n,e,f,h)||O(n,f,g,h)){c={distance:t,point:n.clone(),face:c,object:a};d.push(c)}}}}}}d.sort(p);return d};this.intersectObjects=function(a,b){for(var c=[],d=0,e=a.length;df?d:f;e=e>g?e:g}a()};this.add3Points=function(f,g,l,m,n,p){if(h===true){h=false;b=fl?f>n?f:n:l>n?l:n;e=g>m?g>p?g:p:m>p?m:p}else{b=fl?f>n?f>d?f:d:n>d?n:d:l>n?l>d?l:d:n>d?n:d;e=g>m?g>p?g>e?g:e:p>e?p:e:m>p?m>e?m:e:p>e?p:e}a()};this.addRectangle=function(f){if(h===true){h=false;b=f.getLeft();c=f.getTop();d=f.getRight();e=f.getBottom()}else{b=bf.getRight()?d:f.getRight();e=e>f.getBottom()?e:f.getBottom()}a()};this.inflate=function(f){b=b-f;c=c-f;d=d+f;e=e+f;a()};this.minSelf=function(f){b=b>f.getLeft()?b:f.getLeft();c=c>f.getTop()?c:f.getTop();d=da.getRight()||ea.getBottom()?false:true};this.empty=function(){h=true;e=d=c=b=0;a()};this.isEmpty=function(){return h}}; -THREE.Math={clamp:function(a,b,c){return ac?c:a},clampBottom:function(a,b){return a0?1:0}};THREE.Matrix3=function(){this.elements=new Float32Array(9)}; -THREE.Matrix3.prototype={constructor:THREE.Matrix3,getInverse:function(a){var b=a.elements,a=b[10]*b[5]-b[6]*b[9],c=-b[10]*b[1]+b[2]*b[9],d=b[6]*b[1]-b[2]*b[5],e=-b[10]*b[4]+b[6]*b[8],f=b[10]*b[0]-b[2]*b[8],g=-b[6]*b[0]+b[2]*b[4],h=b[9]*b[4]-b[5]*b[8],i=-b[9]*b[0]+b[1]*b[8],j=b[5]*b[0]-b[1]*b[4],b=b[0]*a+b[1]*e+b[2]*h;b===0&&console.warn("Matrix3.getInverse(): determinant == 0");var b=1/b,l=this.elements;l[0]=b*a;l[1]=b*c;l[2]=b*d;l[3]=b*e;l[4]=b*f;l[5]=b*g;l[6]=b*h;l[7]=b*i;l[8]=b*j;return this}, -transpose:function(){var a,b=this.elements;a=b[1];b[1]=b[3];b[3]=a;a=b[2];b[2]=b[6];b[6]=a;a=b[5];b[5]=b[7];b[7]=a;return this},transposeIntoArray:function(a){var b=this.m;a[0]=b[0];a[1]=b[3];a[2]=b[6];a[3]=b[1];a[4]=b[4];a[5]=b[7];a[6]=b[2];a[7]=b[5];a[8]=b[8];return this}};THREE.Matrix4=function(a,b,c,d,e,f,g,h,i,j,l,m,n,p,r,o){this.elements=new Float32Array(16);this.set(a!==void 0?a:1,b||0,c||0,d||0,e||0,f!==void 0?f:1,g||0,h||0,i||0,j||0,l!==void 0?l:1,m||0,n||0,p||0,r||0,o!==void 0?o:1)}; -THREE.Matrix4.prototype={constructor:THREE.Matrix4,set:function(a,b,c,d,e,f,g,h,i,j,l,m,n,p,r,o){var q=this.elements;q[0]=a;q[4]=b;q[8]=c;q[12]=d;q[1]=e;q[5]=f;q[9]=g;q[13]=h;q[2]=i;q[6]=j;q[10]=l;q[14]=m;q[3]=n;q[7]=p;q[11]=r;q[15]=o;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},copy:function(a){a=a.elements;this.set(a[0],a[4],a[8],a[12],a[1],a[5],a[9],a[13],a[2],a[6],a[10],a[14],a[3],a[7],a[11],a[15]);return this},lookAt:function(a,b,c){var d=this.elements, -e=THREE.Matrix4.__v1,f=THREE.Matrix4.__v2,g=THREE.Matrix4.__v3;g.sub(a,b).normalize();if(g.length()===0)g.z=1;e.cross(c,g).normalize();if(e.length()===0){g.x=g.x+1.0E-4;e.cross(c,g).normalize()}f.cross(g,e);d[0]=e.x;d[4]=f.x;d[8]=g.x;d[1]=e.y;d[5]=f.y;d[9]=g.y;d[2]=e.z;d[6]=f.z;d[10]=g.z;return this},multiply:function(a,b){var c=a.elements,d=b.elements,e=this.elements,f=c[0],g=c[4],h=c[8],i=c[12],j=c[1],l=c[5],m=c[9],n=c[13],p=c[2],r=c[6],o=c[10],q=c[14],s=c[3],w=c[7],t=c[11],c=c[15],v=d[0],x=d[4], -C=d[8],D=d[12],z=d[1],u=d[5],G=d[9],J=d[13],M=d[2],O=d[6],X=d[10],B=d[14],F=d[3],Q=d[7],E=d[11],d=d[15];e[0]=f*v+g*z+h*M+i*F;e[4]=f*x+g*u+h*O+i*Q;e[8]=f*C+g*G+h*X+i*E;e[12]=f*D+g*J+h*B+i*d;e[1]=j*v+l*z+m*M+n*F;e[5]=j*x+l*u+m*O+n*Q;e[9]=j*C+l*G+m*X+n*E;e[13]=j*D+l*J+m*B+n*d;e[2]=p*v+r*z+o*M+q*F;e[6]=p*x+r*u+o*O+q*Q;e[10]=p*C+r*G+o*X+q*E;e[14]=p*D+r*J+o*B+q*d;e[3]=s*v+w*z+t*M+c*F;e[7]=s*x+w*u+t*O+c*Q;e[11]=s*C+w*G+t*X+c*E;e[15]=s*D+w*J+t*B+c*d;return this},multiplySelf:function(a){return this.multiply(this, -a)},multiplyToArray:function(a,b,c){var d=this.elements;this.multiply(a,b);c[0]=d[0];c[1]=d[1];c[2]=d[2];c[3]=d[3];c[4]=d[4];c[5]=d[5];c[6]=d[6];c[7]=d[7];c[8]=d[8];c[9]=d[9];c[10]=d[10];c[11]=d[11];c[12]=d[12];c[13]=d[13];c[14]=d[14];c[15]=d[15];return this},multiplyScalar:function(a){var b=this.elements;b[0]=b[0]*a;b[4]=b[4]*a;b[8]=b[8]*a;b[12]=b[12]*a;b[1]=b[1]*a;b[5]=b[5]*a;b[9]=b[9]*a;b[13]=b[13]*a;b[2]=b[2]*a;b[6]=b[6]*a;b[10]=b[10]*a;b[14]=b[14]*a;b[3]=b[3]*a;b[7]=b[7]*a;b[11]=b[11]*a;b[15]= -b[15]*a;return this},multiplyVector3:function(a){var b=this.elements,c=a.x,d=a.y,e=a.z,f=1/(b[3]*c+b[7]*d+b[11]*e+b[15]);a.x=(b[0]*c+b[4]*d+b[8]*e+b[12])*f;a.y=(b[1]*c+b[5]*d+b[9]*e+b[13])*f;a.z=(b[2]*c+b[6]*d+b[10]*e+b[14])*f;return a},multiplyVector4:function(a){var b=this.elements,c=a.x,d=a.y,e=a.z,f=a.w;a.x=b[0]*c+b[4]*d+b[8]*e+b[12]*f;a.y=b[1]*c+b[5]*d+b[9]*e+b[13]*f;a.z=b[2]*c+b[6]*d+b[10]*e+b[14]*f;a.w=b[3]*c+b[7]*d+b[11]*e+b[15]*f;return a},multiplyVector3Array:function(a){for(var b=THREE.Matrix4.__v1, -c=0,d=a.length;c=0&&e>=0&&g>=0&&h>=0)return true;if(f<0&&e<0||g<0&&h<0)return false; -f<0?c=Math.max(c,f/(f-e)):e<0&&(d=Math.min(d,f/(f-e)));g<0?c=Math.max(c,g/(g-h)):h<0&&(d=Math.min(d,g/(g-h)));if(dh&&i.positionScreen.z0)){ca=l[j-2];M.copy(H.positionScreen);O.copy(ca.positionScreen); -if(e(M,O)===true){M.multiplyScalar(1/M.w);O.multiplyScalar(1/O.w);fa=void 0;if(s===w.length){fa=new THREE.RenderableLine;w.push(fa)}else fa=w[s];s++;q=fa;q.v1.positionScreen.copy(M);q.v2.positionScreen.copy(O);q.z=Math.max(M.z,O.z);q.material=R.material;C.elements.push(q)}}}}}b=0;for(T=C.sprites.length;b0&&z.z<1){h=void 0;if(v=== -x.length){h=new THREE.RenderableParticle;x.push(h)}else h=x[v];v++;t=h;t.x=z.x/z.w;t.y=z.y/z.w;t.z=z.z;t.rotation=R.rotation.z;t.scale.x=R.scale.x*Math.abs(t.x-(z.x+f.projectionMatrix.elements[0])/(z.w+f.projectionMatrix.elements[12]));t.scale.y=R.scale.y*Math.abs(t.y-(z.y+f.projectionMatrix.elements[5])/(z.w+f.projectionMatrix.elements[13]));t.material=R.material;C.elements.push(t)}}}g&&C.elements.sort(d);return C}}; -THREE.Quaternion=function(a,b,c,d){this.x=a||0;this.y=b||0;this.z=c||0;this.w=d!==void 0?d:1}; -THREE.Quaternion.prototype={constructor:THREE.Quaternion,set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=a.w;return this},setFromEuler:function(a,b){var c=Math.cos(a.x/2),d=Math.cos(a.y/2),e=Math.cos(a.z/2),f=Math.sin(a.x/2),g=Math.sin(a.y/2),h=Math.sin(a.z/2);if(b===void 0||b==="XYZ"){this.x=f*d*e+c*g*h;this.y=c*g*e-f*d*h;this.z=c*d*h+f*g*e;this.w=c*d*e-f*g*h}else if(b==="YXZ"){this.x=f*d*e+c*g*h;this.y=c*g*e-f*d*h;this.z= -c*d*h-f*g*e;this.w=c*d*e+f*g*h}else if(b==="ZXY"){this.x=f*d*e-c*g*h;this.y=c*g*e+f*d*h;this.z=c*d*h+f*g*e;this.w=c*d*e-f*g*h}else if(b==="ZYX"){this.x=f*d*e-c*g*h;this.y=c*g*e+f*d*h;this.z=c*d*h-f*g*e;this.w=c*d*e+f*g*h}else if(b==="YZX"){this.x=f*d*e+c*g*h;this.y=c*g*e+f*d*h;this.z=c*d*h-f*g*e;this.w=c*d*e-f*g*h}else if(b==="XZY"){this.x=f*d*e-c*g*h;this.y=c*g*e-f*d*h;this.z=c*d*h+f*g*e;this.w=c*d*e+f*g*h}return this},setFromAxisAngle:function(a,b){var c=b/2,d=Math.sin(c);this.x=a.x*d;this.y=a.y* -d;this.z=a.z*d;this.w=Math.cos(c);return this},setFromRotationMatrix:function(a){var b=a.elements,c=b[0],a=b[4],d=b[8],e=b[1],f=b[5],g=b[9],h=b[2],i=b[6],b=b[10],j=c+f+b;if(j>0){c=0.5/Math.sqrt(j+1);this.w=0.25/c;this.x=(i-g)*c;this.y=(d-h)*c;this.z=(e-a)*c}else if(c>f&&c>b){c=2*Math.sqrt(1+c-f-b);this.w=(i-g)/c;this.x=0.25*c;this.y=(a+e)/c;this.z=(d+h)/c}else if(f>b){c=2*Math.sqrt(1+f-c-b);this.w=(d-h)/c;this.x=(a+e)/c;this.y=0.25*c;this.z=(g+i)/c}else{c=2*Math.sqrt(1+b-c-f);this.w=(e-a)/c;this.x= -(d+h)/c;this.y=(g+i)/c;this.z=0.25*c}return this},calculateW:function(){this.w=-Math.sqrt(Math.abs(1-this.x*this.x-this.y*this.y-this.z*this.z));return this},inverse:function(){this.x=this.x*-1;this.y=this.y*-1;this.z=this.z*-1;return this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},normalize:function(){var a=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);if(a===0)this.w=this.z=this.y=this.x=0;else{a=1/a;this.x=this.x*a;this.y= -this.y*a;this.z=this.z*a;this.w=this.w*a}return this},multiply:function(a,b){this.x=a.x*b.w+a.y*b.z-a.z*b.y+a.w*b.x;this.y=-a.x*b.z+a.y*b.w+a.z*b.x+a.w*b.y;this.z=a.x*b.y-a.y*b.x+a.z*b.w+a.w*b.z;this.w=-a.x*b.x-a.y*b.y-a.z*b.z+a.w*b.w;return this},multiplySelf:function(a){var b=this.x,c=this.y,d=this.z,e=this.w,f=a.x,g=a.y,h=a.z,a=a.w;this.x=b*a+e*f+c*h-d*g;this.y=c*a+e*g+d*f-b*h;this.z=d*a+e*h+b*g-c*f;this.w=e*a-b*f-c*g-d*h;return this},multiplyVector3:function(a,b){b||(b=a);var c=a.x,d=a.y,e=a.z, -f=this.x,g=this.y,h=this.z,i=this.w,j=i*c+g*e-h*d,l=i*d+h*c-f*e,m=i*e+f*d-g*c,c=-f*c-g*d-h*e;b.x=j*i+c*-f+l*-h-m*-g;b.y=l*i+c*-g+m*-f-j*-h;b.z=m*i+c*-h+j*-g-l*-f;return b},slerpSelf:function(a,b){var c=this.x,d=this.y,e=this.z,f=this.w,g=f*a.w+c*a.x+d*a.y+e*a.z;if(g<0){this.w=-a.w;this.x=-a.x;this.y=-a.y;this.z=-a.z;g=-g}else this.copy(a);if(g>=1){this.w=f;this.x=c;this.y=d;this.z=e;return this}var h=Math.acos(g),i=Math.sqrt(1-g*g);if(Math.abs(i)<0.0010){this.w=0.5*(f+this.w);this.x=0.5*(c+this.x); -this.y=0.5*(d+this.y);this.z=0.5*(e+this.z);return this}g=Math.sin((1-b)*h)/i;h=Math.sin(b*h)/i;this.w=f*g+this.w*h;this.x=c*g+this.x*h;this.y=d*g+this.y*h;this.z=e*g+this.z*h;return this},clone:function(){return new THREE.Quaternion(this.x,this.y,this.z,this.w)}}; -THREE.Quaternion.slerp=function(a,b,c,d){var e=a.w*b.w+a.x*b.x+a.y*b.y+a.z*b.z;if(e<0){c.w=-b.w;c.x=-b.x;c.y=-b.y;c.z=-b.z;e=-e}else c.copy(b);if(Math.abs(e)>=1){c.w=a.w;c.x=a.x;c.y=a.y;c.z=a.z;return c}var b=Math.acos(e),f=Math.sqrt(1-e*e);if(Math.abs(f)<0.0010){c.w=0.5*(a.w+c.w);c.x=0.5*(a.x+c.x);c.y=0.5*(a.y+c.y);c.z=0.5*(a.z+c.z);return c}e=Math.sin((1-d)*b)/f;d=Math.sin(d*b)/f;c.w=a.w*e+c.w*d;c.x=a.x*e+c.x*d;c.y=a.y*e+c.y*d;c.z=a.z*e+c.z*d;return c}; -THREE.Vertex=function(a){console.warn("THREE.Vertex has been DEPRECATED. Use THREE.Vector3 instead.");return a};THREE.Face3=function(a,b,c,d,e,f){this.a=a;this.b=b;this.c=c;this.normal=d instanceof THREE.Vector3?d:new THREE.Vector3;this.vertexNormals=d instanceof Array?d:[];this.color=e instanceof THREE.Color?e:new THREE.Color;this.vertexColors=e instanceof Array?e:[];this.vertexTangents=[];this.materialIndex=f;this.centroid=new THREE.Vector3}; -THREE.Face3.prototype={constructor:THREE.Face3,clone:function(){var a=new THREE.Face3(this.a,this.b,this.c);a.normal.copy(this.normal);a.color.copy(this.color);a.centroid.copy(this.centroid);a.materialIndex=this.materialIndex;var b,c;b=0;for(c=this.vertexNormals.length;b0){var a;a=this.vertices[0];this.boundingBox.min.copy(a);this.boundingBox.max.copy(a);for(var b=this.boundingBox.min,c=this.boundingBox.max,d=1,e=this.vertices.length;dc.x)c.x= -a.x;if(a.yc.y)c.y=a.y;if(a.zc.z)c.z=a.z}}else{this.boundingBox.min.set(0,0,0);this.boundingBox.max.set(0,0,0)}},computeBoundingSphere:function(){if(!this.boundingSphere)this.boundingSphere={radius:0};for(var a,b=0,c=0,d=this.vertices.length;cb&&(b=a)}this.boundingSphere.radius=b},mergeVertices:function(){var a={},b=[],c=[],d,e=Math.pow(10,4),f,g,h,i;f=0;for(g=this.vertices.length;f0;e--)if(d.indexOf(a["abcd"[e]])!==e){d.splice(e,1);this.faces[f]=new THREE.Face3(d[0],d[1],d[2],a.normal,a.color,a.materialIndex); -d=0;for(h=this.faceVertexUvs.length;dthis.points.length-2?this.points.length-1:f+1;c[3]=f>this.points.length-3?this.points.length-1: -f+2;j=this.points[c[0]];l=this.points[c[1]];m=this.points[c[2]];n=this.points[c[3]];h=g*g;i=g*h;d.x=b(j.x,l.x,m.x,n.x,g,h,i);d.y=b(j.y,l.y,m.y,n.y,g,h,i);d.z=b(j.z,l.z,m.z,n.z,g,h,i);return d};this.getControlPointsArray=function(){var a,b,c=this.points.length,d=[];for(a=0;a1&&(M=new THREE.MeshFaceMaterial); -a=new THREE.Mesh(J,M);a.name=n;if(w){a.matrixAutoUpdate=false;a.matrix.set(w[0],w[1],w[2],w[3],w[4],w[5],w[6],w[7],w[8],w[9],w[10],w[11],w[12],w[13],w[14],w[15])}else{a.position.set(x[0],x[1],x[2]);if(D){a.quaternion.set(D[0],D[1],D[2],D[3]);a.useQuaternion=true}else a.rotation.set(C[0],C[1],C[2]);a.scale.set(z[0],z[1],z[2])}a.visible=s.visible;a.doubleSided=s.doubleSided;a.castShadow=s.castShadow;a.receiveShadow=s.receiveShadow;N.scene.add(a);N.objects[n]=a}}else{x=s.position;C=s.rotation;D=s.quaternion; -z=s.scale;D=0;a=new THREE.Object3D;a.name=n;a.position.set(x[0],x[1],x[2]);if(D){a.quaternion.set(D[0],D[1],D[2],D[3]);a.useQuaternion=true}else a.rotation.set(C[0],C[1],C[2]);a.scale.set(z[0],z[1],z[2]);a.visible=s.visible!==void 0?s.visible:false;N.scene.add(a);N.objects[n]=a;N.empties[n]=a}}}function f(a){return function(b){N.geometries[a]=b;e();Q=Q-1;i.onLoadComplete();h()}}function g(a){return function(b){N.geometries[a]=b}}function h(){i.callbackProgress({totalModels:aa,totalTextures:T,loadedModels:aa- -Q,loadedTextures:T-E},N);i.onLoadProgress();Q===0&&E===0&&b(N)}var i=this,j=THREE.Loader.prototype.extractUrlBase(c),l,m,n,p,r,o,q,s,w,t,v,x,C,D,z,u,G,J,M,O,X,B,F,Q,E,aa,T,N;B=a;c=new THREE.BinaryLoader;F=new THREE.JSONLoader;E=Q=0;N={scene:new THREE.Scene,geometries:{},materials:{},textures:{},objects:{},cameras:{},lights:{},fogs:{},empties:{}};if(B.transform){a=B.transform.position;t=B.transform.rotation;u=B.transform.scale;a&&N.scene.position.set(a[0],a[1],a[2]);t&&N.scene.rotation.set(t[0],t[1], -t[2]);u&&N.scene.scale.set(u[0],u[1],u[2]);if(a||t||u){N.scene.updateMatrix();N.scene.updateMatrixWorld()}}a=function(a){return function(){E=E-a;h();i.onLoadComplete()}};for(r in B.cameras){u=B.cameras[r];u.type==="perspective"?O=new THREE.PerspectiveCamera(u.fov,u.aspect,u.near,u.far):u.type==="ortho"&&(O=new THREE.OrthographicCamera(u.left,u.right,u.top,u.bottom,u.near,u.far));x=u.position;t=u.target;u=u.up;O.position.set(x[0],x[1],x[2]);O.target=new THREE.Vector3(t[0],t[1],t[2]);u&&O.up.set(u[0], -u[1],u[2]);N.cameras[r]=O}for(p in B.lights){t=B.lights[p];r=t.color!==void 0?t.color:16777215;O=t.intensity!==void 0?t.intensity:1;if(t.type==="directional"){x=t.direction;v=new THREE.DirectionalLight(r,O);v.position.set(x[0],x[1],x[2]);v.position.normalize()}else if(t.type==="point"){x=t.position;v=t.distance;v=new THREE.PointLight(r,O,v);v.position.set(x[0],x[1],x[2])}else t.type==="ambient"&&(v=new THREE.AmbientLight(r));N.scene.add(v);N.lights[p]=v}for(o in B.fogs){p=B.fogs[o];p.type==="linear"? -X=new THREE.Fog(0,p.near,p.far):p.type==="exp2"&&(X=new THREE.FogExp2(0,p.density));u=p.color;X.color.setRGB(u[0],u[1],u[2]);N.fogs[o]=X}if(N.cameras&&B.defaults.camera)N.currentCamera=N.cameras[B.defaults.camera];if(N.fogs&&B.defaults.fog)N.scene.fog=N.fogs[B.defaults.fog];u=B.defaults.bgcolor;N.bgColor=new THREE.Color;N.bgColor.setRGB(u[0],u[1],u[2]);N.bgColorAlpha=B.defaults.bgalpha;for(l in B.geometries){o=B.geometries[l];if(o.type=="bin_mesh"||o.type=="ascii_mesh"){Q=Q+1;i.onLoadStart()}}aa= -Q;for(l in B.geometries){o=B.geometries[l];if(o.type==="cube"){J=new THREE.CubeGeometry(o.width,o.height,o.depth,o.segmentsWidth,o.segmentsHeight,o.segmentsDepth,null,o.flipped,o.sides);N.geometries[l]=J}else if(o.type==="plane"){J=new THREE.PlaneGeometry(o.width,o.height,o.segmentsWidth,o.segmentsHeight);N.geometries[l]=J}else if(o.type==="sphere"){J=new THREE.SphereGeometry(o.radius,o.segmentsWidth,o.segmentsHeight);N.geometries[l]=J}else if(o.type==="cylinder"){J=new THREE.CylinderGeometry(o.topRad, -o.botRad,o.height,o.radSegs,o.heightSegs);N.geometries[l]=J}else if(o.type==="torus"){J=new THREE.TorusGeometry(o.radius,o.tube,o.segmentsR,o.segmentsT);N.geometries[l]=J}else if(o.type==="icosahedron"){J=new THREE.IcosahedronGeometry(o.radius,o.subdivisions);N.geometries[l]=J}else if(o.type==="bin_mesh")c.load(d(o.url,B.urlBaseType),f(l));else if(o.type==="ascii_mesh")F.load(d(o.url,B.urlBaseType),f(l));else if(o.type==="embedded_mesh"){o=B.embeds[o.id];o.metadata=B.metadata;o&&F.createModel(o,g(l), -"")}}for(q in B.textures){l=B.textures[q];if(l.url instanceof Array){E=E+l.url.length;for(o=0;o256?64:a>64?32:a>16?16:8;this.boneMatrices=new Float32Array(this.boneTextureWidth*this.boneTextureHeight*4);this.boneTexture=new THREE.DataTexture(this.boneMatrices,this.boneTextureWidth,this.boneTextureHeight,THREE.RGBAFormat,THREE.FloatType);this.boneTexture.minFilter=THREE.NearestFilter;this.boneTexture.magFilter= -THREE.NearestFilter;this.boneTexture.generateMipmaps=false;this.boneTexture.flipY=false}else this.boneMatrices=new Float32Array(16*a);this.pose()}};THREE.SkinnedMesh.prototype=Object.create(THREE.Mesh.prototype);THREE.SkinnedMesh.prototype.addBone=function(a){a===void 0&&(a=new THREE.Bone(this));this.bones.push(a);return a}; -THREE.SkinnedMesh.prototype.updateMatrixWorld=function(a){this.matrixAutoUpdate&&this.updateMatrix();if(this.matrixWorldNeedsUpdate||a){this.parent?this.matrixWorld.multiply(this.parent.matrixWorld,this.matrix):this.matrixWorld.copy(this.matrix);this.matrixWorldNeedsUpdate=false}for(var a=0,b=this.children.length;a1){g=g[1];c[g]||(c[g]={start:Infinity,end:-Infinity});var h=c[g];if(eh.end)h.end=e;b||(b=g)}}a.firstAnimation=b}; -THREE.MorphAnimMesh.prototype.setAnimationLabel=function(a,b,c){if(!this.geometry.animations)this.geometry.animations={};this.geometry.animations[a]={start:b,end:c}};THREE.MorphAnimMesh.prototype.playAnimation=function(a,b){var c=this.geometry.animations[a];if(c){this.setFrameRange(c.start,c.end);this.duration=1E3*((c.end-c.start)/b);this.time=0}else console.warn("animation["+a+"] undefined")}; -THREE.MorphAnimMesh.prototype.updateAnimation=function(a){var b=this.duration/this.length;this.time=this.time+this.direction*a;if(this.mirroredLoop){if(this.time>this.duration||this.time<0){this.direction=this.direction*-1;if(this.time>this.duration){this.time=this.duration;this.directionBackwards=true}if(this.time<0){this.time=0;this.directionBackwards=false}}}else{this.time=this.time%this.duration;if(this.time<0)this.time=this.time+this.duration}a=this.startKeyframe+THREE.Math.clamp(Math.floor(this.time/ -b),0,this.length-1);if(a!==this.currentKeyframe){this.morphTargetInfluences[this.lastKeyframe]=0;this.morphTargetInfluences[this.currentKeyframe]=1;this.morphTargetInfluences[a]=0;this.lastKeyframe=this.currentKeyframe;this.currentKeyframe=a}b=this.time%b/b;this.directionBackwards&&(b=1-b);this.morphTargetInfluences[this.currentKeyframe]=b;this.morphTargetInfluences[this.lastKeyframe]=1-b};THREE.Ribbon=function(a,b){THREE.Object3D.call(this);this.geometry=a;this.material=b}; -THREE.Ribbon.prototype=Object.create(THREE.Object3D.prototype);THREE.LOD=function(){THREE.Object3D.call(this);this.LODs=[]};THREE.LOD.prototype=Object.create(THREE.Object3D.prototype);THREE.LOD.prototype.addLevel=function(a,b){b===void 0&&(b=0);for(var b=Math.abs(b),c=0;c1){a.matrixWorldInverse.getInverse(a.matrixWorld);a=a.matrixWorldInverse;a=-(a.elements[2]*this.matrixWorld.elements[12]+a.elements[6]*this.matrixWorld.elements[13]+a.elements[10]*this.matrixWorld.elements[14]+a.elements[14]);this.LODs[0].object3D.visible=true;for(var b=1;b=this.LODs[b].visibleAtDistance){this.LODs[b-1].object3D.visible=false;this.LODs[b].object3D.visible=true}else break;for(;b0){c(THREE.NormalBlending);b(1); -e("rgba("+Math.floor(q.r*255)+","+Math.floor(q.g*255)+","+Math.floor(q.b*255)+","+s+")");o.fillRect(Math.floor(Da.getX()),Math.floor(Da.getY()),Math.floor(Da.getWidth()),Math.floor(Da.getHeight()))}Da.empty()}};this.render=function(a,l){function m(a){var b,c,d,e;qa.setRGB(0,0,0);Fa.setRGB(0,0,0);Ra.setRGB(0,0,0);b=0;for(c=a.length;b>1;m=j.height>>1;g=f.scale.x*p;i=f.scale.y*r;h=g*l;k=i*m;Aa.set(a.x-h,a.y-k,a.x+h,a.y+k);if(Ua.intersects(Aa)!==false){o.save();o.translate(a.x,a.y);o.rotate(-f.rotation);o.scale(g,-i);o.translate(-l,-m);o.drawImage(j,0,0);o.restore()}}}else if(g instanceof THREE.ParticleCanvasMaterial){h= -f.scale.x*p;k=f.scale.y*r;Aa.set(a.x-h,a.y-k,a.x+h,a.y+k);if(Ua.intersects(Aa)!==false){d(g.color.getContextStyle());e(g.color.getContextStyle());o.save();o.translate(a.x,a.y);o.rotate(-f.rotation);o.scale(h,k);g.program(o);o.restore()}}}function s(a,e,f,g){b(g.opacity);c(g.blending);o.beginPath();o.moveTo(a.positionScreen.x,a.positionScreen.y);o.lineTo(e.positionScreen.x,e.positionScreen.y);o.closePath();if(g instanceof THREE.LineBasicMaterial){a=g.linewidth;if(C!==a)C=o.lineWidth=a;a=g.linecap; -if(D!==a)D=o.lineCap=a;a=g.linejoin;if(z!==a)z=o.lineJoin=a;d(g.color.getContextStyle());o.stroke();Aa.inflate(g.linewidth*2)}}function t(a,d,e,g,h,k,j,m){f.info.render.vertices=f.info.render.vertices+3;f.info.render.faces++;b(m.opacity);c(m.blending);B=a.positionScreen.x;F=a.positionScreen.y;Q=d.positionScreen.x;E=d.positionScreen.y;aa=e.positionScreen.x;T=e.positionScreen.y;w(B,F,Q,E,aa,T);if(m instanceof THREE.MeshBasicMaterial)if(m.map!==null){if(m.map.mapping instanceof THREE.UVMapping){bb=j.uvs[0]; -kd(B,F,Q,E,aa,T,bb[g].u,bb[g].v,bb[h].u,bb[h].v,bb[k].u,bb[k].v,m.map)}}else if(m.envMap!==null){if(m.envMap.mapping instanceof THREE.SphericalReflectionMapping){a=l.matrixWorldInverse;sa.copy(j.vertexNormalsWorld[g]);nb=(sa.x*a.elements[0]+sa.y*a.elements[4]+sa.z*a.elements[8])*0.5+0.5;gb=(sa.x*a.elements[1]+sa.y*a.elements[5]+sa.z*a.elements[9])*0.5+0.5;sa.copy(j.vertexNormalsWorld[h]);Ob=(sa.x*a.elements[0]+sa.y*a.elements[4]+sa.z*a.elements[8])*0.5+0.5;ob=(sa.x*a.elements[1]+sa.y*a.elements[5]+ -sa.z*a.elements[9])*0.5+0.5;sa.copy(j.vertexNormalsWorld[k]);kb=(sa.x*a.elements[0]+sa.y*a.elements[4]+sa.z*a.elements[8])*0.5+0.5;ec=(sa.x*a.elements[1]+sa.y*a.elements[5]+sa.z*a.elements[9])*0.5+0.5;kd(B,F,Q,E,aa,T,nb,gb,Ob,ob,kb,ec,m.envMap)}}else m.wireframe===true?Pb(m.color,m.wireframeLinewidth,m.wireframeLinecap,m.wireframeLinejoin):Hb(m.color);else if(m instanceof THREE.MeshLambertMaterial)if(hb===true)if(m.wireframe===false&&m.shading==THREE.SmoothShading&&j.vertexNormalsWorld.length==3){R.r= -P.r=U.r=qa.r;R.g=P.g=U.g=qa.g;R.b=P.b=U.b=qa.b;n(i,j.v1.positionWorld,j.vertexNormalsWorld[0],R);n(i,j.v2.positionWorld,j.vertexNormalsWorld[1],P);n(i,j.v3.positionWorld,j.vertexNormalsWorld[2],U);R.r=Math.max(0,Math.min(m.color.r*R.r,1));R.g=Math.max(0,Math.min(m.color.g*R.g,1));R.b=Math.max(0,Math.min(m.color.b*R.b,1));P.r=Math.max(0,Math.min(m.color.r*P.r,1));P.g=Math.max(0,Math.min(m.color.g*P.g,1));P.b=Math.max(0,Math.min(m.color.b*P.b,1));U.r=Math.max(0,Math.min(m.color.r*U.r,1));U.g=Math.max(0, -Math.min(m.color.g*U.g,1));U.b=Math.max(0,Math.min(m.color.b*U.b,1));fa.r=(P.r+U.r)*0.5;fa.g=(P.g+U.g)*0.5;fa.b=(P.b+U.b)*0.5;Pa=Ic(R,P,U,fa);mc(B,F,Q,E,aa,T,0,0,1,0,0,1,Pa)}else{S.r=qa.r;S.g=qa.g;S.b=qa.b;n(i,j.centroidWorld,j.normalWorld,S);S.r=Math.max(0,Math.min(m.color.r*S.r,1));S.g=Math.max(0,Math.min(m.color.g*S.g,1));S.b=Math.max(0,Math.min(m.color.b*S.b,1));m.wireframe===true?Pb(S,m.wireframeLinewidth,m.wireframeLinecap,m.wireframeLinejoin):Hb(S)}else m.wireframe===true?Pb(m.color,m.wireframeLinewidth, -m.wireframeLinecap,m.wireframeLinejoin):Hb(m.color);else if(m instanceof THREE.MeshDepthMaterial){na=l.near;Oa=l.far;R.r=R.g=R.b=1-gc(a.positionScreen.z,na,Oa);P.r=P.g=P.b=1-gc(d.positionScreen.z,na,Oa);U.r=U.g=U.b=1-gc(e.positionScreen.z,na,Oa);fa.r=(P.r+U.r)*0.5;fa.g=(P.g+U.g)*0.5;fa.b=(P.b+U.b)*0.5;Pa=Ic(R,P,U,fa);mc(B,F,Q,E,aa,T,0,0,1,0,0,1,Pa)}else if(m instanceof THREE.MeshNormalMaterial){S.r=nc(j.normalWorld.x);S.g=nc(j.normalWorld.y);S.b=nc(j.normalWorld.z);m.wireframe===true?Pb(S,m.wireframeLinewidth, -m.wireframeLinecap,m.wireframeLinejoin):Hb(S)}}function v(a,d,e,g,h,k,j,m,o){f.info.render.vertices=f.info.render.vertices+4;f.info.render.faces++;b(m.opacity);c(m.blending);if(m.map!==void 0&&m.map!==null||m.envMap!==void 0&&m.envMap!==null){t(a,d,g,0,1,3,j,m,o);t(h,e,k,1,2,3,j,m,o)}else{B=a.positionScreen.x;F=a.positionScreen.y;Q=d.positionScreen.x;E=d.positionScreen.y;aa=e.positionScreen.x;T=e.positionScreen.y;N=g.positionScreen.x;W=g.positionScreen.y;ba=h.positionScreen.x;H=h.positionScreen.y; -ca=k.positionScreen.x;ia=k.positionScreen.y;if(m instanceof THREE.MeshBasicMaterial){x(B,F,Q,E,aa,T,N,W);m.wireframe===true?Pb(m.color,m.wireframeLinewidth,m.wireframeLinecap,m.wireframeLinejoin):Hb(m.color)}else if(m instanceof THREE.MeshLambertMaterial)if(hb===true)if(!m.wireframe&&m.shading==THREE.SmoothShading&&j.vertexNormalsWorld.length==4){R.r=P.r=U.r=fa.r=qa.r;R.g=P.g=U.g=fa.g=qa.g;R.b=P.b=U.b=fa.b=qa.b;n(i,j.v1.positionWorld,j.vertexNormalsWorld[0],R);n(i,j.v2.positionWorld,j.vertexNormalsWorld[1], -P);n(i,j.v4.positionWorld,j.vertexNormalsWorld[3],U);n(i,j.v3.positionWorld,j.vertexNormalsWorld[2],fa);R.r=Math.max(0,Math.min(m.color.r*R.r,1));R.g=Math.max(0,Math.min(m.color.g*R.g,1));R.b=Math.max(0,Math.min(m.color.b*R.b,1));P.r=Math.max(0,Math.min(m.color.r*P.r,1));P.g=Math.max(0,Math.min(m.color.g*P.g,1));P.b=Math.max(0,Math.min(m.color.b*P.b,1));U.r=Math.max(0,Math.min(m.color.r*U.r,1));U.g=Math.max(0,Math.min(m.color.g*U.g,1));U.b=Math.max(0,Math.min(m.color.b*U.b,1));fa.r=Math.max(0,Math.min(m.color.r* -fa.r,1));fa.g=Math.max(0,Math.min(m.color.g*fa.g,1));fa.b=Math.max(0,Math.min(m.color.b*fa.b,1));Pa=Ic(R,P,U,fa);w(B,F,Q,E,N,W);mc(B,F,Q,E,N,W,0,0,1,0,0,1,Pa);w(ba,H,aa,T,ca,ia);mc(ba,H,aa,T,ca,ia,1,0,1,1,0,1,Pa)}else{S.r=qa.r;S.g=qa.g;S.b=qa.b;n(i,j.centroidWorld,j.normalWorld,S);S.r=Math.max(0,Math.min(m.color.r*S.r,1));S.g=Math.max(0,Math.min(m.color.g*S.g,1));S.b=Math.max(0,Math.min(m.color.b*S.b,1));x(B,F,Q,E,aa,T,N,W);m.wireframe===true?Pb(S,m.wireframeLinewidth,m.wireframeLinecap,m.wireframeLinejoin): -Hb(S)}else{x(B,F,Q,E,aa,T,N,W);m.wireframe===true?Pb(m.color,m.wireframeLinewidth,m.wireframeLinecap,m.wireframeLinejoin):Hb(m.color)}else if(m instanceof THREE.MeshNormalMaterial){S.r=nc(j.normalWorld.x);S.g=nc(j.normalWorld.y);S.b=nc(j.normalWorld.z);x(B,F,Q,E,aa,T,N,W);m.wireframe===true?Pb(S,m.wireframeLinewidth,m.wireframeLinecap,m.wireframeLinejoin):Hb(S)}else if(m instanceof THREE.MeshDepthMaterial){na=l.near;Oa=l.far;R.r=R.g=R.b=1-gc(a.positionScreen.z,na,Oa);P.r=P.g=P.b=1-gc(d.positionScreen.z, -na,Oa);U.r=U.g=U.b=1-gc(g.positionScreen.z,na,Oa);fa.r=fa.g=fa.b=1-gc(e.positionScreen.z,na,Oa);Pa=Ic(R,P,U,fa);w(B,F,Q,E,N,W);mc(B,F,Q,E,N,W,0,0,1,0,0,1,Pa);w(ba,H,aa,T,ca,ia);mc(ba,H,aa,T,ca,ia,1,0,1,1,0,1,Pa)}}}function w(a,b,c,d,e,f){o.beginPath();o.moveTo(a,b);o.lineTo(c,d);o.lineTo(e,f);o.lineTo(a,b)}function x(a,b,c,d,e,f,g,h){o.beginPath();o.moveTo(a,b);o.lineTo(c,d);o.lineTo(e,f);o.lineTo(g,h);o.lineTo(a,b)}function Pb(a,b,c,e){if(C!==b)C=o.lineWidth=b;if(D!==c)D=o.lineCap=c;if(z!==e)z=o.lineJoin= -e;d(a.getContextStyle());o.stroke();Aa.inflate(b*2)}function Hb(a){e(a.getContextStyle());o.fill()}function kd(a,b,c,d,f,g,h,k,i,j,m,l,n){if(!(n.image===void 0||n.image.width===0)){if(n.needsUpdate===true||ma[n.id]===void 0){var p=n.wrapS==THREE.RepeatWrapping,fc=n.wrapT==THREE.RepeatWrapping;ma[n.id]=o.createPattern(n.image,p===true&&fc===true?"repeat":p===true&&fc===false?"repeat-x":p===false&&fc===true?"repeat-y":"no-repeat");n.needsUpdate=false}e(ma[n.id]);var p=n.offset.x/n.repeat.x,fc=n.offset.y/ -n.repeat.y,r=n.image.width*n.repeat.x,q=n.image.height*n.repeat.y,h=(h+p)*r,k=(1-k+fc)*q,c=c-a,d=d-b,f=f-a,g=g-b,i=(i+p)*r-h,j=(1-j+fc)*q-k,m=(m+p)*r-h,l=(1-l+fc)*q-k,p=i*l-m*j;if(p===0){if(Ga[n.id]===void 0){b=document.createElement("canvas");b.width=n.image.width;b.height=n.image.height;b=b.getContext("2d");b.drawImage(n.image,0,0);Ga[n.id]=b.getImageData(0,0,n.image.width,n.image.height).data}b=Ga[n.id];h=(Math.floor(h)+Math.floor(k)*n.image.width)*4;S.setRGB(b[h]/255,b[h+1]/255,b[h+2]/255);Hb(S)}else{p= -1/p;n=(l*c-j*f)*p;j=(l*d-j*g)*p;c=(i*f-m*c)*p;d=(i*g-m*d)*p;a=a-n*h-c*k;h=b-j*h-d*k;o.save();o.transform(n,j,c,d,a,h);o.fill();o.restore()}}}function mc(a,b,c,d,e,f,g,h,k,i,j,m,l){var n,p;n=l.width-1;p=l.height-1;g=g*n;h=h*p;c=c-a;d=d-b;e=e-a;f=f-b;k=k*n-g;i=i*p-h;j=j*n-g;m=m*p-h;p=1/(k*m-j*i);n=(m*c-i*e)*p;i=(m*d-i*f)*p;c=(k*e-j*c)*p;d=(k*f-j*d)*p;a=a-n*g-c*h;b=b-i*g-d*h;o.save();o.transform(n,i,c,d,a,b);o.clip();o.drawImage(l,0,0);o.restore()}function Ic(a,b,c,d){var e=~~(a.r*255),f=~~(a.g*255), -a=~~(a.b*255),g=~~(b.r*255),h=~~(b.g*255),b=~~(b.b*255),i=~~(c.r*255),j=~~(c.g*255),c=~~(c.b*255),m=~~(d.r*255),l=~~(d.g*255),d=~~(d.b*255);Va[0]=e<0?0:e>255?255:e;Va[1]=f<0?0:f>255?255:f;Va[2]=a<0?0:a>255?255:a;Va[4]=g<0?0:g>255?255:g;Va[5]=h<0?0:h>255?255:h;Va[6]=b<0?0:b>255?255:b;Va[8]=i<0?0:i>255?255:i;Va[9]=j<0?0:j>255?255:j;Va[10]=c<0?0:c>255?255:c;Va[12]=m<0?0:m>255?255:m;Va[13]=l<0?0:l>255?255:l;Va[14]=d<0?0:d>255?255:d;Ya.putImageData(Gb,0,0);cb.drawImage(k,0,0);return pb}function gc(a,b, -c){a=(a-b)/(c-b);return a*a*(3-2*a)}function nc(a){a=(a+1)*0.5;return a<0?0:a>1?1:a}function Qb(a,b){var c=b.x-a.x,d=b.y-a.y,e=c*c+d*d;if(e!==0){e=1/Math.sqrt(e);c=c*e;d=d*e;b.x=b.x+c;b.y=b.y+d;a.x=a.x-c;a.y=a.y-d}}var Jc,ld,Ma,ib;this.autoClear===true?this.clear():o.setTransform(1,0,0,-1,p,r);f.info.render.vertices=0;f.info.render.faces=0;g=j.projectScene(a,l,this.sortElements);h=g.elements;i=g.lights;hb=i.length>0;hb===true&&m(i);Jc=0;for(ld=h.length;Jc 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#endif\n#if MAX_SPOT_LIGHTS > 0\nuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\nuniform float spotLightAngle[ MAX_SPOT_LIGHTS ];\nuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\n#endif\n#ifdef WRAP_AROUND\nuniform vec3 wrapRGB;\n#endif", -lights_lambert_vertex:"vLightFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\nvLightBack = vec3( 0.0 );\n#endif\ntransformedNormal = normalize( transformedNormal );\n#if MAX_DIR_LIGHTS > 0\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nfloat dotProduct = dot( transformedNormal, dirVector );\nvec3 directionalLightWeighting = vec3( max( dotProduct, 0.0 ) );\n#ifdef DOUBLE_SIDED\nvec3 directionalLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\n#ifdef WRAP_AROUND\nvec3 directionalLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\n#endif\n#endif\n#ifdef WRAP_AROUND\nvec3 directionalLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\ndirectionalLightWeighting = mix( directionalLightWeighting, directionalLightWeightingHalf, wrapRGB );\n#ifdef DOUBLE_SIDED\ndirectionalLightWeightingBack = mix( directionalLightWeightingBack, directionalLightWeightingHalfBack, wrapRGB );\n#endif\n#endif\nvLightFront += directionalLightColor[ i ] * directionalLightWeighting;\n#ifdef DOUBLE_SIDED\nvLightBack += directionalLightColor[ i ] * directionalLightWeightingBack;\n#endif\n}\n#endif\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nfloat dotProduct = dot( transformedNormal, lVector );\nvec3 pointLightWeighting = vec3( max( dotProduct, 0.0 ) );\n#ifdef DOUBLE_SIDED\nvec3 pointLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\n#ifdef WRAP_AROUND\nvec3 pointLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\n#endif\n#endif\n#ifdef WRAP_AROUND\nvec3 pointLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\npointLightWeighting = mix( pointLightWeighting, pointLightWeightingHalf, wrapRGB );\n#ifdef DOUBLE_SIDED\npointLightWeightingBack = mix( pointLightWeightingBack, pointLightWeightingHalfBack, wrapRGB );\n#endif\n#endif\nvLightFront += pointLightColor[ i ] * pointLightWeighting * lDistance;\n#ifdef DOUBLE_SIDED\nvLightBack += pointLightColor[ i ] * pointLightWeightingBack * lDistance;\n#endif\n}\n#endif\n#if MAX_SPOT_LIGHTS > 0\nfor( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nlVector = normalize( lVector );\nfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - mPosition.xyz ) );\nif ( spotEffect > spotLightAngle[ i ] ) {\nspotEffect = pow( spotEffect, spotLightExponent[ i ] );\nfloat lDistance = 1.0;\nif ( spotLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );\nfloat dotProduct = dot( transformedNormal, lVector );\nvec3 spotLightWeighting = vec3( max( dotProduct, 0.0 ) );\n#ifdef DOUBLE_SIDED\nvec3 spotLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\n#ifdef WRAP_AROUND\nvec3 spotLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\n#endif\n#endif\n#ifdef WRAP_AROUND\nvec3 spotLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\nspotLightWeighting = mix( spotLightWeighting, spotLightWeightingHalf, wrapRGB );\n#ifdef DOUBLE_SIDED\nspotLightWeightingBack = mix( spotLightWeightingBack, spotLightWeightingHalfBack, wrapRGB );\n#endif\n#endif\nvLightFront += spotLightColor[ i ] * spotLightWeighting * lDistance * spotEffect;\n#ifdef DOUBLE_SIDED\nvLightBack += spotLightColor[ i ] * spotLightWeightingBack * lDistance * spotEffect;\n#endif\n}\n}\n#endif\nvLightFront = vLightFront * diffuse + ambient * ambientLightColor + emissive;\n#ifdef DOUBLE_SIDED\nvLightBack = vLightBack * diffuse + ambient * ambientLightColor + emissive;\n#endif", -lights_phong_pars_vertex:"#ifndef PHONG_PER_PIXEL\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\n#if MAX_SPOT_LIGHTS > 0\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\nvarying vec4 vSpotLight[ MAX_SPOT_LIGHTS ];\n#endif\n#endif\n#if MAX_SPOT_LIGHTS > 0\nvarying vec3 vWorldPosition;\n#endif",lights_phong_vertex:"#ifndef PHONG_PER_PIXEL\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nvPointLight[ i ] = vec4( lVector, lDistance );\n}\n#endif\n#if MAX_SPOT_LIGHTS > 0\nfor( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( spotLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );\nvSpotLight[ i ] = vec4( lVector, lDistance );\n}\n#endif\n#endif\n#if MAX_SPOT_LIGHTS > 0\nvWorldPosition = mPosition.xyz;\n#endif", -lights_phong_pars_fragment:"uniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\n#ifdef PHONG_PER_PIXEL\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#else\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\n#endif\n#if MAX_SPOT_LIGHTS > 0\nuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\nuniform float spotLightAngle[ MAX_SPOT_LIGHTS ];\nuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\n#ifdef PHONG_PER_PIXEL\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\n#else\nvarying vec4 vSpotLight[ MAX_SPOT_LIGHTS ];\n#endif\nvarying vec3 vWorldPosition;\n#endif\n#ifdef WRAP_AROUND\nuniform vec3 wrapRGB;\n#endif\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;", -lights_phong_fragment:"vec3 normal = normalize( vNormal );\nvec3 viewPosition = normalize( vViewPosition );\n#ifdef DOUBLE_SIDED\nnormal = normal * ( -1.0 + 2.0 * float( gl_FrontFacing ) );\n#endif\n#if MAX_POINT_LIGHTS > 0\nvec3 pointDiffuse = vec3( 0.0 );\nvec3 pointSpecular = vec3( 0.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\n#ifdef PHONG_PER_PIXEL\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz + vViewPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\n#else\nvec3 lVector = normalize( vPointLight[ i ].xyz );\nfloat lDistance = vPointLight[ i ].w;\n#endif\nfloat dotProduct = dot( normal, lVector );\n#ifdef WRAP_AROUND\nfloat pointDiffuseWeightFull = max( dotProduct, 0.0 );\nfloat pointDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\nvec3 pointDiffuseWeight = mix( vec3 ( pointDiffuseWeightFull ), vec3( pointDiffuseWeightHalf ), wrapRGB );\n#else\nfloat pointDiffuseWeight = max( dotProduct, 0.0 );\n#endif\npointDiffuse += diffuse * pointLightColor[ i ] * pointDiffuseWeight * lDistance;\nvec3 pointHalfVector = normalize( lVector + viewPosition );\nfloat pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );\nfloat pointSpecularWeight = max( pow( pointDotNormalHalf, shininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\nvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, pointHalfVector ), 5.0 );\npointSpecular += schlick * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * lDistance * specularNormalization;\n#else\npointSpecular += specular * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * lDistance;\n#endif\n}\n#endif\n#if MAX_SPOT_LIGHTS > 0\nvec3 spotDiffuse = vec3( 0.0 );\nvec3 spotSpecular = vec3( 0.0 );\nfor ( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\n#ifdef PHONG_PER_PIXEL\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz + vViewPosition.xyz;\nfloat lDistance = 1.0;\nif ( spotLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\n#else\nvec3 lVector = normalize( vSpotLight[ i ].xyz );\nfloat lDistance = vSpotLight[ i ].w;\n#endif\nfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - vWorldPosition ) );\nif ( spotEffect > spotLightAngle[ i ] ) {\nspotEffect = pow( spotEffect, spotLightExponent[ i ] );\nfloat dotProduct = dot( normal, lVector );\n#ifdef WRAP_AROUND\nfloat spotDiffuseWeightFull = max( dotProduct, 0.0 );\nfloat spotDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\nvec3 spotDiffuseWeight = mix( vec3 ( spotDiffuseWeightFull ), vec3( spotDiffuseWeightHalf ), wrapRGB );\n#else\nfloat spotDiffuseWeight = max( dotProduct, 0.0 );\n#endif\nspotDiffuse += diffuse * spotLightColor[ i ] * spotDiffuseWeight * lDistance * spotEffect;\nvec3 spotHalfVector = normalize( lVector + viewPosition );\nfloat spotDotNormalHalf = max( dot( normal, spotHalfVector ), 0.0 );\nfloat spotSpecularWeight = max( pow( spotDotNormalHalf, shininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\nvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, spotHalfVector ), 5.0 );\nspotSpecular += schlick * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * lDistance * specularNormalization * spotEffect;\n#else\nspotSpecular += specular * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * lDistance * spotEffect;\n#endif\n}\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec3 dirDiffuse = vec3( 0.0 );\nvec3 dirSpecular = vec3( 0.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nfloat dotProduct = dot( normal, dirVector );\n#ifdef WRAP_AROUND\nfloat dirDiffuseWeightFull = max( dotProduct, 0.0 );\nfloat dirDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\nvec3 dirDiffuseWeight = mix( vec3( dirDiffuseWeightFull ), vec3( dirDiffuseWeightHalf ), wrapRGB );\n#else\nfloat dirDiffuseWeight = max( dotProduct, 0.0 );\n#endif\ndirDiffuse += diffuse * directionalLightColor[ i ] * dirDiffuseWeight;\nvec3 dirHalfVector = normalize( dirVector + viewPosition );\nfloat dirDotNormalHalf = max( dot( normal, dirHalfVector ), 0.0 );\nfloat dirSpecularWeight = max( pow( dirDotNormalHalf, shininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\nvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( dirVector, dirHalfVector ), 5.0 );\ndirSpecular += schlick * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight * specularNormalization;\n#else\ndirSpecular += specular * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight;\n#endif\n}\n#endif\nvec3 totalDiffuse = vec3( 0.0 );\nvec3 totalSpecular = vec3( 0.0 );\n#if MAX_DIR_LIGHTS > 0\ntotalDiffuse += dirDiffuse;\ntotalSpecular += dirSpecular;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalDiffuse += pointDiffuse;\ntotalSpecular += pointSpecular;\n#endif\n#if MAX_SPOT_LIGHTS > 0\ntotalDiffuse += spotDiffuse;\ntotalSpecular += spotSpecular;\n#endif\n#ifdef METAL\ngl_FragColor.xyz = gl_FragColor.xyz * ( emissive + totalDiffuse + ambientLightColor * ambient + totalSpecular );\n#else\ngl_FragColor.xyz = gl_FragColor.xyz * ( emissive + totalDiffuse + ambientLightColor * ambient ) + totalSpecular;\n#endif", -color_pars_fragment:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_fragment:"#ifdef USE_COLOR\ngl_FragColor = gl_FragColor * vec4( vColor, opacity );\n#endif",color_pars_vertex:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\n#ifdef GAMMA_INPUT\nvColor = color * color;\n#else\nvColor = color;\n#endif\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n#ifdef BONE_TEXTURE\nuniform sampler2D boneTexture;\nmat4 getBoneMatrix( const in float i ) {\nfloat j = i * 4.0;\nfloat x = mod( j, N_BONE_PIXEL_X );\nfloat y = floor( j / N_BONE_PIXEL_X );\nconst float dx = 1.0 / N_BONE_PIXEL_X;\nconst float dy = 1.0 / N_BONE_PIXEL_Y;\ny = dy * ( y + 0.5 );\nvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\nvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\nvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\nvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\nmat4 bone = mat4( v1, v2, v3, v4 );\nreturn bone;\n}\n#else\nuniform mat4 boneGlobalMatrices[ MAX_BONES ];\nmat4 getBoneMatrix( const in float i ) {\nmat4 bone = boneGlobalMatrices[ int(i) ];\nreturn bone;\n}\n#endif\n#endif", -skinbase_vertex:"#ifdef USE_SKINNING\nmat4 boneMatX = getBoneMatrix( skinIndex.x );\nmat4 boneMatY = getBoneMatrix( skinIndex.y );\n#endif",skinning_vertex:"#ifdef USE_SKINNING\nvec4 skinned = boneMatX * skinVertexA * skinWeight.x;\nskinned \t += boneMatY * skinVertexB * skinWeight.y;\ngl_Position = projectionMatrix * modelViewMatrix * skinned;\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n#ifndef USE_MORPHNORMALS\nuniform float morphTargetInfluences[ 8 ];\n#else\nuniform float morphTargetInfluences[ 4 ];\n#endif\n#endif", -morphtarget_vertex:"#ifdef USE_MORPHTARGETS\nvec3 morphed = vec3( 0.0 );\nmorphed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\nmorphed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\nmorphed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\nmorphed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\n#ifndef USE_MORPHNORMALS\nmorphed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\nmorphed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\nmorphed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\nmorphed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\n#endif\nmorphed += position;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( morphed, 1.0 );\n#endif", -default_vertex:"#ifndef USE_MORPHTARGETS\n#ifndef USE_SKINNING\ngl_Position = projectionMatrix * mvPosition;\n#endif\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\nvec3 morphedNormal = vec3( 0.0 );\nmorphedNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\nmorphedNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\nmorphedNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\nmorphedNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\nmorphedNormal += normal;\n#endif", -skinnormal_vertex:"#ifdef USE_SKINNING\nmat4 skinMatrix = skinWeight.x * boneMatX;\nskinMatrix \t+= skinWeight.y * boneMatY;\nvec4 skinnedNormal = skinMatrix * vec4( normal, 0.0 );\n#endif",defaultnormal_vertex:"vec3 transformedNormal;\n#ifdef USE_SKINNING\ntransformedNormal = skinnedNormal.xyz;\n#endif\n#ifdef USE_MORPHNORMALS\ntransformedNormal = morphedNormal;\n#endif\n#ifndef USE_MORPHNORMALS\n#ifndef USE_SKINNING\ntransformedNormal = normal;\n#endif\n#endif\ntransformedNormal = normalMatrix * transformedNormal;", -shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\nuniform sampler2D shadowMap[ MAX_SHADOWS ];\nuniform vec2 shadowMapSize[ MAX_SHADOWS ];\nuniform float shadowDarkness[ MAX_SHADOWS ];\nuniform float shadowBias[ MAX_SHADOWS ];\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nfloat unpackDepth( const in vec4 rgba_depth ) {\nconst vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );\nfloat depth = dot( rgba_depth, bit_shift );\nreturn depth;\n}\n#endif",shadowmap_fragment:"#ifdef USE_SHADOWMAP\n#ifdef SHADOWMAP_DEBUG\nvec3 frustumColors[3];\nfrustumColors[0] = vec3( 1.0, 0.5, 0.0 );\nfrustumColors[1] = vec3( 0.0, 1.0, 0.8 );\nfrustumColors[2] = vec3( 0.0, 0.5, 1.0 );\n#endif\n#ifdef SHADOWMAP_CASCADE\nint inFrustumCount = 0;\n#endif\nfloat fDepth;\nvec3 shadowColor = vec3( 1.0 );\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvec3 shadowCoord = vShadowCoord[ i ].xyz / vShadowCoord[ i ].w;\nbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\nbool inFrustum = all( inFrustumVec );\n#ifdef SHADOWMAP_CASCADE\ninFrustumCount += int( inFrustum );\nbvec3 frustumTestVec = bvec3( inFrustum, inFrustumCount == 1, shadowCoord.z <= 1.0 );\n#else\nbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n#endif\nbool frustumTest = all( frustumTestVec );\nif ( frustumTest ) {\nshadowCoord.z += shadowBias[ i ];\n#ifdef SHADOWMAP_SOFT\nfloat shadow = 0.0;\nconst float shadowDelta = 1.0 / 9.0;\nfloat xPixelOffset = 1.0 / shadowMapSize[ i ].x;\nfloat yPixelOffset = 1.0 / shadowMapSize[ i ].y;\nfloat dx0 = -1.25 * xPixelOffset;\nfloat dy0 = -1.25 * yPixelOffset;\nfloat dx1 = 1.25 * xPixelOffset;\nfloat dy1 = 1.25 * yPixelOffset;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, 0.0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, 0.0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy1 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy1 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy1 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nshadowColor = shadowColor * vec3( ( 1.0 - shadowDarkness[ i ] * shadow ) );\n#else\nvec4 rgbaDepth = texture2D( shadowMap[ i ], shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < shadowCoord.z )\nshadowColor = shadowColor * vec3( 1.0 - shadowDarkness[ i ] );\n#endif\n}\n#ifdef SHADOWMAP_DEBUG\n#ifdef SHADOWMAP_CASCADE\nif ( inFrustum && inFrustumCount == 1 ) gl_FragColor.xyz *= frustumColors[ i ];\n#else\nif ( inFrustum ) gl_FragColor.xyz *= frustumColors[ i ];\n#endif\n#endif\n}\n#ifdef GAMMA_OUTPUT\nshadowColor *= shadowColor;\n#endif\ngl_FragColor.xyz = gl_FragColor.xyz * shadowColor;\n#endif", -shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nuniform mat4 shadowMatrix[ MAX_SHADOWS ];\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\nvec4 transformedPosition;\n#ifdef USE_MORPHTARGETS\ntransformedPosition = objectMatrix * vec4( morphed, 1.0 );\n#else\n#ifdef USE_SKINNING\ntransformedPosition = objectMatrix * skinned;\n#else\ntransformedPosition = objectMatrix * vec4( position, 1.0 );\n#endif\n#endif\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvShadowCoord[ i ] = shadowMatrix[ i ] * transformedPosition;\n}\n#endif", -alphatest_fragment:"#ifdef ALPHATEST\nif ( gl_FragColor.a < ALPHATEST ) discard;\n#endif",linear_to_gamma_fragment:"#ifdef GAMMA_OUTPUT\ngl_FragColor.xyz = sqrt( gl_FragColor.xyz );\n#endif"}; -THREE.UniformsUtils={merge:function(a){var b,c,d,e={};for(b=0;b=0)return a.geometry.materials[b.materialIndex]}function d(a){return a instanceof THREE.MeshBasicMaterial&&!a.envMap||a instanceof THREE.MeshDepthMaterial?false:a&&a.shading!==void 0&&a.shading===THREE.SmoothShading?THREE.SmoothShading:THREE.FlatShading}function e(a){return a.map||a.lightMap||a instanceof THREE.ShaderMaterial?true:false}function f(a,b,c){var d,e,f,g,h=a.vertices;g=h.length; -var i=a.colors,j=i.length,m=a.__vertexArray,l=a.__colorArray,n=a.__sortArray,o=a.verticesNeedUpdate,p=a.colorsNeedUpdate,r=a.__webglCustomAttributesList;if(c.sortParticles){hb.copy(Aa);hb.multiplySelf(c.matrixWorld);for(d=0;d=0;c--)a[c].object===b&&a.splice(c,1)}function o(a,b){for(var c=a.length-1;c>=0;c--)a[c]===b&&a.splice(c,1)}function q(a,b,c,d,f){if(d.needsUpdate){d.program&&E.deallocateMaterial(d);E.initMaterial(d,b,c,f);d.needsUpdate=false}if(d.morphTargets&&!f.__webglMorphTargetInfluences)f.__webglMorphTargetInfluences=new Float32Array(E.maxMorphTargets);var e=false,g=d.program,h=g.uniforms,i=d.uniforms;if(g!==N){k.useProgram(g);N=g;e=true}if(d.id!==ba){ba=d.id;e=true}if(e||a!==ca){k.uniformMatrix4fv(h.projectionMatrix, -false,a._projectionMatrixArray);a!==ca&&(ca=a)}if(e){if(c&&d.fog){i.fogColor.value=c.color;if(c instanceof THREE.Fog){i.fogNear.value=c.near;i.fogFar.value=c.far}else if(c instanceof THREE.FogExp2)i.fogDensity.value=c.density}if(d instanceof THREE.MeshPhongMaterial||d instanceof THREE.MeshLambertMaterial||d.lights){if(Ra){for(var j,m=0,l=0,n=0,o,p,r,q=sa,s=q.directional.colors,u=q.directional.positions,t=q.point.colors,w=q.point.positions,x=q.point.distances,C=q.spot.colors,B=q.spot.positions,H=q.spot.distances, -R=q.spot.directions,G=q.spot.angles,J=q.spot.exponents,F=0,M=0,U=0,P=r=0,c=P=0,e=b.length;c1||b.__oldAnisotropy)){k.texParameterf(a,Ya.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(b.anisotropy,pb));b.__oldAnisotropy=b.anisotropy}}function x(a,b){k.bindRenderbuffer(k.RENDERBUFFER,a);if(b.depthBuffer&&!b.stencilBuffer){k.renderbufferStorage(k.RENDERBUFFER,k.DEPTH_COMPONENT16,b.width,b.height);k.framebufferRenderbuffer(k.FRAMEBUFFER,k.DEPTH_ATTACHMENT,k.RENDERBUFFER,a)}else if(b.depthBuffer&&b.stencilBuffer){k.renderbufferStorage(k.RENDERBUFFER, -k.DEPTH_STENCIL,b.width,b.height);k.framebufferRenderbuffer(k.FRAMEBUFFER,k.DEPTH_STENCIL_ATTACHMENT,k.RENDERBUFFER,a)}else k.renderbufferStorage(k.RENDERBUFFER,k.RGBA4,b.width,b.height)}function C(a){return a===THREE.NearestFilter||a===THREE.NearestMipMapNearestFilter||a===THREE.NearestMipMapLinearFilter?k.NEAREST:k.LINEAR}function D(a){return a===THREE.RepeatWrapping?k.REPEAT:a===THREE.ClampToEdgeWrapping?k.CLAMP_TO_EDGE:a===THREE.MirroredRepeatWrapping?k.MIRRORED_REPEAT:a===THREE.NearestFilter? -k.NEAREST:a===THREE.NearestMipMapNearestFilter?k.NEAREST_MIPMAP_NEAREST:a===THREE.NearestMipMapLinearFilter?k.NEAREST_MIPMAP_LINEAR:a===THREE.LinearFilter?k.LINEAR:a===THREE.LinearMipMapNearestFilter?k.LINEAR_MIPMAP_NEAREST:a===THREE.LinearMipMapLinearFilter?k.LINEAR_MIPMAP_LINEAR:a===THREE.UnsignedByteType?k.UNSIGNED_BYTE:a===THREE.UnsignedShort4444Type?k.UNSIGNED_SHORT_4_4_4_4:a===THREE.UnsignedShort5551Type?k.UNSIGNED_SHORT_5_5_5_1:a===THREE.UnsignedShort565Type?k.UNSIGNED_SHORT_5_6_5:a===THREE.ByteType? -k.BYTE:a===THREE.ShortType?k.SHORT:a===THREE.UnsignedShortType?k.UNSIGNED_SHORT:a===THREE.IntType?k.INT:a===THREE.UnsignedIntType?k.UNSIGNED_INT:a===THREE.FloatType?k.FLOAT:a===THREE.AlphaFormat?k.ALPHA:a===THREE.RGBFormat?k.RGB:a===THREE.RGBAFormat?k.RGBA:a===THREE.LuminanceFormat?k.LUMINANCE:a===THREE.LuminanceAlphaFormat?k.LUMINANCE_ALPHA:a===THREE.AddEquation?k.FUNC_ADD:a===THREE.SubtractEquation?k.FUNC_SUBTRACT:a===THREE.ReverseSubtractEquation?k.FUNC_REVERSE_SUBTRACT:a===THREE.ZeroFactor?k.ZERO: -a===THREE.OneFactor?k.ONE:a===THREE.SrcColorFactor?k.SRC_COLOR:a===THREE.OneMinusSrcColorFactor?k.ONE_MINUS_SRC_COLOR:a===THREE.SrcAlphaFactor?k.SRC_ALPHA:a===THREE.OneMinusSrcAlphaFactor?k.ONE_MINUS_SRC_ALPHA:a===THREE.DstAlphaFactor?k.DST_ALPHA:a===THREE.OneMinusDstAlphaFactor?k.ONE_MINUS_DST_ALPHA:a===THREE.DstColorFactor?k.DST_COLOR:a===THREE.OneMinusDstColorFactor?k.ONE_MINUS_DST_COLOR:a===THREE.SrcAlphaSaturateFactor?k.SRC_ALPHA_SATURATE:0}console.log("THREE.WebGLRenderer",THREE.REVISION);var a= -a||{},z=a.canvas!==void 0?a.canvas:document.createElement("canvas"),u=a.precision!==void 0?a.precision:"highp",G=a.alpha!==void 0?a.alpha:true,J=a.premultipliedAlpha!==void 0?a.premultipliedAlpha:true,M=a.antialias!==void 0?a.antialias:false,O=a.stencil!==void 0?a.stencil:true,X=a.preserveDrawingBuffer!==void 0?a.preserveDrawingBuffer:false,B=a.clearColor!==void 0?new THREE.Color(a.clearColor):new THREE.Color(0),F=a.clearAlpha!==void 0?a.clearAlpha:0,Q=a.maxLights!==void 0?a.maxLights:4;this.domElement= -z;this.context=null;this.autoUpdateScene=this.autoUpdateObjects=this.sortObjects=this.autoClearStencil=this.autoClearDepth=this.autoClearColor=this.autoClear=true;this.shadowMapEnabled=this.physicallyBasedShading=this.gammaOutput=this.gammaInput=false;this.shadowMapCullFrontFaces=this.shadowMapSoft=this.shadowMapAutoUpdate=true;this.shadowMapCascade=this.shadowMapDebug=false;this.maxMorphTargets=8;this.maxMorphNormals=4;this.autoScaleCubemaps=true;this.renderPluginsPre=[];this.renderPluginsPost=[]; -this.info={memory:{programs:0,geometries:0,textures:0},render:{calls:0,vertices:0,faces:0,points:0}};var E=this,aa=[],T=0,N=null,W=null,ba=-1,H=null,ca=null,ia=0,S=-1,R=-1,P=-1,U=-1,fa=-1,ma=-1,Ga=-1,na=-1,Oa=null,Pa=null,bb=null,nb=null,gb=0,Ob=0,ob=0,kb=0,ec=0,Ua=0,Da=new THREE.Frustum,Aa=new THREE.Matrix4,hb=new THREE.Matrix4,qa=new THREE.Vector4,Fa=new THREE.Vector3,Ra=true,sa={ambient:[0,0,0],directional:{length:0,colors:[],positions:[]},point:{length:0,colors:[],positions:[],distances:[]},spot:{length:0, -colors:[],positions:[],distances:[],directions:[],angles:[],exponents:[]}},k,Ya;try{if(!(k=z.getContext("experimental-webgl",{alpha:G,premultipliedAlpha:J,antialias:M,stencil:O,preserveDrawingBuffer:X})))throw"Error creating WebGL context.";}catch(Gb){console.error(Gb)}a=k.getExtension("OES_texture_float");G=k.getExtension("OES_standard_derivatives");Ya=k.getExtension("EXT_texture_filter_anisotropic")||k.getExtension("MOZ_EXT_texture_filter_anisotropic")||k.getExtension("WEBKIT_EXT_texture_filter_anisotropic"); -a||console.log("THREE.WebGLRenderer: Float textures not supported.");G||console.log("THREE.WebGLRenderer: Standard derivatives not supported.");Ya||console.log("THREE.WebGLRenderer: Anisotropic texture filtering not supported.");k.clearColor(0,0,0,1);k.clearDepth(1);k.clearStencil(0);k.enable(k.DEPTH_TEST);k.depthFunc(k.LEQUAL);k.frontFace(k.CCW);k.cullFace(k.BACK);k.enable(k.CULL_FACE);k.enable(k.BLEND);k.blendEquation(k.FUNC_ADD);k.blendFunc(k.SRC_ALPHA,k.ONE_MINUS_SRC_ALPHA);k.clearColor(B.r,B.g, -B.b,F);this.context=k;G=k.getParameter(k.MAX_VERTEX_TEXTURE_IMAGE_UNITS);k.getParameter(k.MAX_TEXTURE_SIZE);var Va=k.getParameter(k.MAX_CUBE_MAP_TEXTURE_SIZE),pb=Ya?k.getParameter(Ya.MAX_TEXTURE_MAX_ANISOTROPY_EXT):0,cb=G>0,dc=cb&&a;this.getContext=function(){return k};this.supportsVertexTextures=function(){return cb};this.getMaxAnisotropy=function(){return pb};this.setSize=function(a,b){z.width=a;z.height=b;this.setViewport(0,0,z.width,z.height)};this.setViewport=function(a,b,c,d){gb=a!==void 0? -a:0;Ob=b!==void 0?b:0;ob=c!==void 0?c:z.width;kb=d!==void 0?d:z.height;k.viewport(gb,Ob,ob,kb)};this.setScissor=function(a,b,c,d){k.scissor(a,b,c,d)};this.enableScissorTest=function(a){a?k.enable(k.SCISSOR_TEST):k.disable(k.SCISSOR_TEST)};this.setClearColorHex=function(a,b){B.setHex(a);F=b;k.clearColor(B.r,B.g,B.b,F)};this.setClearColor=function(a,b){B.copy(a);F=b;k.clearColor(B.r,B.g,B.b,F)};this.getClearColor=function(){return B};this.getClearAlpha=function(){return F};this.clear=function(a,b,c){var d= -0;if(a===void 0||a)d=d|k.COLOR_BUFFER_BIT;if(b===void 0||b)d=d|k.DEPTH_BUFFER_BIT;if(c===void 0||c)d=d|k.STENCIL_BUFFER_BIT;k.clear(d)};this.clearTarget=function(a,b,c,d){this.setRenderTarget(a);this.clear(b,c,d)};this.addPostPlugin=function(a){a.init(this);this.renderPluginsPost.push(a)};this.addPrePlugin=function(a){a.init(this);this.renderPluginsPre.push(a)};this.deallocateObject=function(a){if(a.__webglInit){a.__webglInit=false;delete a._modelViewMatrix;delete a._normalMatrix;delete a._normalMatrixArray; -delete a._modelViewMatrixArray;delete a._objectMatrixArray;if(a instanceof THREE.Mesh)for(var b in a.geometry.geometryGroups){var c=a.geometry.geometryGroups[b];k.deleteBuffer(c.__webglVertexBuffer);k.deleteBuffer(c.__webglNormalBuffer);k.deleteBuffer(c.__webglTangentBuffer);k.deleteBuffer(c.__webglColorBuffer);k.deleteBuffer(c.__webglUVBuffer);k.deleteBuffer(c.__webglUV2Buffer);k.deleteBuffer(c.__webglSkinVertexABuffer);k.deleteBuffer(c.__webglSkinVertexBBuffer);k.deleteBuffer(c.__webglSkinIndicesBuffer); -k.deleteBuffer(c.__webglSkinWeightsBuffer);k.deleteBuffer(c.__webglFaceBuffer);k.deleteBuffer(c.__webglLineBuffer);var d=void 0,e=void 0;if(c.numMorphTargets){d=0;for(e=c.numMorphTargets;d1&&(b=true);d=0;for(c=f.length;d=0&&h){i=h.itemSize;k.bindBuffer(k.ARRAY_BUFFER,h.buffer);k.vertexAttribPointer(a.normal,i,k.FLOAT,false,0,g*i*4)}h=e.attributes.uv; -if(a.uv>=0&&h)if(h.buffer){i=h.itemSize;k.bindBuffer(k.ARRAY_BUFFER,h.buffer);k.vertexAttribPointer(a.uv,i,k.FLOAT,false,0,g*i*4);k.enableVertexAttribArray(a.uv)}else k.disableVertexAttribArray(a.uv);h=e.attributes.color;if(a.color>=0&&h){i=h.itemSize;k.bindBuffer(k.ARRAY_BUFFER,h.buffer);k.vertexAttribPointer(a.color,i,k.FLOAT,false,0,g*i*4)}h=e.attributes.tangent;if(a.tangent>=0&&h){i=h.itemSize;k.bindBuffer(k.ARRAY_BUFFER,h.buffer);k.vertexAttribPointer(a.tangent,i,k.FLOAT,false,0,g*i*4)}k.bindBuffer(k.ELEMENT_ARRAY_BUFFER, -e.attributes.index.buffer)}k.drawElements(k.TRIANGLES,f[d].count,k.UNSIGNED_SHORT,f[d].start*2);E.info.render.calls++;E.info.render.vertices=E.info.render.vertices+f[d].count;E.info.render.faces=E.info.render.faces+f[d].count/3}}}};this.renderBuffer=function(a,b,c,d,e,f){if(d.visible!==false){var g,i,c=q(a,b,c,d,f),b=c.attributes,a=false,c=e.id*16777215+c.id*2+(d.wireframe?1:0);if(c!==H){H=c;a=true}if(!d.morphTargets&&b.position>=0){if(a){k.bindBuffer(k.ARRAY_BUFFER,e.__webglVertexBuffer);k.vertexAttribPointer(b.position, -3,k.FLOAT,false,0,0)}}else if(f.morphTargetBase){c=d.program.attributes;if(f.morphTargetBase!==-1){k.bindBuffer(k.ARRAY_BUFFER,e.__webglMorphTargetsBuffers[f.morphTargetBase]);k.vertexAttribPointer(c.position,3,k.FLOAT,false,0,0)}else if(c.position>=0){k.bindBuffer(k.ARRAY_BUFFER,e.__webglVertexBuffer);k.vertexAttribPointer(c.position,3,k.FLOAT,false,0,0)}if(f.morphTargetForcedOrder.length){var j=0;i=f.morphTargetForcedOrder;for(g=f.morphTargetInfluences;j0&&i.push([m,j])}if(i.length>d.numSupportedMorphTargets){i.sort(h);i.length=d.numSupportedMorphTargets}else i.length>d.numSupportedMorphNormals? -i.sort(h):i.length===0&&i.push([0,0]);for(j=0;j=0){k.bindBuffer(k.ARRAY_BUFFER,c.buffer);k.vertexAttribPointer(b[c.buffer.belongsToAttribute],c.size,k.FLOAT,false,0,0)}}}if(b.color>=0){k.bindBuffer(k.ARRAY_BUFFER, -e.__webglColorBuffer);k.vertexAttribPointer(b.color,3,k.FLOAT,false,0,0)}if(b.normal>=0){k.bindBuffer(k.ARRAY_BUFFER,e.__webglNormalBuffer);k.vertexAttribPointer(b.normal,3,k.FLOAT,false,0,0)}if(b.tangent>=0){k.bindBuffer(k.ARRAY_BUFFER,e.__webglTangentBuffer);k.vertexAttribPointer(b.tangent,4,k.FLOAT,false,0,0)}if(b.uv>=0)if(e.__webglUVBuffer){k.bindBuffer(k.ARRAY_BUFFER,e.__webglUVBuffer);k.vertexAttribPointer(b.uv,2,k.FLOAT,false,0,0);k.enableVertexAttribArray(b.uv)}else k.disableVertexAttribArray(b.uv); -if(b.uv2>=0)if(e.__webglUV2Buffer){k.bindBuffer(k.ARRAY_BUFFER,e.__webglUV2Buffer);k.vertexAttribPointer(b.uv2,2,k.FLOAT,false,0,0);k.enableVertexAttribArray(b.uv2)}else k.disableVertexAttribArray(b.uv2);if(d.skinning&&b.skinVertexA>=0&&b.skinVertexB>=0&&b.skinIndex>=0&&b.skinWeight>=0){k.bindBuffer(k.ARRAY_BUFFER,e.__webglSkinVertexABuffer);k.vertexAttribPointer(b.skinVertexA,4,k.FLOAT,false,0,0);k.bindBuffer(k.ARRAY_BUFFER,e.__webglSkinVertexBBuffer);k.vertexAttribPointer(b.skinVertexB,4,k.FLOAT, -false,0,0);k.bindBuffer(k.ARRAY_BUFFER,e.__webglSkinIndicesBuffer);k.vertexAttribPointer(b.skinIndex,4,k.FLOAT,false,0,0);k.bindBuffer(k.ARRAY_BUFFER,e.__webglSkinWeightsBuffer);k.vertexAttribPointer(b.skinWeight,4,k.FLOAT,false,0,0)}}if(f instanceof THREE.Mesh){if(d.wireframe){d=d.wireframeLinewidth;if(d!==nb){k.lineWidth(d);nb=d}a&&k.bindBuffer(k.ELEMENT_ARRAY_BUFFER,e.__webglLineBuffer);k.drawElements(k.LINES,e.__webglLineCount,k.UNSIGNED_SHORT,0)}else{a&&k.bindBuffer(k.ELEMENT_ARRAY_BUFFER,e.__webglFaceBuffer); -k.drawElements(k.TRIANGLES,e.__webglFaceCount,k.UNSIGNED_SHORT,0)}E.info.render.calls++;E.info.render.vertices=E.info.render.vertices+e.__webglFaceCount;E.info.render.faces=E.info.render.faces+e.__webglFaceCount/3}else if(f instanceof THREE.Line){f=f.type===THREE.LineStrip?k.LINE_STRIP:k.LINES;d=d.linewidth;if(d!==nb){k.lineWidth(d);nb=d}k.drawArrays(f,0,e.__webglLineCount);E.info.render.calls++}else if(f instanceof THREE.ParticleSystem){k.drawArrays(k.POINTS,0,e.__webglParticleCount);E.info.render.calls++; -E.info.render.points=E.info.render.points+e.__webglParticleCount}else if(f instanceof THREE.Ribbon){k.drawArrays(k.TRIANGLE_STRIP,0,e.__webglVertexCount);E.info.render.calls++}}};this.render=function(a,b,c,d){var e,f,h,m,n=a.__lights,o=a.fog;ba=-1;Ra=true;if(b.parent===void 0){console.warn("DEPRECATED: Camera hasn't been added to a Scene. Adding it...");a.add(b)}this.autoUpdateScene&&a.updateMatrixWorld();if(!b._viewMatrixArray)b._viewMatrixArray=new Float32Array(16);if(!b._projectionMatrixArray)b._projectionMatrixArray= -new Float32Array(16);b.matrixWorldInverse.getInverse(b.matrixWorld);b.matrixWorldInverse.flattenToArray(b._viewMatrixArray);b.projectionMatrix.flattenToArray(b._projectionMatrixArray);Aa.multiply(b.projectionMatrix,b.matrixWorldInverse);Da.setFromMatrix(Aa);this.autoUpdateObjects&&this.initWebGLObjects(a);i(this.renderPluginsPre,a,b);E.info.render.calls=0;E.info.render.vertices=0;E.info.render.faces=0;E.info.render.points=0;this.setRenderTarget(c);(this.autoClear||d)&&this.clear(this.autoClearColor, -this.autoClearDepth,this.autoClearStencil);m=a.__webglObjects;d=0;for(e=m.length;d=0){t=r.geometry.materials[t];if(t.transparent){p.transparent=t;p.opaque=null}else{p.opaque=t;p.transparent=null}}}else if(t)if(t.transparent){p.transparent= -t;p.opaque=null}else{p.opaque=t;p.transparent=null}f.render=true;if(this.sortObjects)if(h.renderDepth)f.z=h.renderDepth;else{qa.copy(h.matrixWorld.getPosition());Aa.multiplyVector3(qa);f.z=qa.z}}}this.sortObjects&&m.sort(g);m=a.__webglObjectsImmediate;d=0;for(e=m.length;d65535){C[x].counter=C[x].counter+1;z=C[x].hash+"_"+C[x].counter;q.geometryGroups[z]===void 0&&(q.geometryGroups[z]={faces3:[],faces4:[],materialIndex:v,vertices:0,numMorphTargets:D,numMorphNormals:B})}u instanceof THREE.Face3?q.geometryGroups[z].faces3.push(s):q.geometryGroups[z].faces4.push(s);q.geometryGroups[z].vertices=q.geometryGroups[z].vertices+w}q.geometryGroupsList=[];var R=void 0;for(R in q.geometryGroups){q.geometryGroups[R].id= -ia++;q.geometryGroupsList.push(q.geometryGroups[R])}}for(i in j.geometryGroups){l=j.geometryGroups[i];if(!l.__webglVertexBuffer){var H=l;H.__webglVertexBuffer=k.createBuffer();H.__webglNormalBuffer=k.createBuffer();H.__webglTangentBuffer=k.createBuffer();H.__webglColorBuffer=k.createBuffer();H.__webglUVBuffer=k.createBuffer();H.__webglUV2Buffer=k.createBuffer();H.__webglSkinVertexABuffer=k.createBuffer();H.__webglSkinVertexBBuffer=k.createBuffer();H.__webglSkinIndicesBuffer=k.createBuffer();H.__webglSkinWeightsBuffer= -k.createBuffer();H.__webglFaceBuffer=k.createBuffer();H.__webglLineBuffer=k.createBuffer();var G=void 0,P=void 0;if(H.numMorphTargets){H.__webglMorphTargetsBuffers=[];G=0;for(P=H.numMorphTargets;G0||U.faceVertexUvs.length>0)F.__uvArray=new Float32Array(O*2);if(U.faceUvs.length>1||U.faceVertexUvs.length>1)F.__uv2Array=new Float32Array(O*2)}if(J.geometry.skinWeights.length&&J.geometry.skinIndices.length){F.__skinVertexAArray= -new Float32Array(O*4);F.__skinVertexBArray=new Float32Array(O*4);F.__skinIndexArray=new Float32Array(O*4);F.__skinWeightArray=new Float32Array(O*4)}F.__faceArray=new Uint16Array(W*3);F.__lineArray=new Uint16Array(S*2);var fa=void 0,ca=void 0;if(F.numMorphTargets){F.__morphTargetsArrays=[];fa=0;for(ca=F.numMorphTargets;fa0){k.bindBuffer(k.ARRAY_BUFFER,ga.__webglSkinVertexABuffer);k.bufferData(k.ARRAY_BUFFER,ua,Za);k.bindBuffer(k.ARRAY_BUFFER,ga.__webglSkinVertexBBuffer);k.bufferData(k.ARRAY_BUFFER,va,Za);k.bindBuffer(k.ARRAY_BUFFER,ga.__webglSkinIndicesBuffer);k.bufferData(k.ARRAY_BUFFER,wa,Za);k.bindBuffer(k.ARRAY_BUFFER,ga.__webglSkinWeightsBuffer);k.bufferData(k.ARRAY_BUFFER, -xa,Za)}}if(Ed&&cd){I=0;for(V=ka.length;I0){k.bindBuffer(k.ARRAY_BUFFER,ga.__webglColorBuffer);k.bufferData(k.ARRAY_BUFFER,La,Za)}}if(Dd&&Ta.hasTangents){I=0;for(V=ka.length;I0){k.bindBuffer(k.ARRAY_BUFFER,ga.__webglUVBuffer);k.bufferData(k.ARRAY_BUFFER,Cc,Za)}}if(rd&&hd&&od){I=0;for(V=ka.length;I0){k.bindBuffer(k.ARRAY_BUFFER,ga.__webglUV2Buffer);k.bufferData(k.ARRAY_BUFFER,Dc,Za)}}if(Bd){I=0;for(V=ka.length;I=0&&k.enableVertexAttribArray(r.position);r.color>=0&&k.enableVertexAttribArray(r.color);r.normal>=0&&k.enableVertexAttribArray(r.normal);r.tangent>=0&&k.enableVertexAttribArray(r.tangent);if(a.skinning&&r.skinVertexA>=0&&r.skinVertexB>=0&&r.skinIndex>=0&&r.skinWeight>=0){k.enableVertexAttribArray(r.skinVertexA);k.enableVertexAttribArray(r.skinVertexB);k.enableVertexAttribArray(r.skinIndex);k.enableVertexAttribArray(r.skinWeight)}if(a.attributes)for(i in a.attributes)r[i]!== -void 0&&r[i]>=0&&k.enableVertexAttribArray(r[i]);if(a.morphTargets){a.numSupportedMorphTargets=0;q="morphTarget";for(i=0;i=0){k.enableVertexAttribArray(r[s]);a.numSupportedMorphTargets++}}}if(a.morphNormals){a.numSupportedMorphNormals=0;q="morphNormal";for(i=0;i=0){k.enableVertexAttribArray(r[s]);a.numSupportedMorphNormals++}}}a.uniformsList=[];for(h in a.uniforms)a.uniformsList.push([a.uniforms[h],h])};this.setFaceCulling= -function(a,b){if(a){!b||b==="ccw"?k.frontFace(k.CCW):k.frontFace(k.CW);a==="back"?k.cullFace(k.BACK):a==="front"?k.cullFace(k.FRONT):k.cullFace(k.FRONT_AND_BACK);k.enable(k.CULL_FACE)}else k.disable(k.CULL_FACE)};this.setObjectFaces=function(a){if(S!==a.doubleSided){a.doubleSided?k.disable(k.CULL_FACE):k.enable(k.CULL_FACE);S=a.doubleSided}if(R!==a.flipSided){a.flipSided?k.frontFace(k.CW):k.frontFace(k.CCW);R=a.flipSided}};this.setDepthTest=function(a){if(Ga!==a){a?k.enable(k.DEPTH_TEST):k.disable(k.DEPTH_TEST); -Ga=a}};this.setDepthWrite=function(a){if(na!==a){k.depthMask(a);na=a}};this.setBlending=function(a,b,c,d){if(a!==P){if(a===THREE.NoBlending)k.disable(k.BLEND);else if(a===THREE.AdditiveBlending){k.enable(k.BLEND);k.blendEquation(k.FUNC_ADD);k.blendFunc(k.SRC_ALPHA,k.ONE)}else if(a===THREE.SubtractiveBlending){k.enable(k.BLEND);k.blendEquation(k.FUNC_ADD);k.blendFunc(k.ZERO,k.ONE_MINUS_SRC_COLOR)}else if(a===THREE.MultiplyBlending){k.enable(k.BLEND);k.blendEquation(k.FUNC_ADD);k.blendFunc(k.ZERO,k.SRC_COLOR)}else if(a=== -THREE.CustomBlending)k.enable(k.BLEND);else{k.enable(k.BLEND);k.blendEquationSeparate(k.FUNC_ADD,k.FUNC_ADD);k.blendFuncSeparate(k.SRC_ALPHA,k.ONE_MINUS_SRC_ALPHA,k.ONE,k.ONE_MINUS_SRC_ALPHA)}P=a}if(a===THREE.CustomBlending){if(b!==U){k.blendEquation(D(b));U=b}if(c!==fa||d!==ma){k.blendFunc(D(c),D(d));fa=c;ma=d}}else ma=fa=U=null};this.setTexture=function(a,b){if(a.needsUpdate){if(!a.__webglInit){a.__webglInit=true;a.__webglTexture=k.createTexture();E.info.memory.textures++}k.activeTexture(k.TEXTURE0+ -b);k.bindTexture(k.TEXTURE_2D,a.__webglTexture);k.pixelStorei(k.UNPACK_FLIP_Y_WEBGL,a.flipY);k.pixelStorei(k.UNPACK_PREMULTIPLY_ALPHA_WEBGL,a.premultiplyAlpha);var c=a.image,d=(c.width&c.width-1)===0&&(c.height&c.height-1)===0,e=D(a.format),f=D(a.type);v(k.TEXTURE_2D,a,d);a instanceof THREE.DataTexture?k.texImage2D(k.TEXTURE_2D,0,e,c.width,c.height,0,e,f,c.data):k.texImage2D(k.TEXTURE_2D,0,e,e,f,a.image);a.generateMipmaps&&d&&k.generateMipmap(k.TEXTURE_2D);a.needsUpdate=false;if(a.onUpdate)a.onUpdate()}else{k.activeTexture(k.TEXTURE0+ -b);k.bindTexture(k.TEXTURE_2D,a.__webglTexture)}};this.setRenderTarget=function(a){var b=a instanceof THREE.WebGLRenderTargetCube;if(a&&!a.__webglFramebuffer){if(a.depthBuffer===void 0)a.depthBuffer=true;if(a.stencilBuffer===void 0)a.stencilBuffer=true;a.__webglTexture=k.createTexture();var c=(a.width&a.width-1)===0&&(a.height&a.height-1)===0,d=D(a.format),e=D(a.type);if(b){a.__webglFramebuffer=[];a.__webglRenderbuffer=[];k.bindTexture(k.TEXTURE_CUBE_MAP,a.__webglTexture);v(k.TEXTURE_CUBE_MAP,a,c); -for(var f=0;f<6;f++){a.__webglFramebuffer[f]=k.createFramebuffer();a.__webglRenderbuffer[f]=k.createRenderbuffer();k.texImage2D(k.TEXTURE_CUBE_MAP_POSITIVE_X+f,0,d,a.width,a.height,0,d,e,null);var g=a,h=k.TEXTURE_CUBE_MAP_POSITIVE_X+f;k.bindFramebuffer(k.FRAMEBUFFER,a.__webglFramebuffer[f]);k.framebufferTexture2D(k.FRAMEBUFFER,k.COLOR_ATTACHMENT0,h,g.__webglTexture,0);x(a.__webglRenderbuffer[f],a)}c&&k.generateMipmap(k.TEXTURE_CUBE_MAP)}else{a.__webglFramebuffer=k.createFramebuffer();a.__webglRenderbuffer= -k.createRenderbuffer();k.bindTexture(k.TEXTURE_2D,a.__webglTexture);v(k.TEXTURE_2D,a,c);k.texImage2D(k.TEXTURE_2D,0,d,a.width,a.height,0,d,e,null);d=k.TEXTURE_2D;k.bindFramebuffer(k.FRAMEBUFFER,a.__webglFramebuffer);k.framebufferTexture2D(k.FRAMEBUFFER,k.COLOR_ATTACHMENT0,d,a.__webglTexture,0);x(a.__webglRenderbuffer,a);c&&k.generateMipmap(k.TEXTURE_2D)}b?k.bindTexture(k.TEXTURE_CUBE_MAP,null):k.bindTexture(k.TEXTURE_2D,null);k.bindRenderbuffer(k.RENDERBUFFER,null);k.bindFramebuffer(k.FRAMEBUFFER, -null)}if(a){b=b?a.__webglFramebuffer[a.activeCubeFace]:a.__webglFramebuffer;c=a.width;a=a.height;e=d=0}else{b=null;c=ob;a=kb;d=gb;e=Ob}if(b!==W){k.bindFramebuffer(k.FRAMEBUFFER,b);k.viewport(d,e,c,a);W=b}ec=c;Ua=a};this.shadowMapPlugin=new THREE.ShadowMapPlugin;this.addPrePlugin(this.shadowMapPlugin);this.addPostPlugin(new THREE.SpritePlugin);this.addPostPlugin(new THREE.LensFlarePlugin)}; -THREE.WebGLRenderTarget=function(a,b,c){this.width=a;this.height=b;c=c||{};this.wrapS=c.wrapS!==void 0?c.wrapS:THREE.ClampToEdgeWrapping;this.wrapT=c.wrapT!==void 0?c.wrapT:THREE.ClampToEdgeWrapping;this.magFilter=c.magFilter!==void 0?c.magFilter:THREE.LinearFilter;this.minFilter=c.minFilter!==void 0?c.minFilter:THREE.LinearMipMapLinearFilter;this.anisotropy=c.anisotropy!==void 0?c.anisotropy:1;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.format=c.format!==void 0?c.format: -THREE.RGBAFormat;this.type=c.type!==void 0?c.type:THREE.UnsignedByteType;this.depthBuffer=c.depthBuffer!==void 0?c.depthBuffer:true;this.stencilBuffer=c.stencilBuffer!==void 0?c.stencilBuffer:true;this.generateMipmaps=true}; -THREE.WebGLRenderTarget.prototype.clone=function(){var a=new THREE.WebGLRenderTarget(this.width,this.height);a.wrapS=this.wrapS;a.wrapT=this.wrapT;a.magFilter=this.magFilter;a.anisotropy=this.anisotropy;a.minFilter=this.minFilter;a.offset.copy(this.offset);a.repeat.copy(this.repeat);a.format=this.format;a.type=this.type;a.depthBuffer=this.depthBuffer;a.stencilBuffer=this.stencilBuffer;a.generateMipmaps=this.generateMipmaps;return a}; -THREE.WebGLRenderTargetCube=function(a,b,c){THREE.WebGLRenderTarget.call(this,a,b,c);this.activeCubeFace=0};THREE.WebGLRenderTargetCube.prototype=Object.create(THREE.WebGLRenderTarget.prototype);THREE.RenderableVertex=function(){this.positionWorld=new THREE.Vector3;this.positionScreen=new THREE.Vector4;this.visible=true};THREE.RenderableVertex.prototype.copy=function(a){this.positionWorld.copy(a.positionWorld);this.positionScreen.copy(a.positionScreen)}; -THREE.RenderableFace3=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.faceMaterial=this.material=null;this.uvs=[[]];this.z=null}; -THREE.RenderableFace4=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.v4=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.faceMaterial=this.material=null;this.uvs=[[]];this.z=null};THREE.RenderableObject=function(){this.z=this.object=null}; -THREE.RenderableParticle=function(){this.rotation=this.z=this.y=this.x=null;this.scale=new THREE.Vector2;this.material=null};THREE.RenderableLine=function(){this.z=null;this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.material=null}; -THREE.ColorUtils={adjustHSV:function(a,b,c,d){var e=THREE.ColorUtils.__hsv;THREE.ColorUtils.rgbToHsv(a,e);e.h=THREE.Math.clamp(e.h+b,0,1);e.s=THREE.Math.clamp(e.s+c,0,1);e.v=THREE.Math.clamp(e.v+d,0,1);a.setHSV(e.h,e.s,e.v)},rgbToHsv:function(a,b){var c=a.r,d=a.g,e=a.b,f=Math.max(Math.max(c,d),e),g=Math.min(Math.min(c,d),e);if(g===f)g=c=0;else{var h=f-g,g=h/f,c=(c===f?(d-e)/h:d===f?2+(e-c)/h:4+(c-d)/h)/6;c<0&&(c=c+1);c>1&&(c=c-1)}b===void 0&&(b={h:0,s:0,v:0});b.h=c;b.s=g;b.v=f;return b}}; -THREE.ColorUtils.__hsv={h:0,s:0,v:0}; -THREE.GeometryUtils={merge:function(a,b){for(var c,d,e=a.vertices.length,f=b instanceof THREE.Mesh?b.geometry:b,g=a.vertices,h=f.vertices,i=a.faces,j=f.faces,l=a.faceVertexUvs[0],m=f.faceVertexUvs[0],n={},p=0;p1){d=1-d;e=1-e}f=1-d-e;g.copy(a);g.multiplyScalar(d);h.copy(b);h.multiplyScalar(e);g.addSelf(h);h.copy(c);h.multiplyScalar(f);g.addSelf(h);return g},randomPointInFace:function(a,b,c){var d,e,f;if(a instanceof -THREE.Face3){d=b.vertices[a.a];e=b.vertices[a.b];f=b.vertices[a.c];return THREE.GeometryUtils.randomPointInTriangle(d,e,f)}if(a instanceof THREE.Face4){d=b.vertices[a.a];e=b.vertices[a.b];f=b.vertices[a.c];var b=b.vertices[a.d],g;if(c)if(a._area1&&a._area2){c=a._area1;g=a._area2}else{c=THREE.GeometryUtils.triangleArea(d,e,b);g=THREE.GeometryUtils.triangleArea(e,f,b);a._area1=c;a._area2=g}else{c=THREE.GeometryUtils.triangleArea(d,e,b);g=THREE.GeometryUtils.triangleArea(e,f,b)}return THREE.GeometryUtils.random()* -(c+g)a?b(c,e-1):j[e] -b||r>b||n>b){i=a.vertices.length;t=e.clone();v=e.clone();if(p>=r&&p>=n){j=j.clone();j.lerpSelf(l,0.5);t.a=f;t.b=i;t.c=h;v.a=i;v.b=g;v.c=h;if(e.vertexNormals.length===3){f=e.vertexNormals[0].clone();f.lerpSelf(e.vertexNormals[1],0.5);t.vertexNormals[1].copy(f);v.vertexNormals[0].copy(f)}if(e.vertexColors.length===3){f=e.vertexColors[0].clone();f.lerpSelf(e.vertexColors[1],0.5);t.vertexColors[1].copy(f);v.vertexColors[0].copy(f)}e=0}else if(r>=p&&r>=n){j=l.clone();j.lerpSelf(m,0.5);t.a=f;t.b=g;t.c= -i;v.a=i;v.b=h;v.c=f;if(e.vertexNormals.length===3){f=e.vertexNormals[1].clone();f.lerpSelf(e.vertexNormals[2],0.5);t.vertexNormals[2].copy(f);v.vertexNormals[0].copy(f);v.vertexNormals[1].copy(e.vertexNormals[2]);v.vertexNormals[2].copy(e.vertexNormals[0])}if(e.vertexColors.length===3){f=e.vertexColors[1].clone();f.lerpSelf(e.vertexColors[2],0.5);t.vertexColors[2].copy(f);v.vertexColors[0].copy(f);v.vertexColors[1].copy(e.vertexColors[2]);v.vertexColors[2].copy(e.vertexColors[0])}e=1}else{j=j.clone(); -j.lerpSelf(m,0.5);t.a=f;t.b=g;t.c=i;v.a=i;v.b=g;v.c=h;if(e.vertexNormals.length===3){f=e.vertexNormals[0].clone();f.lerpSelf(e.vertexNormals[2],0.5);t.vertexNormals[2].copy(f);v.vertexNormals[0].copy(f)}if(e.vertexColors.length===3){f=e.vertexColors[0].clone();f.lerpSelf(e.vertexColors[2],0.5);t.vertexColors[2].copy(f);v.vertexColors[0].copy(f)}e=2}x.push(t,v);a.vertices.push(j);f=0;for(g=a.faceVertexUvs.length;fb||r>b||o>b||q>b){s=a.vertices.length;w=a.vertices.length+1;t=e.clone();v=e.clone();if(p>=r&&p>=o&&p>=q||o>=r&&o>=p&&o>=q){p=j.clone();p.lerpSelf(l,0.5);l=m.clone();l.lerpSelf(n,0.5);t.a=f;t.b=s;t.c=w;t.d=i;v.a=s;v.b=g;v.c=h;v.d=w;if(e.vertexNormals.length===4){f=e.vertexNormals[0].clone();f.lerpSelf(e.vertexNormals[1],0.5);g=e.vertexNormals[2].clone();g.lerpSelf(e.vertexNormals[3],0.5);t.vertexNormals[1].copy(f); -t.vertexNormals[2].copy(g);v.vertexNormals[0].copy(f);v.vertexNormals[3].copy(g)}if(e.vertexColors.length===4){f=e.vertexColors[0].clone();f.lerpSelf(e.vertexColors[1],0.5);g=e.vertexColors[2].clone();g.lerpSelf(e.vertexColors[3],0.5);t.vertexColors[1].copy(f);t.vertexColors[2].copy(g);v.vertexColors[0].copy(f);v.vertexColors[3].copy(g)}e=0}else{p=l.clone();p.lerpSelf(m,0.5);l=n.clone();l.lerpSelf(j,0.5);t.a=f;t.b=g;t.c=s;t.d=w;v.a=w;v.b=s;v.c=h;v.d=i;if(e.vertexNormals.length===4){f=e.vertexNormals[1].clone(); -f.lerpSelf(e.vertexNormals[2],0.5);g=e.vertexNormals[3].clone();g.lerpSelf(e.vertexNormals[0],0.5);t.vertexNormals[2].copy(f);t.vertexNormals[3].copy(g);v.vertexNormals[0].copy(g);v.vertexNormals[1].copy(f)}if(e.vertexColors.length===4){f=e.vertexColors[1].clone();f.lerpSelf(e.vertexColors[2],0.5);g=e.vertexColors[3].clone();g.lerpSelf(e.vertexColors[0],0.5);t.vertexColors[2].copy(f);t.vertexColors[3].copy(g);v.vertexColors[0].copy(g);v.vertexColors[1].copy(f)}e=1}x.push(t,v);a.vertices.push(p,l); -f=0;for(g=a.faceVertexUvs.length;fe-1?e-1:m+1,r= -l-1<0?0:l-1,o=l+1>d-1?d-1:l+1,q=[],s=[0,0,h[(m*d+l)*4]/255*b];q.push([-1,0,h[(m*d+r)*4]/255*b]);q.push([-1,-1,h[(n*d+r)*4]/255*b]);q.push([0,-1,h[(n*d+l)*4]/255*b]);q.push([1,-1,h[(n*d+o)*4]/255*b]);q.push([1,0,h[(m*d+o)*4]/255*b]);q.push([1,1,h[(p*d+o)*4]/255*b]);q.push([0,1,h[(p*d+l)*4]/255*b]);q.push([-1,1,h[(p*d+r)*4]/255*b]);n=[];r=q.length;for(p=0;p 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#endif\n#if MAX_SPOT_LIGHTS > 0\nuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\nuniform float spotLightAngle[ MAX_SPOT_LIGHTS ];\nuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\n#endif\n#ifdef WRAP_AROUND\nuniform vec3 wrapRGB;\n#endif\nvarying vec3 vWorldPosition;", -THREE.ShaderChunk.shadowmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,"void main() {\nvec3 vViewPosition = cameraPosition - vWorldPosition;\ngl_FragColor = vec4( vec3( 1.0 ), uOpacity );\nvec3 specularTex = vec3( 1.0 );\nvec3 normalTex = texture2D( tNormal, vUv ).xyz * 2.0 - 1.0;\nnormalTex.xy *= uNormalScale;\nnormalTex = normalize( normalTex );\nif( enableDiffuse ) {\n#ifdef GAMMA_INPUT\nvec4 texelColor = texture2D( tDiffuse, vUv );\ntexelColor.xyz *= texelColor.xyz;\ngl_FragColor = gl_FragColor * texelColor;\n#else\ngl_FragColor = gl_FragColor * texture2D( tDiffuse, vUv );\n#endif\n}\nif( enableAO ) {\n#ifdef GAMMA_INPUT\nvec4 aoColor = texture2D( tAO, vUv );\naoColor.xyz *= aoColor.xyz;\ngl_FragColor.xyz = gl_FragColor.xyz * aoColor.xyz;\n#else\ngl_FragColor.xyz = gl_FragColor.xyz * texture2D( tAO, vUv ).xyz;\n#endif\n}\nif( enableSpecular )\nspecularTex = texture2D( tSpecular, vUv ).xyz;\nmat3 tsb = mat3( normalize( vTangent ), normalize( vBinormal ), normalize( vNormal ) );\nvec3 finalNormal = tsb * normalTex;\nvec3 normal = normalize( finalNormal );\nvec3 viewPosition = normalize( vViewPosition );\n#if MAX_POINT_LIGHTS > 0\nvec3 pointDiffuse = vec3( 0.0 );\nvec3 pointSpecular = vec3( 0.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 pointVector = lPosition.xyz + vViewPosition.xyz;\nfloat pointDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\npointDistance = 1.0 - min( ( length( pointVector ) / pointLightDistance[ i ] ), 1.0 );\npointVector = normalize( pointVector );\n#ifdef WRAP_AROUND\nfloat pointDiffuseWeightFull = max( dot( normal, pointVector ), 0.0 );\nfloat pointDiffuseWeightHalf = max( 0.5 * dot( normal, pointVector ) + 0.5, 0.0 );\nvec3 pointDiffuseWeight = mix( vec3 ( pointDiffuseWeightFull ), vec3( pointDiffuseWeightHalf ), wrapRGB );\n#else\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\n#endif\npointDiffuse += pointDistance * pointLightColor[ i ] * uDiffuseColor * pointDiffuseWeight;\nvec3 pointHalfVector = normalize( pointVector + viewPosition );\nfloat pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );\nfloat pointSpecularWeight = specularTex.r * max( pow( pointDotNormalHalf, uShininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\nvec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( pointVector, pointHalfVector ), 5.0 );\npointSpecular += schlick * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * pointDistance * specularNormalization;\n#else\npointSpecular += pointDistance * pointLightColor[ i ] * uSpecularColor * pointSpecularWeight * pointDiffuseWeight;\n#endif\n}\n#endif\n#if MAX_SPOT_LIGHTS > 0\nvec3 spotDiffuse = vec3( 0.0 );\nvec3 spotSpecular = vec3( 0.0 );\nfor ( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\nvec3 spotVector = lPosition.xyz + vViewPosition.xyz;\nfloat spotDistance = 1.0;\nif ( spotLightDistance[ i ] > 0.0 )\nspotDistance = 1.0 - min( ( length( spotVector ) / spotLightDistance[ i ] ), 1.0 );\nspotVector = normalize( spotVector );\nfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - vWorldPosition ) );\nif ( spotEffect > spotLightAngle[ i ] ) {\nspotEffect = pow( spotEffect, spotLightExponent[ i ] );\n#ifdef WRAP_AROUND\nfloat spotDiffuseWeightFull = max( dot( normal, spotVector ), 0.0 );\nfloat spotDiffuseWeightHalf = max( 0.5 * dot( normal, spotVector ) + 0.5, 0.0 );\nvec3 spotDiffuseWeight = mix( vec3 ( spotDiffuseWeightFull ), vec3( spotDiffuseWeightHalf ), wrapRGB );\n#else\nfloat spotDiffuseWeight = max( dot( normal, spotVector ), 0.0 );\n#endif\nspotDiffuse += spotDistance * spotLightColor[ i ] * uDiffuseColor * spotDiffuseWeight * spotEffect;\nvec3 spotHalfVector = normalize( spotVector + viewPosition );\nfloat spotDotNormalHalf = max( dot( normal, spotHalfVector ), 0.0 );\nfloat spotSpecularWeight = specularTex.r * max( pow( spotDotNormalHalf, uShininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\nvec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( spotVector, spotHalfVector ), 5.0 );\nspotSpecular += schlick * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * spotDistance * specularNormalization * spotEffect;\n#else\nspotSpecular += spotDistance * spotLightColor[ i ] * uSpecularColor * spotSpecularWeight * spotDiffuseWeight * spotEffect;\n#endif\n}\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec3 dirDiffuse = vec3( 0.0 );\nvec3 dirSpecular = vec3( 0.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\n#ifdef WRAP_AROUND\nfloat directionalLightWeightingFull = max( dot( normal, dirVector ), 0.0 );\nfloat directionalLightWeightingHalf = max( 0.5 * dot( normal, dirVector ) + 0.5, 0.0 );\nvec3 dirDiffuseWeight = mix( vec3( directionalLightWeightingFull ), vec3( directionalLightWeightingHalf ), wrapRGB );\n#else\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\n#endif\ndirDiffuse += directionalLightColor[ i ] * uDiffuseColor * dirDiffuseWeight;\nvec3 dirHalfVector = normalize( dirVector + viewPosition );\nfloat dirDotNormalHalf = max( dot( normal, dirHalfVector ), 0.0 );\nfloat dirSpecularWeight = specularTex.r * max( pow( dirDotNormalHalf, uShininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\nvec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( dirVector, dirHalfVector ), 5.0 );\ndirSpecular += schlick * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight * specularNormalization;\n#else\ndirSpecular += directionalLightColor[ i ] * uSpecularColor * dirSpecularWeight * dirDiffuseWeight;\n#endif\n}\n#endif\nvec3 totalDiffuse = vec3( 0.0 );\nvec3 totalSpecular = vec3( 0.0 );\n#if MAX_DIR_LIGHTS > 0\ntotalDiffuse += dirDiffuse;\ntotalSpecular += dirSpecular;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalDiffuse += pointDiffuse;\ntotalSpecular += pointSpecular;\n#endif\n#if MAX_SPOT_LIGHTS > 0\ntotalDiffuse += spotDiffuse;\ntotalSpecular += spotSpecular;\n#endif\ngl_FragColor.xyz = gl_FragColor.xyz * ( totalDiffuse + ambientLightColor * uAmbientColor) + totalSpecular;\nif ( enableReflection ) {\nvec3 vReflect = reflect( normalize( vWorldPosition ), normal );\nvec4 cubeColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );\n#ifdef GAMMA_INPUT\ncubeColor.xyz *= cubeColor.xyz;\n#endif\ngl_FragColor.xyz = mix( gl_FragColor.xyz, cubeColor.xyz, specularTex.r * uReflectivity );\n}", -THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.linear_to_gamma_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["attribute vec4 tangent;\nuniform vec2 uOffset;\nuniform vec2 uRepeat;\nuniform bool enableDisplacement;\n#ifdef VERTEX_TEXTURES\nuniform sampler2D tDisplacement;\nuniform float uDisplacementScale;\nuniform float uDisplacementBias;\n#endif\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\nvarying vec3 vWorldPosition;", -THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {\nvNormal = normalMatrix * normal;\nvTangent = normalMatrix * tangent.xyz;\nvBinormal = cross( vNormal, vTangent ) * tangent.w;\nvUv = uv * uRepeat + uOffset;\nvec3 displacedPosition;\n#ifdef VERTEX_TEXTURES\nif ( enableDisplacement ) {\nvec3 dv = texture2D( tDisplacement, uv ).xyz;\nfloat df = uDisplacementScale * dv.x + uDisplacementBias;\ndisplacedPosition = position + normalize( normal ) * df;\n} else {\ndisplacedPosition = position;\n}\n#else\ndisplacedPosition = position;\n#endif\nvec4 mvPosition = modelViewMatrix * vec4( displacedPosition, 1.0 );\nvec4 wPosition = objectMatrix * vec4( displacedPosition, 1.0 );\ngl_Position = projectionMatrix * mvPosition;\nvWorldPosition = wPosition.xyz;\n#ifdef USE_SHADOWMAP\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvShadowCoord[ i ] = shadowMatrix[ i ] * wPosition;\n}\n#endif\n}"].join("\n")}, -cube:{uniforms:{tCube:{type:"t",value:1,texture:null},tFlip:{type:"f",value:-1}},vertexShader:"varying vec3 vViewPosition;\nvoid main() {\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvViewPosition = cameraPosition - mPosition.xyz;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform samplerCube tCube;\nuniform float tFlip;\nvarying vec3 vViewPosition;\nvoid main() {\nvec3 wPos = cameraPosition - vViewPosition;\ngl_FragColor = textureCube( tCube, vec3( tFlip * wPos.x, wPos.yz ) );\n}"}}}); -THREE.FontUtils={faces:{},face:"helvetiker",weight:"normal",style:"normal",size:150,divisions:10,getFace:function(){return this.faces[this.face][this.weight][this.style]},loadFace:function(a){var b=a.familyName.toLowerCase();this.faces[b]=this.faces[b]||{};this.faces[b][a.cssFontWeight]=this.faces[b][a.cssFontWeight]||{};this.faces[b][a.cssFontWeight][a.cssFontStyle]=a;return this.faces[b][a.cssFontWeight][a.cssFontStyle]=a},drawText:function(a){for(var b=this.getFace(),c=this.size/b.resolution,d= -0,e=(""+a).split(""),f=e.length,g=[],a=0;a0)for(j=0;j2;){if(m--<=0){console.log("Warning, unable to triangulate polygon!");break}i=j;e<=i&&(i=0);j=i+1;e<=j&&(j=0);l=j+1;e<=l&&(l=0);var n;a:{n=a;var p=i,r=j,o=l,q=e,s=g,w=void 0,t=void 0,v=void 0,x=void 0,C=void 0, -D=void 0,z=void 0,u=void 0,G=void 0,t=n[s[p]].x,v=n[s[p]].y,x=n[s[r]].x,C=n[s[r]].y,D=n[s[o]].x,z=n[s[o]].y;if(1.0E-10>(x-t)*(z-v)-(C-v)*(D-t))n=false;else{for(w=0;w=0&&O>=0&&B>=0){n=false;break a}}n=true}}if(n){f.push([a[g[i]], -a[g[j]],a[g[l]]]);h.push([g[i],g[j],g[l]]);i=j;for(l=j+1;lb.max.x)b.max.x=c;if(db.max.y)b.max.y=d;if(eb.max.z)b.max.z=e}if(a===void 0||a.length===0){this.boundingBox.min.set(0,0,0);this.boundingBox.max.set(0,0,0)}},computeBoundingSphere:function(){if(!this.boundingSphere)this.boundingSphere= -{radius:0};var a=this.attributes.position.array;if(a){for(var b,c=0,d,e,f=0,g=a.length;fc&&(c=b)}this.boundingSphere.radius=c}},computeVertexNormals:function(){if(this.attributes.position&&this.attributes.index){var a,b,c,d;a=this.attributes.position.array.length;if(this.attributes.normal===void 0)this.attributes.normal={itemSize:3,array:new Float32Array(a),numItems:a};else{a=0;for(b=this.attributes.normal.array.length;a0)h=d-1;else{h=d;break}}d=h;if(c[d]==f)return d/(e-1);g=c[d];return c=(d+(f-g)/(c[d+1]-g))/(e-1)};THREE.Curve.prototype.getNormalVector=function(a){a=this.getTangent(a);return new THREE.Vector2(-a.y,a.x)}; -THREE.Curve.prototype.getTangent=function(a){var b=a-1.0E-4,a=a+1.0E-4;b<0&&(b=0);a>1&&(a=1);b=this.getPoint(b);return this.getPoint(a).clone().subSelf(b).normalize()};THREE.Curve.prototype.getTangentAt=function(a){return this.getTangent(this.getUtoTmapping(a))};THREE.LineCurve=function(a,b){this.v1=a;this.v2=b};THREE.LineCurve.prototype=Object.create(THREE.Curve.prototype);THREE.LineCurve.prototype.getPoint=function(a){var b=this.v2.clone().subSelf(this.v1);b.multiplyScalar(a).addSelf(this.v1);return b}; -THREE.LineCurve.prototype.getPointAt=function(a){return this.getPoint(a)};THREE.LineCurve.prototype.getTangent=function(){return this.v2.clone().subSelf(this.v1).normalize()};THREE.QuadraticBezierCurve=function(a,b,c){this.v0=a;this.v1=b;this.v2=c};THREE.QuadraticBezierCurve.prototype=Object.create(THREE.Curve.prototype); -THREE.QuadraticBezierCurve.prototype.getPoint=function(a){var b;b=THREE.Shape.Utils.b2(a,this.v0.x,this.v1.x,this.v2.x);a=THREE.Shape.Utils.b2(a,this.v0.y,this.v1.y,this.v2.y);return new THREE.Vector2(b,a)};THREE.QuadraticBezierCurve.prototype.getTangent=function(a){var b;b=THREE.Curve.Utils.tangentQuadraticBezier(a,this.v0.x,this.v1.x,this.v2.x);a=THREE.Curve.Utils.tangentQuadraticBezier(a,this.v0.y,this.v1.y,this.v2.y);b=new THREE.Vector2(b,a);b.normalize();return b}; -THREE.CubicBezierCurve=function(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d};THREE.CubicBezierCurve.prototype=Object.create(THREE.Curve.prototype);THREE.CubicBezierCurve.prototype.getPoint=function(a){var b;b=THREE.Shape.Utils.b3(a,this.v0.x,this.v1.x,this.v2.x,this.v3.x);a=THREE.Shape.Utils.b3(a,this.v0.y,this.v1.y,this.v2.y,this.v3.y);return new THREE.Vector2(b,a)}; -THREE.CubicBezierCurve.prototype.getTangent=function(a){var b;b=THREE.Curve.Utils.tangentCubicBezier(a,this.v0.x,this.v1.x,this.v2.x,this.v3.x);a=THREE.Curve.Utils.tangentCubicBezier(a,this.v0.y,this.v1.y,this.v2.y,this.v3.y);b=new THREE.Vector2(b,a);b.normalize();return b};THREE.SplineCurve=function(a){this.points=a==void 0?[]:a};THREE.SplineCurve.prototype=Object.create(THREE.Curve.prototype); -THREE.SplineCurve.prototype.getPoint=function(a){var b=new THREE.Vector2,c=[],d=this.points,e;e=(d.length-1)*a;a=Math.floor(e);e=e-a;c[0]=a==0?a:a-1;c[1]=a;c[2]=a>d.length-2?d.length-1:a+1;c[3]=a>d.length-3?d.length-1:a+2;b.x=THREE.Curve.Utils.interpolate(d[c[0]].x,d[c[1]].x,d[c[2]].x,d[c[3]].x,e);b.y=THREE.Curve.Utils.interpolate(d[c[0]].y,d[c[1]].y,d[c[2]].y,d[c[3]].y,e);return b}; -THREE.EllipseCurve=function(a,b,c,d,e,f,g){this.aX=a;this.aY=b;this.xRadius=c;this.yRadius=d;this.aStartAngle=e;this.aEndAngle=f;this.aClockwise=g};THREE.EllipseCurve.prototype=Object.create(THREE.Curve.prototype);THREE.EllipseCurve.prototype.getPoint=function(a){var b=this.aEndAngle-this.aStartAngle;this.aClockwise||(a=1-a);b=this.aStartAngle+a*b;a=this.aX+this.xRadius*Math.cos(b);b=this.aY+this.yRadius*Math.sin(b);return new THREE.Vector2(a,b)}; -THREE.ArcCurve=function(a,b,c,d,e,f){THREE.EllipseCurve.call(this,a,b,c,c,d,e,f)};THREE.ArcCurve.prototype=Object.create(THREE.EllipseCurve.prototype); -THREE.Curve.Utils={tangentQuadraticBezier:function(a,b,c,d){return 2*(1-a)*(c-b)+2*a*(d-c)},tangentCubicBezier:function(a,b,c,d,e){return-3*b*(1-a)*(1-a)+3*c*(1-a)*(1-a)-6*a*c*(1-a)+6*a*d*(1-a)-3*a*a*d+3*a*a*e},tangentSpline:function(a){return 6*a*a-6*a+(3*a*a-4*a+1)+(-6*a*a+6*a)+(3*a*a-2*a)},interpolate:function(a,b,c,d,e){var a=(c-a)*0.5,d=(d-b)*0.5,f=e*e;return(2*b-2*c+a+d)*e*f+(-3*b+3*c-2*a-d)*f+a*e+b}}; -THREE.Curve.create=function(a,b){a.prototype=Object.create(THREE.Curve.prototype);a.prototype.getPoint=b;return a};THREE.LineCurve3=THREE.Curve.create(function(a,b){this.v1=a;this.v2=b},function(a){var b=new THREE.Vector3;b.sub(this.v2,this.v1);b.multiplyScalar(a);b.addSelf(this.v1);return b}); -THREE.QuadraticBezierCurve3=THREE.Curve.create(function(a,b,c){this.v0=a;this.v1=b;this.v2=c},function(a){var b,c;b=THREE.Shape.Utils.b2(a,this.v0.x,this.v1.x,this.v2.x);c=THREE.Shape.Utils.b2(a,this.v0.y,this.v1.y,this.v2.y);a=THREE.Shape.Utils.b2(a,this.v0.z,this.v1.z,this.v2.z);return new THREE.Vector3(b,c,a)}); -THREE.CubicBezierCurve3=THREE.Curve.create(function(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d},function(a){var b,c;b=THREE.Shape.Utils.b3(a,this.v0.x,this.v1.x,this.v2.x,this.v3.x);c=THREE.Shape.Utils.b3(a,this.v0.y,this.v1.y,this.v2.y,this.v3.y);a=THREE.Shape.Utils.b3(a,this.v0.z,this.v1.z,this.v2.z,this.v3.z);return new THREE.Vector3(b,c,a)}); -THREE.SplineCurve3=THREE.Curve.create(function(a){this.points=a==void 0?[]:a},function(a){var b=new THREE.Vector3,c=[],d=this.points,e,a=(d.length-1)*a;e=Math.floor(a);a=a-e;c[0]=e==0?e:e-1;c[1]=e;c[2]=e>d.length-2?d.length-1:e+1;c[3]=e>d.length-3?d.length-1:e+2;e=d[c[0]];var f=d[c[1]],g=d[c[2]],c=d[c[3]];b.x=THREE.Curve.Utils.interpolate(e.x,f.x,g.x,c.x,a);b.y=THREE.Curve.Utils.interpolate(e.y,f.y,g.y,c.y,a);b.z=THREE.Curve.Utils.interpolate(e.z,f.z,g.z,c.z,a);return b}); -THREE.ClosedSplineCurve3=THREE.Curve.create(function(a){this.points=a==void 0?[]:a},function(a){var b=new THREE.Vector3,c=[],d=this.points,e;e=(d.length-0)*a;a=Math.floor(e);e=e-a;a=a+(a>0?0:(Math.floor(Math.abs(a)/d.length)+1)*d.length);c[0]=(a-1)%d.length;c[1]=a%d.length;c[2]=(a+1)%d.length;c[3]=(a+2)%d.length;b.x=THREE.Curve.Utils.interpolate(d[c[0]].x,d[c[1]].x,d[c[2]].x,d[c[3]].x,e);b.y=THREE.Curve.Utils.interpolate(d[c[0]].y,d[c[1]].y,d[c[2]].y,d[c[3]].y,e);b.z=THREE.Curve.Utils.interpolate(d[c[0]].z, -d[c[1]].z,d[c[2]].z,d[c[3]].z,e);return b});THREE.CurvePath=function(){this.curves=[];this.bends=[];this.autoClose=false};THREE.CurvePath.prototype=Object.create(THREE.Curve.prototype);THREE.CurvePath.prototype.add=function(a){this.curves.push(a)};THREE.CurvePath.prototype.checkConnection=function(){};THREE.CurvePath.prototype.closePath=function(){var a=this.curves[0].getPoint(0),b=this.curves[this.curves.length-1].getPoint(1);a.equals(b)||this.curves.push(new THREE.LineCurve(b,a))}; -THREE.CurvePath.prototype.getPoint=function(a){for(var b=a*this.getLength(),c=this.getCurveLengths(),a=0;a=b){b=c[a]-b;a=this.curves[a];b=1-b/a.getLength();return a.getPointAt(b)}a++}return null};THREE.CurvePath.prototype.getLength=function(){var a=this.getCurveLengths();return a[a.length-1]}; -THREE.CurvePath.prototype.getCurveLengths=function(){if(this.cacheLengths&&this.cacheLengths.length==this.curves.length)return this.cacheLengths;var a=[],b=0,c,d=this.curves.length;for(c=0;cb)b=f.x;else if(f.xc)c=f.y;else if(f.y0){g=c[c.length-1]; -p=g.x;r=g.y}else{g=this.actions[d-1].args;p=g[g.length-2];r=g[g.length-1]}for(f=1;f<=a;f++){o=f/a;g=THREE.Shape.Utils.b2(o,p,m,h);o=THREE.Shape.Utils.b2(o,r,n,i);c.push(new THREE.Vector2(g,o))}break;case THREE.PathActions.BEZIER_CURVE_TO:h=f[4];i=f[5];m=f[0];n=f[1];j=f[2];l=f[3];if(c.length>0){g=c[c.length-1];p=g.x;r=g.y}else{g=this.actions[d-1].args;p=g[g.length-2];r=g[g.length-1]}for(f=1;f<=a;f++){o=f/a;g=THREE.Shape.Utils.b3(o,p,m,j,h);o=THREE.Shape.Utils.b3(o,r,n,l,i);c.push(new THREE.Vector2(g, -o))}break;case THREE.PathActions.CSPLINE_THRU:g=this.actions[d-1].args;o=[new THREE.Vector2(g[g.length-2],g[g.length-1])];g=a*f[0].length;o=o.concat(f[0]);o=new THREE.SplineCurve(o);for(f=1;f<=g;f++)c.push(o.getPointAt(f/g));break;case THREE.PathActions.ARC:h=f[0];i=f[1];n=f[2];j=f[3];g=f[4];m=!!f[5];p=g-j;r=a*2;for(f=1;f<=r;f++){o=f/r;m||(o=1-o);o=j+o*p;g=h+n*Math.cos(o);o=i+n*Math.sin(o);c.push(new THREE.Vector2(g,o))}break;case THREE.PathActions.ELLIPSE:h=f[0];i=f[1];n=f[2];l=f[3];j=f[4];g=f[5]; -m=!!f[6];p=g-j;r=a*2;for(f=1;f<=r;f++){o=f/r;m||(o=1-o);o=j+o*p;g=h+n*Math.cos(o);o=i+l*Math.sin(o);c.push(new THREE.Vector2(g,o))}}}d=c[c.length-1];Math.abs(d.x-c[0].x)<1.0E-10&&Math.abs(d.y-c[0].y)<1.0E-10&&c.splice(c.length-1,1);b&&c.push(c[0]);return c}; -THREE.Path.prototype.toShapes=function(){var a,b,c,d,e=[],f=new THREE.Path;a=0;for(b=this.actions.length;a=0?h-1:c.length-1;f=g-1>=0?g-1:j.length-1;var o=[j[g],c[h],c[e]];m=THREE.FontUtils.Triangulate.area(o);var q=[j[g],j[f],c[h]];n=THREE.FontUtils.Triangulate.area(q);p=h;l=g;h=h+1;g=g+ --1;h<0&&(h=h+c.length);h=h%c.length;g<0&&(g=g+j.length);g=g%j.length;e=h-1>=0?h-1:c.length-1;f=g-1>=0?g-1:j.length-1;o=[j[g],c[h],c[e]];o=THREE.FontUtils.Triangulate.area(o);q=[j[g],j[f],c[h]];q=THREE.FontUtils.Triangulate.area(q);if(m+n>o+q){h=p;g=l;h<0&&(h=h+c.length);h=h%c.length;g<0&&(g=g+j.length);g=g%j.length;e=h-1>=0?h-1:c.length-1;f=g-1>=0?g-1:j.length-1}m=c.slice(0,h);n=c.slice(h);p=j.slice(g);l=j.slice(0,g);f=[j[g],j[f],c[h]];r.push([j[g],c[h],c[e]]);r.push(f);c=m.concat(p).concat(l).concat(n)}return{shape:c, -isolatedPts:r,allpoints:d}},triangulateShape:function(a,b){var c=THREE.Shape.Utils.removeHoles(a,b),d=c.allpoints,e=c.isolatedPts,c=THREE.FontUtils.Triangulate(c.shape,false),f,g,h,i,j={};f=0;for(g=d.length;f1){console.log("THREE.Animation.update: Warning! Scale out of bounds:"+d+" on bone "+m);d=d<0?0:1}if(c==="pos"){c=a.position;if(this.interpolationType===THREE.AnimationHandler.LINEAR){c.x=e[0]+ -(f[0]-e[0])*d;c.y=e[1]+(f[1]-e[1])*d;c.z=e[2]+(f[2]-e[2])*d}else if(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD){this.points[0]=this.getPrevKeyWith("pos",m,g.index-1).pos;this.points[1]=e;this.points[2]=f;this.points[3]=this.getNextKeyWith("pos",m,h.index+1).pos;d=d*0.33+0.33;e=this.interpolateCatmullRom(this.points,d);c.x=e[0];c.y=e[1];c.z=e[2];if(this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD){d= -this.interpolateCatmullRom(this.points,d*1.01);this.target.set(d[0],d[1],d[2]);this.target.subSelf(c);this.target.y=0;this.target.normalize();d=Math.atan2(this.target.x,this.target.z);a.rotation.set(0,d,0)}}}else if(c==="rot")THREE.Quaternion.slerp(e,f,a.quaternion,d);else if(c==="scl"){c=a.scale;c.x=e[0]+(f[0]-e[0])*d;c.y=e[1]+(f[1]-e[1])*d;c.z=e[2]+(f[2]-e[2])*d}}}}}; -THREE.Animation.prototype.interpolateCatmullRom=function(a,b){var c=[],d=[],e,f,g,h,i,j;e=(a.length-1)*b;f=Math.floor(e);e=e-f;c[0]=f===0?f:f-1;c[1]=f;c[2]=f>a.length-2?f:f+1;c[3]=f>a.length-3?f:f+2;f=a[c[0]];h=a[c[1]];i=a[c[2]];j=a[c[3]];c=e*e;g=e*c;d[0]=this.interpolate(f[0],h[0],i[0],j[0],e,c,g);d[1]=this.interpolate(f[1],h[1],i[1],j[1],e,c,g);d[2]=this.interpolate(f[2],h[2],i[2],j[2],e,c,g);return d}; -THREE.Animation.prototype.interpolate=function(a,b,c,d,e,f,g){a=(c-a)*0.5;d=(d-b)*0.5;return(2*(b-c)+a+d)*g+(-3*(b-c)-2*a-d)*f+a*e+b};THREE.Animation.prototype.getNextKeyWith=function(a,b,c){for(var d=this.data.hierarchy[b].keys,c=this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?c0?c:0:c>=0?c:c+d.length;c>=0;c--)if(d[c][a]!==void 0)return d[c];return this.data.hierarchy[b].keys[d.length-1]}; -THREE.KeyFrameAnimation=function(a,b,c){this.root=a;this.data=THREE.AnimationHandler.get(b);this.hierarchy=THREE.AnimationHandler.parse(a);this.currentTime=0;this.timeScale=0.0010;this.isPlaying=false;this.loop=this.isPaused=true;this.JITCompile=c!==void 0?c:true;a=0;for(b=this.hierarchy.length;a=g?b.interpolate(c,g):b.interpolate(c,c.time)}this.data.hierarchy[a].node.updateMatrix();d.matrixWorldNeedsUpdate=true}}if(this.JITCompile&&f[0][e]===void 0){this.hierarchy[0].updateMatrixWorld(true); -for(a=0;a=0?c:c+b.length;c>=0;c--)if(b[c].hasTarget(a))return b[c];return b[b.length-1]}; -THREE.CubeCamera=function(a,b,c){THREE.Object3D.call(this);var d=new THREE.PerspectiveCamera(90,1,a,b);d.up.set(0,-1,0);d.lookAt(new THREE.Vector3(1,0,0));this.add(d);var e=new THREE.PerspectiveCamera(90,1,a,b);e.up.set(0,-1,0);e.lookAt(new THREE.Vector3(-1,0,0));this.add(e);var f=new THREE.PerspectiveCamera(90,1,a,b);f.up.set(0,0,1);f.lookAt(new THREE.Vector3(0,1,0));this.add(f);var g=new THREE.PerspectiveCamera(90,1,a,b);g.up.set(0,0,-1);g.lookAt(new THREE.Vector3(0,-1,0));this.add(g);var h=new THREE.PerspectiveCamera(90, -1,a,b);h.up.set(0,-1,0);h.lookAt(new THREE.Vector3(0,0,1));this.add(h);var i=new THREE.PerspectiveCamera(90,1,a,b);i.up.set(0,-1,0);i.lookAt(new THREE.Vector3(0,0,-1));this.add(i);this.renderTarget=new THREE.WebGLRenderTargetCube(c,c,{format:THREE.RGBFormat,magFilter:THREE.LinearFilter,minFilter:THREE.LinearFilter});this.updateCubeMap=function(a,b){var c=this.renderTarget,n=c.generateMipmaps;c.generateMipmaps=false;c.activeCubeFace=0;a.render(b,d,c);c.activeCubeFace=1;a.render(b,e,c);c.activeCubeFace= -2;a.render(b,f,c);c.activeCubeFace=3;a.render(b,g,c);c.activeCubeFace=4;a.render(b,h,c);c.generateMipmaps=n;c.activeCubeFace=5;a.render(b,i,c)}};THREE.CubeCamera.prototype=Object.create(THREE.Object3D.prototype);THREE.CombinedCamera=function(a,b,c,d,e,f,g){THREE.Camera.call(this);this.fov=c;this.left=-a/2;this.right=a/2;this.top=b/2;this.bottom=-b/2;this.cameraO=new THREE.OrthographicCamera(a/-2,a/2,b/2,b/-2,f,g);this.cameraP=new THREE.PerspectiveCamera(c,a/b,d,e);this.zoom=1;this.toPerspective()}; -THREE.CombinedCamera.prototype=Object.create(THREE.Camera.prototype);THREE.CombinedCamera.prototype.toPerspective=function(){this.near=this.cameraP.near;this.far=this.cameraP.far;this.cameraP.fov=this.fov/this.zoom;this.cameraP.updateProjectionMatrix();this.projectionMatrix=this.cameraP.projectionMatrix;this.inPerspectiveMode=true;this.inOrthographicMode=false}; -THREE.CombinedCamera.prototype.toOrthographic=function(){var a=this.cameraP.aspect,b=(this.cameraP.near+this.cameraP.far)/2,b=Math.tan(this.fov/2)*b,a=2*b*a/2,b=b/this.zoom,a=a/this.zoom;this.cameraO.left=-a;this.cameraO.right=a;this.cameraO.top=b;this.cameraO.bottom=-b;this.cameraO.updateProjectionMatrix();this.near=this.cameraO.near;this.far=this.cameraO.far;this.projectionMatrix=this.cameraO.projectionMatrix;this.inPerspectiveMode=false;this.inOrthographicMode=true}; -THREE.CombinedCamera.prototype.setSize=function(a,b){this.cameraP.aspect=a/b;this.left=-a/2;this.right=a/2;this.top=b/2;this.bottom=-b/2};THREE.CombinedCamera.prototype.setFov=function(a){this.fov=a;this.inPerspectiveMode?this.toPerspective():this.toOrthographic()};THREE.CombinedCamera.prototype.updateProjectionMatrix=function(){if(this.inPerspectiveMode)this.toPerspective();else{this.toPerspective();this.toOrthographic()}}; -THREE.CombinedCamera.prototype.setLens=function(a,b){var c=2*Math.atan((b!==void 0?b:24)/(a*2))*(180/Math.PI);this.setFov(c);return c};THREE.CombinedCamera.prototype.setZoom=function(a){this.zoom=a;this.inPerspectiveMode?this.toPerspective():this.toOrthographic()};THREE.CombinedCamera.prototype.toFrontView=function(){this.rotation.x=0;this.rotation.y=0;this.rotation.z=0;this.rotationAutoUpdate=false}; -THREE.CombinedCamera.prototype.toBackView=function(){this.rotation.x=0;this.rotation.y=Math.PI;this.rotation.z=0;this.rotationAutoUpdate=false};THREE.CombinedCamera.prototype.toLeftView=function(){this.rotation.x=0;this.rotation.y=-Math.PI/2;this.rotation.z=0;this.rotationAutoUpdate=false};THREE.CombinedCamera.prototype.toRightView=function(){this.rotation.x=0;this.rotation.y=Math.PI/2;this.rotation.z=0;this.rotationAutoUpdate=false}; -THREE.CombinedCamera.prototype.toTopView=function(){this.rotation.x=-Math.PI/2;this.rotation.y=0;this.rotation.z=0;this.rotationAutoUpdate=false};THREE.CombinedCamera.prototype.toBottomView=function(){this.rotation.x=Math.PI/2;this.rotation.y=0;this.rotation.z=0;this.rotationAutoUpdate=false}; -THREE.FirstPersonControls=function(a,b){function c(a,b){return function(){b.apply(a,arguments)}}this.object=a;this.target=new THREE.Vector3(0,0,0);this.domElement=b!==void 0?b:document;this.movementSpeed=1;this.lookSpeed=0.0050;this.lookVertical=true;this.autoForward=false;this.activeLook=true;this.heightSpeed=false;this.heightCoef=1;this.heightMin=0;this.heightMax=1;this.constrainVertical=false;this.verticalMin=0;this.verticalMax=Math.PI;this.theta=this.phi=this.lon=this.lat=this.mouseY=this.mouseX= -this.autoSpeedFactor=0;this.mouseDragOn=this.freeze=this.moveRight=this.moveLeft=this.moveBackward=this.moveForward=false;this.viewHalfY=this.viewHalfX=0;this.domElement!==document&&this.domElement.setAttribute("tabindex",-1);this.handleResize=function(){if(this.domElement===document){this.viewHalfX=window.innerWidth/2;this.viewHalfY=window.innerHeight/2}else{this.viewHalfX=this.domElement.offsetWidth/2;this.viewHalfY=this.domElement.offsetHeight/2}};this.onMouseDown=function(a){this.domElement!== -document&&this.domElement.focus();a.preventDefault();a.stopPropagation();if(this.activeLook)switch(a.button){case 0:this.moveForward=true;break;case 2:this.moveBackward=true}this.mouseDragOn=true};this.onMouseUp=function(a){a.preventDefault();a.stopPropagation();if(this.activeLook)switch(a.button){case 0:this.moveForward=false;break;case 2:this.moveBackward=false}this.mouseDragOn=false};this.onMouseMove=function(a){if(this.domElement===document){this.mouseX=a.pageX-this.viewHalfX;this.mouseY=a.pageY- -this.viewHalfY}else{this.mouseX=a.pageX-this.domElement.offsetLeft-this.viewHalfX;this.mouseY=a.pageY-this.domElement.offsetTop-this.viewHalfY}};this.onKeyDown=function(a){switch(a.keyCode){case 38:case 87:this.moveForward=true;break;case 37:case 65:this.moveLeft=true;break;case 40:case 83:this.moveBackward=true;break;case 39:case 68:this.moveRight=true;break;case 82:this.moveUp=true;break;case 70:this.moveDown=true;break;case 81:this.freeze=!this.freeze}};this.onKeyUp=function(a){switch(a.keyCode){case 38:case 87:this.moveForward= -false;break;case 37:case 65:this.moveLeft=false;break;case 40:case 83:this.moveBackward=false;break;case 39:case 68:this.moveRight=false;break;case 82:this.moveUp=false;break;case 70:this.moveDown=false}};this.update=function(a){var b=0;if(!this.freeze){if(this.heightSpeed){b=THREE.Math.clamp(this.object.position.y,this.heightMin,this.heightMax)-this.heightMin;this.autoSpeedFactor=a*b*this.heightCoef}else this.autoSpeedFactor=0;b=a*this.movementSpeed;(this.moveForward||this.autoForward&&!this.moveBackward)&& -this.object.translateZ(-(b+this.autoSpeedFactor));this.moveBackward&&this.object.translateZ(b);this.moveLeft&&this.object.translateX(-b);this.moveRight&&this.object.translateX(b);this.moveUp&&this.object.translateY(b);this.moveDown&&this.object.translateY(-b);a=a*this.lookSpeed;this.activeLook||(a=0);this.lon=this.lon+this.mouseX*a;if(this.lookVertical)this.lat=this.lat-this.mouseY*a;this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*Math.PI/180;this.theta=this.lon*Math.PI/180;var b= -this.target,c=this.object.position;b.x=c.x+100*Math.sin(this.phi)*Math.cos(this.theta);b.y=c.y+100*Math.cos(this.phi);b.z=c.z+100*Math.sin(this.phi)*Math.sin(this.theta);b=1;this.constrainVertical&&(b=Math.PI/(this.verticalMax-this.verticalMin));this.lon=this.lon+this.mouseX*a;if(this.lookVertical)this.lat=this.lat-this.mouseY*a*b;this.lat=Math.max(-85,Math.min(85,this.lat));this.phi=(90-this.lat)*Math.PI/180;this.theta=this.lon*Math.PI/180;if(this.constrainVertical)this.phi=THREE.Math.mapLinear(this.phi, -0,Math.PI,this.verticalMin,this.verticalMax);b=this.target;c=this.object.position;b.x=c.x+100*Math.sin(this.phi)*Math.cos(this.theta);b.y=c.y+100*Math.cos(this.phi);b.z=c.z+100*Math.sin(this.phi)*Math.sin(this.theta);this.object.lookAt(b)}};this.domElement.addEventListener("contextmenu",function(a){a.preventDefault()},false);this.domElement.addEventListener("mousemove",c(this,this.onMouseMove),false);this.domElement.addEventListener("mousedown",c(this,this.onMouseDown),false);this.domElement.addEventListener("mouseup", -c(this,this.onMouseUp),false);this.domElement.addEventListener("keydown",c(this,this.onKeyDown),false);this.domElement.addEventListener("keyup",c(this,this.onKeyUp),false);this.handleResize()}; -THREE.PathControls=function(a,b){function c(a){return(a=a*2)<1?0.5*a*a:-0.5*(--a*(a-2)-1)}function d(a,b){return function(){b.apply(a,arguments)}}function e(a,b,c,d){var e={name:c,fps:0.6,length:d,hierarchy:[]},f,g=b.getControlPointsArray(),h=b.getLength(),q=g.length,s=0;f=q-1;b={parent:-1,keys:[]};b.keys[0]={time:0,pos:g[0],rot:[0,0,0,1],scl:[1,1,1]};b.keys[f]={time:d,pos:g[f],rot:[0,0,0,1],scl:[1,1,1]};for(f=1;f=0?a:a+g;b=this.verticalAngleMap.srcRange;a=this.verticalAngleMap.dstRange;b=THREE.Math.mapLinear(this.phi,b[0],b[1],a[0],a[1]);var d=a[1]-a[0];this.phi=c((b-a[0])/d)*d+a[0];b=this.horizontalAngleMap.srcRange;a=this.horizontalAngleMap.dstRange;b=THREE.Math.mapLinear(this.theta,b[0],b[1],a[0],a[1]);d=a[1]-a[0];this.theta=c((b-a[0])/d)*d+a[0];a=this.target.position;a.x=100*Math.sin(this.phi)*Math.cos(this.theta);a.y=100*Math.cos(this.phi);a.z=100*Math.sin(this.phi)*Math.sin(this.theta);this.object.lookAt(this.target.position)}; -this.onMouseMove=function(a){if(this.domElement===document){this.mouseX=a.pageX-this.viewHalfX;this.mouseY=a.pageY-this.viewHalfY}else{this.mouseX=a.pageX-this.domElement.offsetLeft-this.viewHalfX;this.mouseY=a.pageY-this.domElement.offsetTop-this.viewHalfY}};this.init=function(){this.spline=new THREE.Spline;this.spline.initFromArray(this.waypoints);this.useConstantSpeed&&this.spline.reparametrizeByArcLength(this.resamplingCoef);if(this.createDebugDummy){var a=new THREE.MeshLambertMaterial({color:30719}), -b=new THREE.MeshLambertMaterial({color:65280}),c=new THREE.CubeGeometry(10,10,20),g=new THREE.CubeGeometry(2,2,10);this.animationParent=new THREE.Mesh(c,a);a=new THREE.Mesh(g,b);a.position.set(0,10,0);this.animation=e(this.animationParent,this.spline,this.id,this.duration);this.animationParent.add(this.object);this.animationParent.add(this.target);this.animationParent.add(a)}else{this.animation=e(this.animationParent,this.spline,this.id,this.duration);this.animationParent.add(this.target);this.animationParent.add(this.object)}if(this.createDebugPath){var a= -this.debugPath,b=this.spline,g=f(b,10),c=f(b,10),h=new THREE.LineBasicMaterial({color:16711680,linewidth:3}),g=new THREE.Line(g,h),c=new THREE.ParticleSystem(c,new THREE.ParticleBasicMaterial({color:16755200,size:3}));g.scale.set(1,1,1);a.add(g);c.scale.set(1,1,1);a.add(c);for(var g=new THREE.SphereGeometry(1,16,8),h=new THREE.MeshBasicMaterial({color:65280}),p=0;p0){var b=this.getContainerDimensions(),c=b.size[0]/2,g=b.size[1]/2;this.moveState.yawLeft=-(a.pageX-b.offset[0]-c)/c;this.moveState.pitchDown=(a.pageY-b.offset[1]-g)/g;this.updateRotationVector()}};this.mouseup=function(a){a.preventDefault();a.stopPropagation();if(this.dragToLook){this.mouseStatus--;this.moveState.yawLeft=this.moveState.pitchDown=0}else switch(a.button){case 0:this.moveForward= -false;break;case 2:this.moveBackward=false}this.updateRotationVector()};this.update=function(a){var b=a*this.movementSpeed,a=a*this.rollSpeed;this.object.translateX(this.moveVector.x*b);this.object.translateY(this.moveVector.y*b);this.object.translateZ(this.moveVector.z*b);this.tmpQuaternion.set(this.rotationVector.x*a,this.rotationVector.y*a,this.rotationVector.z*a,1).normalize();this.object.quaternion.multiplySelf(this.tmpQuaternion);this.object.matrix.setPosition(this.object.position);this.object.matrix.setRotationFromQuaternion(this.object.quaternion); -this.object.matrixWorldNeedsUpdate=true};this.updateMovementVector=function(){var a=this.moveState.forward||this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right;this.moveVector.y=-this.moveState.down+this.moveState.up;this.moveVector.z=-a+this.moveState.back};this.updateRotationVector=function(){this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp;this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft;this.rotationVector.z= --this.moveState.rollRight+this.moveState.rollLeft};this.getContainerDimensions=function(){return this.domElement!=document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}};this.domElement.addEventListener("mousemove",c(this,this.mousemove),false);this.domElement.addEventListener("mousedown",c(this,this.mousedown),false);this.domElement.addEventListener("mouseup", -c(this,this.mouseup),false);this.domElement.addEventListener("keydown",c(this,this.keydown),false);this.domElement.addEventListener("keyup",c(this,this.keyup),false);this.updateMovementVector();this.updateRotationVector()}; -THREE.RollControls=function(a,b){this.object=a;this.domElement=b!==void 0?b:document;this.mouseLook=true;this.autoForward=false;this.rollSpeed=this.movementSpeed=this.lookSpeed=1;this.constrainVertical=[-0.9,0.9];this.object.matrixAutoUpdate=false;this.forward=new THREE.Vector3(0,0,1);this.roll=0;var c=new THREE.Vector3,d=new THREE.Vector3,e=new THREE.Vector3,f=new THREE.Matrix4,g=false,h=1,i=0,j=0,l=0,m=0,n=0,p=0,r=0;this.handleResize=function(){p=window.innerWidth/2;r=window.innerHeight/2};this.update= -function(a){if(this.mouseLook){var b=a*this.lookSpeed;this.rotateHorizontally(b*m);this.rotateVertically(b*n)}b=a*this.movementSpeed;this.object.translateZ(-b*(i>0||this.autoForward&&!(i<0)?1:i));this.object.translateX(b*j);this.object.translateY(b*l);if(g)this.roll=this.roll+this.rollSpeed*a*h;if(this.forward.y>this.constrainVertical[1]){this.forward.y=this.constrainVertical[1];this.forward.normalize()}else if(this.forward.y1?d.normalize():d.z=Math.sqrt(1-e*e);g.copy(c.object.position).subSelf(c.target);e=c.object.up.clone().setLength(d.y);e.addSelf(c.object.up.clone().crossSelf(g).setLength(d.x));e.addSelf(g.setLength(d.z));return e}; -this.rotateCamera=function(){var a=Math.acos(h.dot(i)/h.length()/i.length());if(a){var b=(new THREE.Vector3).cross(h,i).normalize(),d=new THREE.Quaternion,a=a*c.rotateSpeed;d.setFromAxisAngle(b,-a);d.multiplyVector3(g);d.multiplyVector3(c.object.up);d.multiplyVector3(i);if(c.staticMoving)h=i;else{d.setFromAxisAngle(b,a*(c.dynamicDampingFactor-1));d.multiplyVector3(h)}}};this.zoomCamera=function(){var a=1+(l.y-j.y)*c.zoomSpeed;if(a!==1&&a>0){g.multiplyScalar(a);c.staticMoving?j=l:j.y=j.y+(l.y-j.y)* -this.dynamicDampingFactor}};this.panCamera=function(){var a=n.clone().subSelf(m);if(a.lengthSq()){a.multiplyScalar(g.length()*c.panSpeed);var b=g.clone().crossSelf(c.object.up).setLength(a.x);b.addSelf(c.object.up.clone().setLength(a.y));c.object.position.addSelf(b);c.target.addSelf(b);c.staticMoving?m=n:m.addSelf(a.sub(n,m).multiplyScalar(c.dynamicDampingFactor))}};this.checkDistances=function(){if(!c.noZoom||!c.noPan){c.object.position.lengthSq()>c.maxDistance*c.maxDistance&&c.object.position.setLength(c.maxDistance); -g.lengthSq()0){c.dispatchEvent(p);d.copy(c.object.position)}};this.domElement.addEventListener("contextmenu",function(a){a.preventDefault()},false); -this.domElement.addEventListener("mousemove",function(a){if(c.enabled){if(e){h=i=c.getMouseProjectionOnBall(a.clientX,a.clientY);j=l=c.getMouseOnScreen(a.clientX,a.clientY);m=n=c.getMouseOnScreen(a.clientX,a.clientY);e=false}f!==-1&&(f===0&&!c.noRotate?i=c.getMouseProjectionOnBall(a.clientX,a.clientY):f===1&&!c.noZoom?l=c.getMouseOnScreen(a.clientX,a.clientY):f===2&&!c.noPan&&(n=c.getMouseOnScreen(a.clientX,a.clientY)))}},false);this.domElement.addEventListener("mousedown",function(a){if(c.enabled){a.preventDefault(); -a.stopPropagation();if(f===-1){f=a.button;f===0&&!c.noRotate?h=i=c.getMouseProjectionOnBall(a.clientX,a.clientY):f===1&&!c.noZoom?j=l=c.getMouseOnScreen(a.clientX,a.clientY):this.noPan||(m=n=c.getMouseOnScreen(a.clientX,a.clientY))}}},false);this.domElement.addEventListener("mouseup",function(a){if(c.enabled){a.preventDefault();a.stopPropagation();f=-1}},false);window.addEventListener("keydown",function(a){if(c.enabled&&f===-1){a.keyCode===c.keys[0]&&!c.noRotate?f=0:a.keyCode===c.keys[1]&&!c.noZoom? -f=1:a.keyCode===c.keys[2]&&!c.noPan&&(f=2);f!==-1&&(e=true)}},false);window.addEventListener("keyup",function(){c.enabled&&f!==-1&&(f=-1)},false);this.handleResize()}; -THREE.OrbitControls=function(a,b){var c,d,e;function f(){return 2*Math.PI/60/60*i.autoRotateSpeed}function g(a){a.preventDefault();if(v===c){m.set(a.clientX,a.clientY);n.sub(m,l);i.rotateLeft(2*Math.PI*n.x/j*i.userRotateSpeed);i.rotateUp(2*Math.PI*n.y/j*i.userRotateSpeed);l.copy(m)}else if(v===d){r.set(a.clientX,a.clientY);o.sub(r,p);o.y>0?i.zoomIn():i.zoomOut();p.copy(r)}}function h(){if(i.userRotate){document.removeEventListener("mousemove",g,false);document.removeEventListener("mouseup",h,false); -v=e}}THREE.EventTarget.call(this);this.object=a;this.domElement=b!==void 0?b:document;this.center=new THREE.Vector3;this.userZoom=true;this.userZoomSpeed=1;this.userRotate=true;this.userRotateSpeed=1;this.autoRotate=false;this.autoRotateSpeed=2;var i=this,j=1800,l=new THREE.Vector2,m=new THREE.Vector2,n=new THREE.Vector2,p=new THREE.Vector2,r=new THREE.Vector2,o=new THREE.Vector2,q=0,s=0,w=1,t=new THREE.Vector3;e=-1;c=0;d=1;var v=e,x={type:"change"};this.rotateLeft=function(a){a===void 0&&(a=f()); -s=s-a};this.rotateRight=function(a){a===void 0&&(a=f());s=s+a};this.rotateUp=function(a){a===void 0&&(a=f());q=q-a};this.rotateDown=function(a){a===void 0&&(a=f());q=q+a};this.zoomIn=function(a){a===void 0&&(a=Math.pow(0.95,i.userZoomSpeed));w=w/a};this.zoomOut=function(a){a===void 0&&(a=Math.pow(0.95,i.userZoomSpeed));w=w*a};this.update=function(){var a=this.object.position,b=a.clone().subSelf(this.center),c=Math.atan2(b.x,b.z),d=Math.atan2(Math.sqrt(b.x*b.x+b.z*b.z),b.y);this.autoRotate&&this.rotateLeft(f()); -var c=c+s,d=d+q,d=Math.max(1.0E-6,Math.min(Math.PI-1.0E-6,d)),e=b.length();b.x=e*Math.sin(d)*Math.sin(c);b.y=e*Math.cos(d);b.z=e*Math.sin(d)*Math.cos(c);b.multiplyScalar(w);a.copy(this.center).addSelf(b);this.object.lookAt(this.center);q=s=0;w=1;if(t.distanceTo(this.object.position)>0){this.dispatchEvent(x);t.copy(this.object.position)}};this.domElement.addEventListener("contextmenu",function(a){a.preventDefault()},false);this.domElement.addEventListener("mousedown",function(a){if(i.userRotate){a.preventDefault(); -if(a.button===0||a.button===2){v=c;l.set(a.clientX,a.clientY)}else if(a.button===1){v=d;p.set(a.clientX,a.clientY)}document.addEventListener("mousemove",g,false);document.addEventListener("mouseup",h,false)}},false);this.domElement.addEventListener("mousewheel",function(a){i.userZoom&&(a.wheelDelta>0?i.zoomOut():i.zoomIn())},false)}; -THREE.CubeGeometry=function(a,b,c,d,e,f,g,h){function i(a,b,c,g,h,i,l,m){var n,p=d||1,o=e||1,q=h/2,r=i/2,s=j.vertices.length;if(a==="x"&&b==="y"||a==="y"&&b==="x")n="z";else if(a==="x"&&b==="z"||a==="z"&&b==="x"){n="y";o=f||1}else if(a==="z"&&b==="y"||a==="y"&&b==="z"){n="x";p=f||1}var t=p+1,w=o+1,T=h/p,N=i/o,W=new THREE.Vector3;W[n]=l>0?1:-1;for(h=0;h0){this.vertices.push(new THREE.Vector3(0, -g,0));for(h=0;h0){this.vertices.push(new THREE.Vector3(0,-g,0));for(h=0;ha&&(a=a+Math.PI*2);c=(b+a)/2;a=-Math.cos(c);c=-Math.sin(c);return new THREE.Vector2(a,c)}return d.multiplyScalar(g).addSelf(h).subSelf(a).clone()}function e(c,d){var e,f;for(H=c.length;--H>=0;){e=H;f=H-1;f<0&&(f= -c.length-1);for(var g=0,h=n+l*2,g=0;g=0;F--){E=F/l;aa=i*(1-E);Q=j*Math.sin(E*Math.PI/2);H=0;for(E=B.length;H1.0E-4){h.normalize();d=Math.acos(e[j-1].dot(e[j]));i.makeRotationAxis(h,d).multiplyVector3(f[j])}g[j].cross(e[j],f[j])}if(c){d=Math.acos(f[0].dot(f[b-1]));d=d/(b-1);e[0].dot(h.cross(f[0],f[b-1]))>0&&(d=-d);for(j=1;j=j){for(i=0;i<3;i++){j=[h[i],h[(i+1)%3]];s=true;for(w=0;w0;)this.smooth(a)}; -THREE.SubdivisionModifier.prototype.smooth=function(a){function b(){n.debug&&console.log.apply(console,arguments)}function c(){console&&console.log.apply(console,arguments)}function d(a,c,d,e,g,h,i){var j=new THREE.Face4(a,c,d,e,null,g.color,g.materialIndex);if(n.useOldVertexColors){j.vertexColors=[];for(var o,p,q,r=0;r<4;r++){q=h[r];o=new THREE.Color;o.setRGB(0,0,0);for(var s=0;s=t&&a1){var i=h[1];d[i]||(d[i]={start:Infinity,end:-Infinity});h=d[i];if(fh.end)h.end=f;c||(c=i)}}for(i in d){h=d[i];this.createAnimation(i,h.start,h.end,a)}this.firstAnimation=c}; -THREE.MorphBlendMesh.prototype.setAnimationDirectionForward=function(a){if(a=this.animationsMap[a]){a.direction=1;a.directionBackwards=false}};THREE.MorphBlendMesh.prototype.setAnimationDirectionBackward=function(a){if(a=this.animationsMap[a]){a.direction=-1;a.directionBackwards=true}};THREE.MorphBlendMesh.prototype.setAnimationFPS=function(a,b){var c=this.animationsMap[a];if(c){c.fps=b;c.duration=(c.end-c.start)/c.fps}}; -THREE.MorphBlendMesh.prototype.setAnimationDuration=function(a,b){var c=this.animationsMap[a];if(c){c.duration=b;c.fps=(c.end-c.start)/c.duration}};THREE.MorphBlendMesh.prototype.setAnimationWeight=function(a,b){var c=this.animationsMap[a];if(c)c.weight=b};THREE.MorphBlendMesh.prototype.setAnimationTime=function(a,b){var c=this.animationsMap[a];if(c)c.time=b};THREE.MorphBlendMesh.prototype.getAnimationTime=function(a){var b=0;if(a=this.animationsMap[a])b=a.time;return b}; -THREE.MorphBlendMesh.prototype.getAnimationDuration=function(a){var b=-1;if(a=this.animationsMap[a])b=a.duration;return b};THREE.MorphBlendMesh.prototype.playAnimation=function(a){var b=this.animationsMap[a];if(b){b.time=0;b.active=true}else console.warn("animation["+a+"] undefined")};THREE.MorphBlendMesh.prototype.stopAnimation=function(a){if(a=this.animationsMap[a])a.active=false}; -THREE.MorphBlendMesh.prototype.update=function(a){for(var b=0,c=this.animationsList.length;bd.duration||d.time<0){d.direction=d.direction*-1;if(d.time>d.duration){d.time=d.duration;d.directionBackwards=true}if(d.time<0){d.time=0;d.directionBackwards=false}}}else{d.time=d.time%d.duration;if(d.time<0)d.time=d.time+d.duration}var f=d.startFrame+THREE.Math.clamp(Math.floor(d.time/ -e),0,d.length-1),g=d.weight;if(f!==d.currentFrame){this.morphTargetInfluences[d.lastFrame]=0;this.morphTargetInfluences[d.currentFrame]=1*g;this.morphTargetInfluences[f]=0;d.lastFrame=d.currentFrame;d.currentFrame=f}e=d.time%e/e;d.directionBackwards&&(e=1-e);this.morphTargetInfluences[d.currentFrame]=e*g;this.morphTargetInfluences[d.lastFrame]=(1-e)*g}}}; -THREE.LensFlarePlugin=function(){function a(a){var c=b.createProgram(),d=b.createShader(b.FRAGMENT_SHADER),e=b.createShader(b.VERTEX_SHADER);b.shaderSource(d,a.fragmentShader);b.shaderSource(e,a.vertexShader);b.compileShader(d);b.compileShader(e);b.attachShader(c,d);b.attachShader(c,e);b.linkProgram(c);return c}var b,c,d,e,f,g,h,i,j,l,m,n,p;this.init=function(r){b=r.context;c=r;d=new Float32Array(16);e=new Uint16Array(6);r=0;d[r++]=-1;d[r++]=-1;d[r++]=0;d[r++]=0;d[r++]=1;d[r++]=-1;d[r++]=1;d[r++]= -0;d[r++]=1;d[r++]=1;d[r++]=1;d[r++]=1;d[r++]=-1;d[r++]=1;d[r++]=0;d[r++]=1;r=0;e[r++]=0;e[r++]=1;e[r++]=2;e[r++]=0;e[r++]=2;e[r++]=3;f=b.createBuffer();g=b.createBuffer();b.bindBuffer(b.ARRAY_BUFFER,f);b.bufferData(b.ARRAY_BUFFER,d,b.STATIC_DRAW);b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,g);b.bufferData(b.ELEMENT_ARRAY_BUFFER,e,b.STATIC_DRAW);h=b.createTexture();i=b.createTexture();b.bindTexture(b.TEXTURE_2D,h);b.texImage2D(b.TEXTURE_2D,0,b.RGB,16,16,0,b.RGB,b.UNSIGNED_BYTE,null);b.texParameteri(b.TEXTURE_2D, -b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,b.NEAREST);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.NEAREST);b.bindTexture(b.TEXTURE_2D,i);b.texImage2D(b.TEXTURE_2D,0,b.RGBA,16,16,0,b.RGBA,b.UNSIGNED_BYTE,null);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,b.NEAREST); -b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.NEAREST);if(b.getParameter(b.MAX_VERTEX_TEXTURE_IMAGE_UNITS)<=0){j=false;l=a(THREE.ShaderFlares.lensFlare)}else{j=true;l=a(THREE.ShaderFlares.lensFlareVertexTexture)}m={};n={};m.vertex=b.getAttribLocation(l,"position");m.uv=b.getAttribLocation(l,"uv");n.renderType=b.getUniformLocation(l,"renderType");n.map=b.getUniformLocation(l,"map");n.occlusionMap=b.getUniformLocation(l,"occlusionMap");n.opacity=b.getUniformLocation(l,"opacity");n.color=b.getUniformLocation(l, -"color");n.scale=b.getUniformLocation(l,"scale");n.rotation=b.getUniformLocation(l,"rotation");n.screenPosition=b.getUniformLocation(l,"screenPosition");p=false};this.render=function(a,d,e,s){var a=a.__webglFlares,w=a.length;if(w){var t=new THREE.Vector3,v=s/e,x=e*0.5,C=s*0.5,D=16/s,z=new THREE.Vector2(D*v,D),u=new THREE.Vector3(1,1,0),G=new THREE.Vector2(1,1),J=n,D=m;b.useProgram(l);if(!p){b.enableVertexAttribArray(m.vertex);b.enableVertexAttribArray(m.uv);p=true}b.uniform1i(J.occlusionMap,0);b.uniform1i(J.map, -1);b.bindBuffer(b.ARRAY_BUFFER,f);b.vertexAttribPointer(D.vertex,2,b.FLOAT,false,16,0);b.vertexAttribPointer(D.uv,2,b.FLOAT,false,16,8);b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,g);b.disable(b.CULL_FACE);b.depthMask(false);var M,O,X,B,F;for(M=0;M0&&G.x0&& -G.y0.0010&&F.scale>0.0010){u.x=F.x;u.y=F.y;u.z=F.z;D=F.size*F.scale/s;z.x=D*v;z.y=D;b.uniform3f(J.screenPosition,u.x,u.y,u.z);b.uniform2f(J.scale,z.x,z.y);b.uniform1f(J.rotation,F.rotation);b.uniform1f(J.opacity,F.opacity); -b.uniform3f(J.color,F.color.r,F.color.g,F.color.b);c.setBlending(F.blending,F.blendEquation,F.blendSrc,F.blendDst);c.setTexture(F.texture,1);b.drawElements(b.TRIANGLES,6,b.UNSIGNED_SHORT,0)}}}}b.enable(b.CULL_FACE);b.enable(b.DEPTH_TEST);b.depthMask(true)}}}; -THREE.ShadowMapPlugin=function(){var a,b,c,d,e,f=new THREE.Frustum,g=new THREE.Matrix4,h=new THREE.Vector3,i=new THREE.Vector3;this.init=function(f){a=f.context;b=f;var f=THREE.ShaderLib.depthRGBA,g=THREE.UniformsUtils.clone(f.uniforms);c=new THREE.ShaderMaterial({fragmentShader:f.fragmentShader,vertexShader:f.vertexShader,uniforms:g});d=new THREE.ShaderMaterial({fragmentShader:f.fragmentShader,vertexShader:f.vertexShader,uniforms:g,morphTargets:true});e=new THREE.ShaderMaterial({fragmentShader:f.fragmentShader, -vertexShader:f.vertexShader,uniforms:g,skinning:true});c._shadowPass=true;d._shadowPass=true;e._shadowPass=true};this.render=function(a,c){b.shadowMapEnabled&&b.shadowMapAutoUpdate&&this.update(a,c)};this.update=function(j,l){var m,n,p,r,o,q,s,w,t,v=[];r=0;a.clearColor(1,1,1,1);a.disable(a.BLEND);a.enable(a.CULL_FACE);b.shadowMapCullFrontFaces?a.cullFace(a.FRONT):a.cullFace(a.BACK);b.setDepthTest(true);m=0;for(n=j.__lights.length;mi.x)i.x=w.x;if(w.yi.y)i.y=w.y;if(w.zi.z)i.z=w.z}r.left=h.x;r.right=i.x;r.top=i.y;r.bottom=h.y;r.updateProjectionMatrix()}r=p.shadowMap;q=p.shadowMatrix;o=p.shadowCamera;o.position.copy(p.matrixWorld.getPosition()); -o.lookAt(p.target.matrixWorld.getPosition());o.updateMatrixWorld();o.matrixWorldInverse.getInverse(o.matrixWorld);if(p.cameraHelper)p.cameraHelper.lines.visible=p.shadowCameraVisible;p.shadowCameraVisible&&p.cameraHelper.update();q.set(0.5,0,0,0.5,0,0.5,0,0.5,0,0,0.5,0.5,0,0,0,1);q.multiplySelf(o.projectionMatrix);q.multiplySelf(o.matrixWorldInverse);if(!o._viewMatrixArray)o._viewMatrixArray=new Float32Array(16);if(!o._projectionMatrixArray)o._projectionMatrixArray=new Float32Array(16);o.matrixWorldInverse.flattenToArray(o._viewMatrixArray); -o.projectionMatrix.flattenToArray(o._projectionMatrixArray);g.multiply(o.projectionMatrix,o.matrixWorldInverse);f.setFromMatrix(g);b.setRenderTarget(r);b.clear();t=j.__webglObjects;p=0;for(r=t.length;p>16&255)/255;this.g=(a>>8&255)/255;this.b=(a&255)/255;return this},getHexString:function(){return("000000"+this.getHex().toString(16)).slice(-6)},getContextStyle:function(){return"rgb("+(255*this.r|0)+","+(255*this.g|0)+","+(255*this.b|0)+")"},setContextStyle:function(a){a=/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/i.exec(a);this.r=parseInt(a[1],10)/255;this.g=parseInt(a[2],10)/255;this.b=parseInt(a[3],10)/255;return this},getHSV:function(a){var b= -this.r,c=this.g,d=this.b,e=Math.max(Math.max(b,c),d),f=Math.min(Math.min(b,c),d);if(f===e)f=b=0;else{var g=e-f,f=g/e,b=(b===e?(c-d)/g:c===e?2+(d-b)/g:4+(b-c)/g)/6;0>b&&(b+=1);1Math.abs(g)?(this.x=Math.atan2(-j,d),this.z=Math.atan2(-f,e)):(this.x=Math.atan2(m,i),this.z=0)):"YXZ"===b?(this.x=Math.asin(-c(j)),0.99999>Math.abs(j)? -(this.y=Math.atan2(g,d),this.z=Math.atan2(h,i)):(this.y=Math.atan2(-l,e),this.z=0)):"ZXY"===b?(this.x=Math.asin(c(m)),0.99999>Math.abs(m)?(this.y=Math.atan2(-l,d),this.z=Math.atan2(-f,i)):(this.y=0,this.z=Math.atan2(h,e))):"ZYX"===b?(this.y=Math.asin(-c(l)),0.99999>Math.abs(l)?(this.x=Math.atan2(m,d),this.z=Math.atan2(h,e)):(this.x=0,this.z=Math.atan2(-f,i))):"YZX"===b?(this.z=Math.asin(c(h)),0.99999>Math.abs(h)?(this.x=Math.atan2(-j,i),this.y=Math.atan2(-l,e)):(this.x=0,this.y=Math.atan2(g,d))): -"XZY"===b&&(this.z=Math.asin(-c(f)),0.99999>Math.abs(f)?(this.x=Math.atan2(m,i),this.y=Math.atan2(g,e)):(this.x=Math.atan2(-j,d),this.y=0));return this},setEulerFromQuaternion:function(a,b){function c(a){return Math.min(Math.max(a,-1),1)}var d=a.x*a.x,e=a.y*a.y,f=a.z*a.z,g=a.w*a.w;void 0===b||"XYZ"===b?(this.x=Math.atan2(2*(a.x*a.w-a.y*a.z),g-d-e+f),this.y=Math.asin(c(2*(a.x*a.z+a.y*a.w))),this.z=Math.atan2(2*(a.z*a.w-a.x*a.y),g+d-e-f)):"YXZ"===b?(this.x=Math.asin(c(2*(a.x*a.w-a.y*a.z))),this.y=Math.atan2(2* -(a.x*a.z+a.y*a.w),g-d-e+f),this.z=Math.atan2(2*(a.x*a.y+a.z*a.w),g-d+e-f)):"ZXY"===b?(this.x=Math.asin(c(2*(a.x*a.w+a.y*a.z))),this.y=Math.atan2(2*(a.y*a.w-a.z*a.x),g-d-e+f),this.z=Math.atan2(2*(a.z*a.w-a.x*a.y),g-d+e-f)):"ZYX"===b?(this.x=Math.atan2(2*(a.x*a.w+a.z*a.y),g-d-e+f),this.y=Math.asin(c(2*(a.y*a.w-a.x*a.z))),this.z=Math.atan2(2*(a.x*a.y+a.z*a.w),g+d-e-f)):"YZX"===b?(this.x=Math.atan2(2*(a.x*a.w-a.z*a.y),g-d+e-f),this.y=Math.atan2(2*(a.y*a.w-a.x*a.z),g+d-e-f),this.z=Math.asin(c(2*(a.x*a.y+ -a.z*a.w)))):"XZY"===b&&(this.x=Math.atan2(2*(a.x*a.w+a.y*a.z),g-d+e-f),this.y=Math.atan2(2*(a.x*a.z+a.y*a.w),g+d-e-f),this.z=Math.asin(c(2*(a.z*a.w-a.x*a.y))));return this},getScaleFromMatrix:function(a){var b=this.set(a.elements[0],a.elements[1],a.elements[2]).length(),c=this.set(a.elements[4],a.elements[5],a.elements[6]).length(),a=this.set(a.elements[8],a.elements[9],a.elements[10]).length();this.x=b;this.y=c;this.z=a;return this},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z}, -clone:function(){return new THREE.Vector3(this.x,this.y,this.z)}};THREE.Vector4=function(a,b,c,d){this.x=a||0;this.y=b||0;this.z=c||0;this.w=void 0!==d?d:1}; -THREE.Vector4.prototype={constructor:THREE.Vector4,set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=void 0!==a.w?a.w:1;return this},add:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;this.w=a.w+b.w;return this},addSelf:function(a){this.x+=a.x;this.y+=a.y;this.z+=a.z;this.w+=a.w;return this},sub:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;this.w=a.w-b.w;return this},subSelf:function(a){this.x-= -a.x;this.y-=a.y;this.z-=a.z;this.w-=a.w;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;this.w*=a;return this},divideScalar:function(a){a?(this.x/=a,this.y/=a,this.z/=a,this.w/=a):(this.z=this.y=this.x=0,this.w=1);return this},negate:function(){return this.multiplyScalar(-1)},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.w},lengthSq:function(){return this.dot(this)},length:function(){return Math.sqrt(this.lengthSq())},lengthManhattan:function(){return Math.abs(this.x)+ -Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length())},setLength:function(a){return this.normalize().multiplyScalar(a)},lerpSelf:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;this.w+=(a.w-this.w)*b;return this},clone:function(){return new THREE.Vector4(this.x,this.y,this.z,this.w)},setAxisAngleFromQuaternion:function(a){this.w=2*Math.acos(a.w);var b=Math.sqrt(1-a.w*a.w);1E-4>b?(this.x=1,this.z=this.y=0): -(this.x=a.x/b,this.y=a.y/b,this.z=a.z/b);return this},setAxisAngleFromRotationMatrix:function(a){var b,c,d,a=a.elements,e=a[0];d=a[4];var f=a[8],g=a[1],h=a[5],i=a[9];c=a[2];b=a[6];var j=a[10];if(0.01>Math.abs(d-g)&&0.01>Math.abs(f-c)&&0.01>Math.abs(i-b)){if(0.1>Math.abs(d+g)&&0.1>Math.abs(f+c)&&0.1>Math.abs(i+b)&&0.1>Math.abs(e+h+j-3))return this.set(1,0,0,0),this;a=Math.PI;e=(e+1)/2;h=(h+1)/2;j=(j+1)/2;d=(d+g)/4;f=(f+c)/4;i=(i+b)/4;e>h&&e>j?0.01>e?(b=0,d=c=0.707106781):(b=Math.sqrt(e),c=d/b,d=f/ -b):h>j?0.01>h?(b=0.707106781,c=0,d=0.707106781):(c=Math.sqrt(h),b=d/c,d=i/c):0.01>j?(c=b=0.707106781,d=0):(d=Math.sqrt(j),b=f/d,c=i/d);this.set(b,c,d,a);return this}a=Math.sqrt((b-i)*(b-i)+(f-c)*(f-c)+(g-d)*(g-d));0.001>Math.abs(a)&&(a=1);this.x=(b-i)/a;this.y=(f-c)/a;this.z=(g-d)/a;this.w=Math.acos((e+h+j-1)/2);return this}};THREE.Matrix3=function(){this.elements=new Float32Array(9)}; -THREE.Matrix3.prototype={constructor:THREE.Matrix3,multiplyVector3:function(a){var b=this.elements,c=a.x,d=a.y,e=a.z;a.x=b[0]*c+b[3]*d+b[6]*e;a.y=b[1]*c+b[4]*d+b[7]*e;a.z=b[2]*c+b[5]*d+b[8]*e;return a},multiplyVector3Array:function(a){for(var b=THREE.Matrix3.__v1,c=0,d=a.length;cd;d++)a=b[d],a.divideScalar(Math.sqrt(a.x*a.x+a.y*a.y+a.z*a.z))}; -THREE.Frustum.prototype.contains=function(a){for(var b=0,c=this.planes,b=a.matrixWorld,d=b.elements,a=-a.geometry.boundingSphere.radius*b.getMaxScaleOnAxis(),e=0;6>e;e++)if(b=c[e].x*d[12]+c[e].y*d[13]+c[e].z*d[14]+c[e].w,b<=a)return!1;return!0};THREE.Frustum.__v1=new THREE.Vector3; -(function(a){a.Ray=function(b,c,d,e){this.origin=b||new a.Vector3;this.direction=c||new a.Vector3;this.near=d||0;this.far=e||Infinity};var b=new a.Vector3,c=new a.Vector3,d=new a.Vector3,e=new a.Vector3;new a.Vector3;var f=new a.Vector3,g=new a.Matrix4,h=function(a,b){return a.distance-b.distance},i=new a.Vector3,j=new a.Vector3,l=new a.Vector3,m=function(a,b,c){i.sub(c,a);var d=i.dot(b),a=j.add(a,l.copy(b).multiplyScalar(d));return c.distanceTo(a)},n=function(a,b,c,d){i.sub(d,b);j.sub(c,b);l.sub(a, -b);var a=i.dot(i),b=i.dot(j),c=i.dot(l),e=j.dot(j),d=j.dot(l),f=1/(a*e-b*b),e=(e*c-b*d)*f,a=(a*d-b*c)*f;return 0<=e&&0<=a&&1>e+a},p=function(h,i,j){if(h instanceof a.Particle){var l=m(i.origin,i.direction,h.matrixWorld.getPosition());if(l>h.scale.x)return j;j.push({distance:l,point:h.position,face:null,object:h})}else if(h instanceof a.Mesh){var o=h.geometry.boundingSphere.radius*h.matrixWorld.getMaxScaleOnAxis(),l=m(i.origin,i.direction,h.matrixWorld.getPosition());if(l>o)return j;var o=h.geometry, -p=o.vertices,E=h.material instanceof a.MeshFaceMaterial,A=!0===E?h.material.materials:null,l=h.material.side,v,u,D,C=i.precision;h.matrixRotationWorld.extractRotation(h.matrixWorld);b.copy(i.origin);g.getInverse(h.matrixWorld);c.copy(b);g.multiplyVector3(c);d.copy(i.direction);g.rotateAxis(d).normalize();for(var G=0,P=o.faces.length;G -u)&&(l===a.DoubleSide||(l===a.FrontSide?0>v:0i.far||j.push({distance:l,point:v,face:B,faceIndex:G,object:h}));else if(B instanceof a.Face4&&(l=p[B.a],v=p[B.b],u=p[B.c],D=p[B.d],n(f,l,v,D)||n(f,v,u,D)))v=h.matrixWorld.multiplyVector3(f.clone()),l=b.distanceTo(v),li.far||j.push({distance:l,point:v,face:B,faceIndex:G,object:h})}}}, -o=function(a,b,c){for(var a=a.getDescendants(),d=0,e=a.length;df?d:f,e=e> -g?e:g);a()};this.add3Points=function(f,g,l,m,n,p){!0===h?(h=!1,b=fl?f>n?f:n:l>n?l:n,e=g>m?g>p?g:p:m>p?m:p):(b=fl?f>n?f>d?f:d:n>d?n:d:l>n?l>d?l:d:n>d?n:d,e=g>m?g>p?g>e?g:e:p>e?p:e:m>p?m>e?m:e:p>e?p:e);a()};this.addRectangle=function(f){!0===h?(h=!1,b=f.getLeft(),c=f.getTop(),d=f.getRight(),e=f.getBottom()):(b=bf.getRight()?d:f.getRight(),e=e>f.getBottom()?e:f.getBottom());a()};this.inflate=function(f){b-=f;c-=f;d+=f;e+=f;a()};this.minSelf=function(f){b=b>f.getLeft()?b:f.getLeft();c=c>f.getTop()?c:f.getTop();d=da.getRight()||ea.getBottom()?!1:!0};this.empty=function(){h=!0;e=d=c=b=0;a()};this.isEmpty=function(){return h}}; -THREE.Math={clamp:function(a,b,c){return ac?c:a},clampBottom:function(a,b){return aa?-1:0e&&0>f||0>g&&0>h)return!1;0>e?c=Math.max(c,e/(e-f)):0>f&&(d=Math.min(d,e/(e-f)));0>g?c=Math.max(c,g/(g-h)):0>h&&(d=Math.min(d,g/(g-h)));if(d< -c)return!1;a.lerpSelf(b,c);b.lerpSelf(a,1-d);return!0}var e,f,g=[],h=0,i,j,l=[],m=0,n,p,o=[],s=0,t,r=[],z=0,w,q,E=[],A=0,v,u,D=[],C=0,G={objects:[],sprites:[],lights:[],elements:[]},P=new THREE.Vector3,B=new THREE.Vector4,K=new THREE.Matrix4,H=new THREE.Matrix4,I=new THREE.Matrix3,N=new THREE.Frustum,O=new THREE.Vector4,R=new THREE.Vector4;this.projectVector=function(a,b){b.matrixWorldInverse.getInverse(b.matrixWorld);K.multiply(b.projectionMatrix,b.matrixWorldInverse);K.multiplyVector3(a);return a}; -this.unprojectVector=function(a,b){b.projectionMatrixInverse.getInverse(b.projectionMatrix);K.multiply(b.matrixWorld,b.projectionMatrixInverse);K.multiplyVector3(a);return a};this.pickingRay=function(a,b){var c;a.z=-1;c=new THREE.Vector3(a.x,a.y,1);this.unprojectVector(a,b);this.unprojectVector(c,b);c.subSelf(a).normalize();return new THREE.Ray(a,c)};this.projectScene=function(g,h,m,Q){var Z=h.near,L=h.far,oa=!1,X,fa,ca,Y,ba,aa,ia,Aa,Na,Ja,ma,sa,Ea,rb,ib;u=q=t=p=0;G.elements.length=0;g.updateMatrixWorld(); -void 0===h.parent&&h.updateMatrixWorld();h.matrixWorldInverse.getInverse(h.matrixWorld);K.multiply(h.projectionMatrix,h.matrixWorldInverse);N.setFromMatrix(K);f=0;G.objects.length=0;G.sprites.length=0;G.lights.length=0;var ob=function(b){for(var c=0,d=b.children.length;cZ&&i.positionScreen.z(ia.positionScreen.x-Y.positionScreen.x)*(ba.positionScreen.y-Y.positionScreen.y)-(ia.positionScreen.y-Y.positionScreen.y)*(ba.positionScreen.x-Y.positionScreen.x),aa===THREE.DoubleSide||oa===(aa===THREE.FrontSide))p=== -s?(sa=new THREE.RenderableFace3,o.push(sa),s++,p++,n=sa):n=o[p++],n.v1.copy(Y),n.v2.copy(ba),n.v3.copy(ia);else continue;else continue;else if(fa instanceof THREE.Face4)if(Y=l[fa.a],ba=l[fa.b],ia=l[fa.c],sa=l[fa.d],!0===Y.visible&&!0===ba.visible&&!0===ia.visible&&!0===sa.visible)if(oa=0>(sa.positionScreen.x-Y.positionScreen.x)*(ba.positionScreen.y-Y.positionScreen.y)-(sa.positionScreen.y-Y.positionScreen.y)*(ba.positionScreen.x-Y.positionScreen.x)||0>(ba.positionScreen.x-ia.positionScreen.x)*(sa.positionScreen.y- -ia.positionScreen.y)-(ba.positionScreen.y-ia.positionScreen.y)*(sa.positionScreen.x-ia.positionScreen.x),aa===THREE.DoubleSide||oa===(aa===THREE.FrontSide)){if(t===z){var jb=new THREE.RenderableFace4;r.push(jb);z++;t++;n=jb}else n=r[t++];n.v1.copy(Y);n.v2.copy(ba);n.v3.copy(ia);n.v4.copy(sa)}else continue;else continue;n.normalWorld.copy(fa.normal);!1===oa&&(aa===THREE.BackSide||aa===THREE.DoubleSide)&&n.normalWorld.negate();I.multiplyVector3(n.normalWorld).normalize();n.centroidWorld.copy(fa.centroid); -Na.multiplyVector3(n.centroidWorld);n.centroidScreen.copy(n.centroidWorld);K.multiplyVector3(n.centroidScreen);ia=fa.vertexNormals;Y=0;for(ba=ia.length;YB.z&&(u===C?(Z=new THREE.RenderableParticle,D.push(Z),C++,u++,v=Z):v=D[u++],v.object=Aa,v.x=B.x/B.w,v.y=B.y/B.w,v.z=B.z,v.rotation=Aa.rotation.z,v.scale.x=Aa.scale.x*Math.abs(v.x- -(B.x+h.projectionMatrix.elements[0])/(B.w+h.projectionMatrix.elements[12])),v.scale.y=Aa.scale.y*Math.abs(v.y-(B.y+h.projectionMatrix.elements[5])/(B.w+h.projectionMatrix.elements[13])),v.material=Aa.material,G.elements.push(v)));!0===Q&&G.elements.sort(c);return G}};THREE.Quaternion=function(a,b,c,d){this.x=a||0;this.y=b||0;this.z=c||0;this.w=void 0!==d?d:1}; -THREE.Quaternion.prototype={constructor:THREE.Quaternion,set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=a.w;return this},setFromEuler:function(a,b){var c=Math.cos(a.x/2),d=Math.cos(a.y/2),e=Math.cos(a.z/2),f=Math.sin(a.x/2),g=Math.sin(a.y/2),h=Math.sin(a.z/2);void 0===b||"XYZ"===b?(this.x=f*d*e+c*g*h,this.y=c*g*e-f*d*h,this.z=c*d*h+f*g*e,this.w=c*d*e-f*g*h):"YXZ"===b?(this.x=f*d*e+c*g*h,this.y=c*g*e-f*d*h,this.z=c*d* -h-f*g*e,this.w=c*d*e+f*g*h):"ZXY"===b?(this.x=f*d*e-c*g*h,this.y=c*g*e+f*d*h,this.z=c*d*h+f*g*e,this.w=c*d*e-f*g*h):"ZYX"===b?(this.x=f*d*e-c*g*h,this.y=c*g*e+f*d*h,this.z=c*d*h-f*g*e,this.w=c*d*e+f*g*h):"YZX"===b?(this.x=f*d*e+c*g*h,this.y=c*g*e+f*d*h,this.z=c*d*h-f*g*e,this.w=c*d*e-f*g*h):"XZY"===b&&(this.x=f*d*e-c*g*h,this.y=c*g*e-f*d*h,this.z=c*d*h+f*g*e,this.w=c*d*e+f*g*h);return this},setFromAxisAngle:function(a,b){var c=b/2,d=Math.sin(c);this.x=a.x*d;this.y=a.y*d;this.z=a.z*d;this.w=Math.cos(c); -return this},setFromRotationMatrix:function(a){var b=a.elements,c=b[0],a=b[4],d=b[8],e=b[1],f=b[5],g=b[9],h=b[2],i=b[6],b=b[10],j=c+f+b;0f&&c>b?(c=2*Math.sqrt(1+c-f-b),this.w=(i-g)/c,this.x=0.25*c,this.y=(a+e)/c,this.z=(d+h)/c):f>b?(c=2*Math.sqrt(1+f-c-b),this.w=(d-h)/c,this.x=(a+e)/c,this.y=0.25*c,this.z=(g+i)/c):(c=2*Math.sqrt(1+b-c-f),this.w=(e-a)/c,this.x=(d+h)/c,this.y=(g+i)/c,this.z=0.25*c);return this},inverse:function(){this.conjugate().normalize(); -return this},conjugate:function(){this.x*=-1;this.y*=-1;this.z*=-1;return this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},normalize:function(){var a=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);0===a?(this.z=this.y=this.x=0,this.w=1):(a=1/a,this.x*=a,this.y*=a,this.z*=a,this.w*=a);return this},multiply:function(a,b){var c=a.x,d=a.y,e=a.z,f=a.w,g=b.x,h=b.y,i=b.z,j=b.w;this.x=c*j+d*i-e*h+f*g;this.y=-c*i+d*j+e*g+f*h;this.z=c*h- -d*g+e*j+f*i;this.w=-c*g-d*h-e*i+f*j;return this},multiplySelf:function(a){var b=this.x,c=this.y,d=this.z,e=this.w,f=a.x,g=a.y,h=a.z,a=a.w;this.x=b*a+e*f+c*h-d*g;this.y=c*a+e*g+d*f-b*h;this.z=d*a+e*h+b*g-c*f;this.w=e*a-b*f-c*g-d*h;return this},multiplyVector3:function(a,b){b||(b=a);var c=a.x,d=a.y,e=a.z,f=this.x,g=this.y,h=this.z,i=this.w,j=i*c+g*e-h*d,l=i*d+h*c-f*e,m=i*e+f*d-g*c,c=-f*c-g*d-h*e;b.x=j*i+c*-f+l*-h-m*-g;b.y=l*i+c*-g+m*-f-j*-h;b.z=m*i+c*-h+j*-g-l*-f;return b},slerpSelf:function(a,b){var c= -this.x,d=this.y,e=this.z,f=this.w,g=f*a.w+c*a.x+d*a.y+e*a.z;0>g?(this.w=-a.w,this.x=-a.x,this.y=-a.y,this.z=-a.z,g=-g):this.copy(a);if(1<=g)return this.w=f,this.x=c,this.y=d,this.z=e,this;var h=Math.acos(g),i=Math.sqrt(1-g*g);if(0.001>Math.abs(i))return this.w=0.5*(f+this.w),this.x=0.5*(c+this.x),this.y=0.5*(d+this.y),this.z=0.5*(e+this.z),this;g=Math.sin((1-b)*h)/i;h=Math.sin(b*h)/i;this.w=f*g+this.w*h;this.x=c*g+this.x*h;this.y=d*g+this.y*h;this.z=e*g+this.z*h;return this},clone:function(){return new THREE.Quaternion(this.x, -this.y,this.z,this.w)}};THREE.Quaternion.slerp=function(a,b,c,d){var e=a.w*b.w+a.x*b.x+a.y*b.y+a.z*b.z;0>e?(c.w=-b.w,c.x=-b.x,c.y=-b.y,c.z=-b.z,e=-e):c.copy(b);if(1<=Math.abs(e))return c.w=a.w,c.x=a.x,c.y=a.y,c.z=a.z,c;var b=Math.acos(e),f=Math.sqrt(1-e*e);if(0.001>Math.abs(f))return c.w=0.5*(a.w+c.w),c.x=0.5*(a.x+c.x),c.y=0.5*(a.y+c.y),c.z=0.5*(a.z+c.z),c;e=Math.sin((1-d)*b)/f;d=Math.sin(d*b)/f;c.w=a.w*e+c.w*d;c.x=a.x*e+c.x*d;c.y=a.y*e+c.y*d;c.z=a.z*e+c.z*d;return c}; -THREE.Vertex=function(a){console.warn("THREE.Vertex has been DEPRECATED. Use THREE.Vector3 instead.");return a};THREE.Face3=function(a,b,c,d,e,f){this.a=a;this.b=b;this.c=c;this.normal=d instanceof THREE.Vector3?d:new THREE.Vector3;this.vertexNormals=d instanceof Array?d:[];this.color=e instanceof THREE.Color?e:new THREE.Color;this.vertexColors=e instanceof Array?e:[];this.vertexTangents=[];this.materialIndex=f;this.centroid=new THREE.Vector3}; -THREE.Face3.prototype={constructor:THREE.Face3,clone:function(){var a=new THREE.Face3(this.a,this.b,this.c);a.normal.copy(this.normal);a.color.copy(this.color);a.centroid.copy(this.centroid);a.materialIndex=this.materialIndex;var b,c;b=0;for(c=this.vertexNormals.length;be?-1:1,f.vertexTangents[d]=new THREE.Vector4(B.x,B.y,B.z,e)}this.hasTangents=!0},computeLineDistances:function(){for(var a=0,b=this.vertices,c=0,d=b.length;cc.x&&(c.x=a.x),a.yc.y&&(c.y=a.y),a.zc.z&&(c.z=a.z)}else this.boundingBox.min.set(0,0,0),this.boundingBox.max.set(0,0,0)},computeBoundingSphere:function(){var a=0;null===this.boundingSphere&&(this.boundingSphere={radius:0});for(var b= -0,c=this.vertices.length;ba&&(a=d)}this.boundingSphere.radius=Math.sqrt(a)},mergeVertices:function(){var a={},b=[],c=[],d,e=Math.pow(10,4),f,g,h,i;f=0;for(g=this.vertices.length;fb.max.x&&(b.max.x=c),db.max.y&&(b.max.y=d),eb.max.z&&(b.max.z=e);if(void 0===a||0===a.length)this.boundingBox.min.set(0,0,0),this.boundingBox.max.set(0,0,0)},computeBoundingSphere:function(){this.boundingSphere||(this.boundingSphere={radius:0}); -var a=this.attributes.position.array;if(a){for(var b,c=0,d,e,f=0,g=a.length;fc&&(c=b);this.boundingSphere.radius=Math.sqrt(c)}},computeVertexNormals:function(){if(this.attributes.position&&this.attributes.index){var a,b,c,d;a=this.attributes.position.array.length;if(void 0===this.attributes.normal)this.attributes.normal={itemSize:3,array:new Float32Array(a),numItems:a};else{a=0;for(b=this.attributes.normal.array.length;aZ?-1:1;h[4*a]=O.x;h[4*a+1]=O.y;h[4*a+2]=O.z;h[4*a+3]=J}if(void 0===this.attributes.index||void 0===this.attributes.position||void 0===this.attributes.normal||void 0===this.attributes.uv)console.warn("Missing required attributes (index, position, normal or uv) in BufferGeometry.computeTangents()");else{var b=this.attributes.index.array,c=this.attributes.position.array,d=this.attributes.normal.array,e=this.attributes.uv.array,f=c.length/3;if(void 0===this.attributes.tangent){var g= -4*f;this.attributes.tangent={itemSize:4,array:new Float32Array(g),numItems:g}}for(var h=this.attributes.tangent.array,i=[],j=[],g=0;gthis.points.length-2?this.points.length-1:f+1;c[3]=f>this.points.length-3?this.points.length-1: -f+2;j=this.points[c[0]];l=this.points[c[1]];m=this.points[c[2]];n=this.points[c[3]];h=g*g;i=g*h;d.x=b(j.x,l.x,m.x,n.x,g,h,i);d.y=b(j.y,l.y,m.y,n.y,g,h,i);d.z=b(j.z,l.z,m.z,n.z,g,h,i);return d};this.getControlPointsArray=function(){var a,b,c=this.points.length,d=[];for(a=0;aa.length?".":a.join("/"))+"/"},initMaterials:function(a,b){for(var c=[],d=0;da.opacity)i.transparent=a.transparent;void 0!==a.depthTest&&(i.depthTest=a.depthTest);void 0!==a.depthWrite&&(i.depthWrite=a.depthWrite);void 0!==a.visible&&(i.visible=a.visible);void 0!==a.flipSided&&(i.side=THREE.BackSide); -void 0!==a.doubleSided&&(i.side=THREE.DoubleSide);void 0!==a.wireframe&&(i.wireframe=a.wireframe);void 0!==a.vertexColors&&("face"===a.vertexColors?i.vertexColors=THREE.FaceColors:a.vertexColors&&(i.vertexColors=THREE.VertexColors));a.colorDiffuse?i.color=f(a.colorDiffuse):a.DbgColor&&(i.color=a.DbgColor);a.colorSpecular&&(i.specular=f(a.colorSpecular));a.colorAmbient&&(i.ambient=f(a.colorAmbient));a.transparency&&(i.opacity=a.transparency);a.specularCoef&&(i.shininess=a.specularCoef);a.mapDiffuse&& -b&&e(i,"map",a.mapDiffuse,a.mapDiffuseRepeat,a.mapDiffuseOffset,a.mapDiffuseWrap,a.mapDiffuseAnisotropy);a.mapLight&&b&&e(i,"lightMap",a.mapLight,a.mapLightRepeat,a.mapLightOffset,a.mapLightWrap,a.mapLightAnisotropy);a.mapBump&&b&&e(i,"bumpMap",a.mapBump,a.mapBumpRepeat,a.mapBumpOffset,a.mapBumpWrap,a.mapBumpAnisotropy);a.mapNormal&&b&&e(i,"normalMap",a.mapNormal,a.mapNormalRepeat,a.mapNormalOffset,a.mapNormalWrap,a.mapNormalAnisotropy);a.mapSpecular&&b&&e(i,"specularMap",a.mapSpecular,a.mapSpecularRepeat, -a.mapSpecularOffset,a.mapSpecularWrap,a.mapSpecularAnisotropy);a.mapBumpScale&&(i.bumpScale=a.mapBumpScale);a.mapNormal?(h=THREE.ShaderUtils.lib.normal,j=THREE.UniformsUtils.clone(h.uniforms),j.tNormal.value=i.normalMap,a.mapNormalFactor&&j.uNormalScale.value.set(a.mapNormalFactor,a.mapNormalFactor),i.map&&(j.tDiffuse.value=i.map,j.enableDiffuse.value=!0),i.specularMap&&(j.tSpecular.value=i.specularMap,j.enableSpecular.value=!0),i.lightMap&&(j.tAO.value=i.lightMap,j.enableAO.value=!0),j.uDiffuseColor.value.setHex(i.color), -j.uSpecularColor.value.setHex(i.specular),j.uAmbientColor.value.setHex(i.ambient),j.uShininess.value=i.shininess,void 0!==i.opacity&&(j.uOpacity.value=i.opacity),i=new THREE.ShaderMaterial({fragmentShader:h.fragmentShader,vertexShader:h.vertexShader,uniforms:j,lights:!0,fog:!0})):i=new THREE[h](i);void 0!==a.DbgName&&(i.name=a.DbgName);return i}};THREE.BinaryLoader=function(a){THREE.Loader.call(this,a)};THREE.BinaryLoader.prototype=Object.create(THREE.Loader.prototype); -THREE.BinaryLoader.prototype.load=function(a,b,c,d){var c=c&&"string"===typeof c?c:this.extractUrlBase(a),d=d&&"string"===typeof d?d:this.extractUrlBase(a),e=this.showProgress?THREE.Loader.prototype.updateProgress:null;this.onLoadStart();this.loadAjaxJSON(this,a,b,c,d,e)}; -THREE.BinaryLoader.prototype.loadAjaxJSON=function(a,b,c,d,e,f){var g=new XMLHttpRequest;g.onreadystatechange=function(){if(4==g.readyState)if(200==g.status||0==g.status){var h=JSON.parse(g.responseText);a.loadAjaxBuffers(h,c,e,d,f)}else console.error("THREE.BinaryLoader: Couldn't load ["+b+"] ["+g.status+"]")};g.open("GET",b,!0);g.send(null)}; -THREE.BinaryLoader.prototype.loadAjaxBuffers=function(a,b,c,d,e){var f=new XMLHttpRequest,g=c+"/"+a.buffers,h=0;f.onreadystatechange=function(){if(4==f.readyState)if(200==f.status||0==f.status){var c=f.response;void 0===c&&(c=(new Uint8Array(f.responseBody)).buffer);THREE.BinaryLoader.prototype.createBinModel(c,b,d,a.materials)}else console.error("THREE.BinaryLoader: Couldn't load ["+g+"] ["+f.status+"]");else 3==f.readyState?e&&(0==h&&(h=f.getResponseHeader("Content-Length")),e({total:h,loaded:f.responseText.length})): -2==f.readyState&&(h=f.getResponseHeader("Content-Length"))};f.open("GET",g,!0);f.responseType="arraybuffer";f.send(null)}; -THREE.BinaryLoader.prototype.createBinModel=function(a,b,c,d){var e=function(){var b,c,d,e,j,l,m,n,p,o,s,t,r,z,w,q;function E(a){return a%4?4-a%4:0}function A(a,b){return(new Uint8Array(a,b,1))[0]}function v(a,b){return(new Uint32Array(a,b,1))[0]}function u(b,c){var d,e,f,g,h,i,j,l=new Uint32Array(a,c,3*b);for(d=0;dr;r++)o+=String.fromCharCode(z[R+r]);b=A(q,R+12);A(q,R+13);A(q,R+14);A(q,R+15);c=A(q,R+16);d=A(q,R+17);e=A(q,R+18);j=A(q,R+19);l=v(q,R+20);m=v(q,R+20+4);n=v(q,R+20+8);p=v(q,R+20+12);o=v(q,R+20+16);s=v(q,R+20+20);t=v(q,R+20+24);r=v(q,R+20+28);z=v(q,R+20+32);w=v(q,R+20+36);q=v(q,R+20+40);H+=b;R=3*c+j;ga=4*c+j;O=p*R;b=o*(R+3*d);c= -s*(R+3*e);j=t*(R+3*d+3*e);R=r*ga;d=z*(ga+4*d);e=w*(ga+4*e);ga=H;var H=new Float32Array(a,H,3*l),M,J,Q,Z;for(M=0;Mr.parameters.opacity&&(r.parameters.transparent=!0);r.parameters.normalMap?(s=THREE.ShaderUtils.lib.normal,Z=THREE.UniformsUtils.clone(s.uniforms),n=r.parameters.color,B=r.parameters.specular,L=r.parameters.ambient,o=r.parameters.shininess,Z.tNormal.value=M.textures[r.parameters.normalMap],r.parameters.normalScale&&Z.uNormalScale.value.set(r.parameters.normalScale[0], -r.parameters.normalScale[1]),r.parameters.map&&(Z.tDiffuse.value=r.parameters.map,Z.enableDiffuse.value=!0),r.parameters.envMap&&(Z.tCube.value=r.parameters.envMap,Z.enableReflection.value=!0,Z.uReflectivity.value=r.parameters.reflectivity),r.parameters.lightMap&&(Z.tAO.value=r.parameters.lightMap,Z.enableAO.value=!0),r.parameters.specularMap&&(Z.tSpecular.value=M.textures[r.parameters.specularMap],Z.enableSpecular.value=!0),r.parameters.displacementMap&&(Z.tDisplacement.value=M.textures[r.parameters.displacementMap], -Z.enableDisplacement.value=!0,Z.uDisplacementBias.value=r.parameters.displacementBias,Z.uDisplacementScale.value=r.parameters.displacementScale),Z.uDiffuseColor.value.setHex(n),Z.uSpecularColor.value.setHex(B),Z.uAmbientColor.value.setHex(L),Z.uShininess.value=o,r.parameters.opacity&&(Z.uOpacity.value=r.parameters.opacity),C=new THREE.ShaderMaterial({fragmentShader:s.fragmentShader,vertexShader:s.vertexShader,uniforms:Z,lights:!0,fog:!0})):C=new THREE[r.type](r.parameters);M.materials[p]=C}for(p in Q.materials)if(r= -Q.materials[p],r.parameters.materials){u=[];for(B=0;Bh.end&&(h.end=e);b||(b=g)}}a.firstAnimation=b}; -THREE.MorphAnimMesh.prototype.setAnimationLabel=function(a,b,c){this.geometry.animations||(this.geometry.animations={});this.geometry.animations[a]={start:b,end:c}};THREE.MorphAnimMesh.prototype.playAnimation=function(a,b){var c=this.geometry.animations[a];c?(this.setFrameRange(c.start,c.end),this.duration=1E3*((c.end-c.start)/b),this.time=0):console.warn("animation["+a+"] undefined")}; -THREE.MorphAnimMesh.prototype.updateAnimation=function(a){var b=this.duration/this.length;this.time+=this.direction*a;if(this.mirroredLoop){if(this.time>this.duration||0>this.time)if(this.direction*=-1,this.time>this.duration&&(this.time=this.duration,this.directionBackwards=!0),0>this.time)this.time=0,this.directionBackwards=!1}else this.time%=this.duration,0>this.time&&(this.time+=this.duration);a=this.startKeyframe+THREE.Math.clamp(Math.floor(this.time/b),0,this.length-1);a!==this.currentKeyframe&& -(this.morphTargetInfluences[this.lastKeyframe]=0,this.morphTargetInfluences[this.currentKeyframe]=1,this.morphTargetInfluences[a]=0,this.lastKeyframe=this.currentKeyframe,this.currentKeyframe=a);b=this.time%b/b;this.directionBackwards&&(b=1-b);this.morphTargetInfluences[this.currentKeyframe]=b;this.morphTargetInfluences[this.lastKeyframe]=1-b}; -THREE.MorphAnimMesh.prototype.clone=function(a){void 0===a&&(a=new THREE.MorphAnimMesh(this.geometry,this.material));a.duration=this.duration;a.mirroredLoop=this.mirroredLoop;a.time=this.time;a.lastKeyframe=this.lastKeyframe;a.currentKeyframe=this.currentKeyframe;a.direction=this.direction;a.directionBackwards=this.directionBackwards;THREE.Mesh.prototype.clone.call(this,a);return a};THREE.Ribbon=function(a,b){THREE.Object3D.call(this);this.geometry=a;this.material=b};THREE.Ribbon.prototype=Object.create(THREE.Object3D.prototype); -THREE.Ribbon.prototype.clone=function(a){void 0===a&&(a=new THREE.Ribbon(this.geometry,this.material));THREE.Object3D.prototype.clone.call(this,a);return a};THREE.LOD=function(){THREE.Object3D.call(this);this.LODs=[]};THREE.LOD.prototype=Object.create(THREE.Object3D.prototype);THREE.LOD.prototype.addLevel=function(a,b){void 0===b&&(b=0);for(var b=Math.abs(b),c=0;c=this.LODs[b].visibleAtDistance)this.LODs[b-1].object3D.visible=!1,this.LODs[b].object3D.visible=!0;else break;for(;br&&s.clearRect(Math.floor(Sa.getX()),Math.floor(Sa.getY()),Math.floor(Sa.getWidth()), -Math.floor(Sa.getHeight())),0=k||(k*=f.intensity,c.r+=g.r*k, -c.g+=g.g*k,c.b+=g.b*k)}else f instanceof THREE.PointLight&&(h=f.matrixWorld.getPosition(),k=b.dot(va.sub(h,a).normalize()),0>=k||(k*=0==f.distance?1:1-Math.min(a.distanceTo(h)/f.distance,1),0!=k&&(k*=f.intensity,c.r+=g.r*k,c.g+=g.g*k,c.b+=g.b*k)))}}function m(a,d,e,g,h,k,i,j){f.info.render.vertices+=3;f.info.render.faces++;b(j.opacity);c(j.blending);H=a.positionScreen.x;I=a.positionScreen.y;N=d.positionScreen.x;O=d.positionScreen.y;R=e.positionScreen.x;ga=e.positionScreen.y;r(H,I,N,O,R,ga);(j instanceof -THREE.MeshLambertMaterial||j instanceof THREE.MeshPhongMaterial)&&null===j.map&&null===j.map?(aa.copy(j.color),ia.copy(j.emissive),j.vertexColors===THREE.FaceColors&&(aa.r*=i.color.r,aa.g*=i.color.g,aa.b*=i.color.b),!0===kb)?!1===j.wireframe&&j.shading==THREE.SmoothShading&&3==i.vertexNormalsLength?(fa.r=ca.r=Y.r=Oa.r,fa.g=ca.g=Y.g=Oa.g,fa.b=ca.b=Y.b=Oa.b,n(i.v1.positionWorld,i.vertexNormalsWorld[0],fa),n(i.v2.positionWorld,i.vertexNormalsWorld[1],ca),n(i.v3.positionWorld,i.vertexNormalsWorld[2], -Y),fa.r=fa.r*aa.r+ia.r,fa.g=fa.g*aa.g+ia.g,fa.b=fa.b*aa.b+ia.b,ca.r=ca.r*aa.r+ia.r,ca.g=ca.g*aa.g+ia.g,ca.b=ca.b*aa.b+ia.b,Y.r=Y.r*aa.r+ia.r,Y.g=Y.g*aa.g+ia.g,Y.b=Y.b*aa.b+ia.b,ba.r=0.5*(ca.r+Y.r),ba.g=0.5*(ca.g+Y.g),ba.b=0.5*(ca.b+Y.b),sa=yc(fa,ca,Y,ba),na(H,I,N,O,R,ga,0,0,1,0,0,1,sa)):(X.r=Oa.r,X.g=Oa.g,X.b=Oa.b,n(i.centroidWorld,i.normalWorld,X),X.r=X.r*aa.r+ia.r,X.g=X.g*aa.g+ia.g,X.b=X.b*aa.b+ia.b,!0===j.wireframe?t(X,j.wireframeLinewidth,j.wireframeLinecap,j.wireframeLinejoin):w(X)):!0===j.wireframe? -t(j.color,j.wireframeLinewidth,j.wireframeLinecap,j.wireframeLinejoin):w(j.color):j instanceof THREE.MeshBasicMaterial||j instanceof THREE.MeshLambertMaterial||j instanceof THREE.MeshPhongMaterial?null!==j.map?j.map.mapping instanceof THREE.UVMapping&&(Ea=i.uvs[0],z(H,I,N,O,R,ga,Ea[g].u,Ea[g].v,Ea[h].u,Ea[h].v,Ea[k].u,Ea[k].v,j.map)):null!==j.envMap?j.envMap.mapping instanceof THREE.SphericalReflectionMapping&&(a=l.matrixWorldInverse,va.copy(i.vertexNormalsWorld[g]),rb=0.5*(va.x*a.elements[0]+va.y* -a.elements[4]+va.z*a.elements[8])+0.5,ib=0.5*(va.x*a.elements[1]+va.y*a.elements[5]+va.z*a.elements[9])+0.5,va.copy(i.vertexNormalsWorld[h]),ob=0.5*(va.x*a.elements[0]+va.y*a.elements[4]+va.z*a.elements[8])+0.5,jb=0.5*(va.x*a.elements[1]+va.y*a.elements[5]+va.z*a.elements[9])+0.5,va.copy(i.vertexNormalsWorld[k]),Bb=0.5*(va.x*a.elements[0]+va.y*a.elements[4]+va.z*a.elements[8])+0.5,Cb=0.5*(va.x*a.elements[1]+va.y*a.elements[5]+va.z*a.elements[9])+0.5,z(H,I,N,O,R,ga,rb,ib,ob,jb,Bb,Cb,j.envMap)):(X.copy(j.color), -j.vertexColors===THREE.FaceColors&&(X.r*=i.color.r,X.g*=i.color.g,X.b*=i.color.b),!0===j.wireframe?t(X,j.wireframeLinewidth,j.wireframeLinecap,j.wireframeLinejoin):w(X)):j instanceof THREE.MeshDepthMaterial?(Ja=l.near,ma=l.far,fa.r=fa.g=fa.b=1-Db(a.positionScreen.z,Ja,ma),ca.r=ca.g=ca.b=1-Db(d.positionScreen.z,Ja,ma),Y.r=Y.g=Y.b=1-Db(e.positionScreen.z,Ja,ma),ba.r=0.5*(ca.r+Y.r),ba.g=0.5*(ca.g+Y.g),ba.b=0.5*(ca.b+Y.b),sa=yc(fa,ca,Y,ba),na(H,I,N,O,R,ga,0,0,1,0,0,1,sa)):j instanceof THREE.MeshNormalMaterial&& -(X.r=ic(i.normalWorld.x),X.g=ic(i.normalWorld.y),X.b=ic(i.normalWorld.z),!0===j.wireframe?t(X,j.wireframeLinewidth,j.wireframeLinecap,j.wireframeLinejoin):w(X))}function r(a,b,c,d,e,f){s.beginPath();s.moveTo(a,b);s.lineTo(c,d);s.lineTo(e,f);s.closePath()}function q(a,b,c,d,e,f,g,h){s.beginPath();s.moveTo(a,b);s.lineTo(c,d);s.lineTo(e,f);s.lineTo(g,h);s.closePath()}function t(a,b,c,e){A!==b&&(A=s.lineWidth=b);v!==c&&(v=s.lineCap=c);u!==e&&(u=s.lineJoin=e);d(a.getContextStyle());s.stroke();Ka.inflate(2* -b)}function w(a){e(a.getContextStyle());s.fill()}function z(a,b,c,d,f,g,h,k,i,j,l,n,na){if(!(na instanceof THREE.DataTexture||void 0===na.image||0==na.image.width)){if(!0===na.needsUpdate){var m=na.wrapS==THREE.RepeatWrapping,o=na.wrapT==THREE.RepeatWrapping;Aa[na.id]=s.createPattern(na.image,!0===m&&!0===o?"repeat":!0===m&&!1===o?"repeat-x":!1===m&&!0===o?"repeat-y":"no-repeat");na.needsUpdate=!1}void 0===Aa[na.id]?e("rgba(0,0,0,1)"):e(Aa[na.id]);var m=na.offset.x/na.repeat.x,o=na.offset.y/na.repeat.y, -Db=na.image.width*na.repeat.x,p=na.image.height*na.repeat.y,h=(h+m)*Db,k=(1-k+o)*p,c=c-a,d=d-b,f=f-a,g=g-b,i=(i+m)*Db-h,j=(1-j+o)*p-k,l=(l+m)*Db-h,n=(1-n+o)*p-k,m=i*n-l*j;0===m?(void 0===Na[na.id]&&(b=document.createElement("canvas"),b.width=na.image.width,b.height=na.image.height,b=b.getContext("2d"),b.drawImage(na.image,0,0),Na[na.id]=b.getImageData(0,0,na.image.width,na.image.height).data),b=Na[na.id],h=4*(Math.floor(h)+Math.floor(k)*na.image.width),X.setRGB(b[h]/255,b[h+1]/255,b[h+2]/255),w(X)): -(m=1/m,na=(n*c-j*f)*m,j=(n*d-j*g)*m,c=(i*f-l*c)*m,d=(i*g-l*d)*m,a=a-na*h-c*k,h=b-j*h-d*k,s.save(),s.transform(na,j,c,d,a,h),s.fill(),s.restore())}}function na(a,b,c,d,e,f,g,h,k,i,j,l,na){var n,m;n=na.width-1;m=na.height-1;g*=n;h*=m;c-=a;d-=b;e-=a;f-=b;k=k*n-g;i=i*m-h;j=j*n-g;l=l*m-h;m=1/(k*l-j*i);n=(l*c-i*e)*m;i=(l*d-i*f)*m;c=(k*e-j*c)*m;d=(k*f-j*d)*m;a=a-n*g-c*h;b=b-i*g-d*h;s.save();s.transform(n,i,c,d,a,b);s.clip();s.drawImage(na,0,0);s.restore()}function yc(a,b,c,d){xa[0]=255*a.r|0;xa[1]=255*a.g| -0;xa[2]=255*a.b|0;xa[4]=255*b.r|0;xa[5]=255*b.g|0;xa[6]=255*b.b|0;xa[8]=255*c.r|0;xa[9]=255*c.g|0;xa[10]=255*c.b|0;xa[12]=255*d.r|0;xa[13]=255*d.g|0;xa[14]=255*d.b|0;pb.putImageData(bb,0,0);sb.drawImage(eb,0,0);return mb}function Db(a,b,c){a=(a-b)/(c-b);return a*a*(3-2*a)}function ic(a){a=0.5*(a+1);return 0>a?0:1>1,Rc=ka.height>>1,tb=cb.scale.x*p,ub=cb.scale.y*o,E=tb*jc,Ab=ub*Rc,Ka.set(la.x-E,la.y-Ab,la.x+E,la.y+Ab),!1!==Wa.intersects(Ka)&&(s.save(),s.translate(la.x,la.y),s.rotate(-cb.rotation),s.scale(tb,-ub),s.translate(-jc,-Rc),s.drawImage(ka,0,0),s.restore())):da instanceof THREE.ParticleCanvasMaterial&&(E=cb.scale.x*p,Ab=cb.scale.y*o,Ka.set(la.x- -E,la.y-Ab,la.x+E,la.y+Ab),!1!==Wa.intersects(Ka)&&(d(da.color.getContextStyle()),e(da.color.getContextStyle()),s.save(),s.translate(la.x,la.y),s.rotate(-cb.rotation),s.scale(E,Ab),da.program(s),s.restore()))}else if(ka instanceof THREE.RenderableLine){if(D=ka.v1,C=ka.v2,D.positionScreen.x*=p,D.positionScreen.y*=o,C.positionScreen.x*=p,C.positionScreen.y*=o,Ka.addPoint(D.positionScreen.x,D.positionScreen.y),Ka.addPoint(C.positionScreen.x,C.positionScreen.y),!0===Wa.intersects(Ka)&&(la=D,cb=C,b(da.opacity), -c(da.blending),s.beginPath(),s.moveTo(la.positionScreen.x,la.positionScreen.y),s.lineTo(cb.positionScreen.x,cb.positionScreen.y),da instanceof THREE.LineBasicMaterial))la=da.linewidth,A!==la&&(A=s.lineWidth=la),la=da.linecap,v!==la&&(v=s.lineCap=la),la=da.linejoin,u!==la&&(u=s.lineJoin=la),d(da.color.getContextStyle()),s.stroke(),Ka.inflate(2*da.linewidth)}else if(ka instanceof THREE.RenderableFace3)D=ka.v1,C=ka.v2,G=ka.v3,D.positionScreen.x*=p,D.positionScreen.y*=o,C.positionScreen.x*=p,C.positionScreen.y*= -o,G.positionScreen.x*=p,G.positionScreen.y*=o,!0===da.overdraw&&(Zb(D.positionScreen,C.positionScreen),Zb(C.positionScreen,G.positionScreen),Zb(G.positionScreen,D.positionScreen)),Ka.add3Points(D.positionScreen.x,D.positionScreen.y,C.positionScreen.x,C.positionScreen.y,G.positionScreen.x,G.positionScreen.y),!0===Wa.intersects(Ka)&&m(D,C,G,0,1,2,ka,da,a);else if(ka instanceof THREE.RenderableFace4&&(D=ka.v1,C=ka.v2,G=ka.v3,P=ka.v4,D.positionScreen.x*=p,D.positionScreen.y*=o,C.positionScreen.x*=p,C.positionScreen.y*= -o,G.positionScreen.x*=p,G.positionScreen.y*=o,P.positionScreen.x*=p,P.positionScreen.y*=o,B.positionScreen.copy(C.positionScreen),K.positionScreen.copy(P.positionScreen),!0===da.overdraw&&(Zb(D.positionScreen,C.positionScreen),Zb(C.positionScreen,P.positionScreen),Zb(P.positionScreen,D.positionScreen),Zb(G.positionScreen,B.positionScreen),Zb(G.positionScreen,K.positionScreen)),Ka.addPoint(D.positionScreen.x,D.positionScreen.y),Ka.addPoint(C.positionScreen.x,C.positionScreen.y),Ka.addPoint(G.positionScreen.x, -G.positionScreen.y),Ka.addPoint(P.positionScreen.x,P.positionScreen.y),!0===Wa.intersects(Ka)))(la=D,cb=C,E=G,Ab=P,tb=B,ub=K,jc=a,f.info.render.vertices+=4,f.info.render.faces++,b(da.opacity),c(da.blending),void 0!==da.map&&null!==da.map||void 0!==da.envMap&&null!==da.envMap)?(m(la,cb,Ab,0,1,3,ka,da,jc),m(tb,E,ub,1,2,3,ka,da,jc)):(H=la.positionScreen.x,I=la.positionScreen.y,N=cb.positionScreen.x,O=cb.positionScreen.y,R=E.positionScreen.x,ga=E.positionScreen.y,M=Ab.positionScreen.x,J=Ab.positionScreen.y, -Q=tb.positionScreen.x,Z=tb.positionScreen.y,L=ub.positionScreen.x,oa=ub.positionScreen.y,da instanceof THREE.MeshLambertMaterial||da instanceof THREE.MeshPhongMaterial)?(aa.copy(da.color),ia.copy(da.emissive),da.vertexColors===THREE.FaceColors&&(aa.r*=ka.color.r,aa.g*=ka.color.g,aa.b*=ka.color.b),!0===kb)?!1===da.wireframe&&da.shading==THREE.SmoothShading&&4==ka.vertexNormalsLength?(fa.r=ca.r=Y.r=ba.r=Oa.r,fa.g=ca.g=Y.g=ba.g=Oa.g,fa.b=ca.b=Y.b=ba.b=Oa.b,n(ka.v1.positionWorld,ka.vertexNormalsWorld[0], -fa),n(ka.v2.positionWorld,ka.vertexNormalsWorld[1],ca),n(ka.v4.positionWorld,ka.vertexNormalsWorld[3],Y),n(ka.v3.positionWorld,ka.vertexNormalsWorld[2],ba),fa.r=fa.r*aa.r+ia.r,fa.g=fa.g*aa.g+ia.g,fa.b=fa.b*aa.b+ia.b,ca.r=ca.r*aa.r+ia.r,ca.g=ca.g*aa.g+ia.g,ca.b=ca.b*aa.b+ia.b,Y.r=Y.r*aa.r+ia.r,Y.g=Y.g*aa.g+ia.g,Y.b=Y.b*aa.b+ia.b,ba.r=ba.r*aa.r+ia.r,ba.g=ba.g*aa.g+ia.g,ba.b=ba.b*aa.b+ia.b,sa=yc(fa,ca,Y,ba),r(H,I,N,O,M,J),na(H,I,N,O,M,J,0,0,1,0,0,1,sa),r(Q,Z,R,ga,L,oa),na(Q,Z,R,ga,L,oa,1,0,1,1,0,1,sa)): -(X.r=Oa.r,X.g=Oa.g,X.b=Oa.b,n(ka.centroidWorld,ka.normalWorld,X),X.r=X.r*aa.r+ia.r,X.g=X.g*aa.g+ia.g,X.b=X.b*aa.b+ia.b,q(H,I,N,O,R,ga,M,J),!0===da.wireframe?t(X,da.wireframeLinewidth,da.wireframeLinecap,da.wireframeLinejoin):w(X)):(X.r=aa.r+ia.r,X.g=aa.g+ia.g,X.b=aa.b+ia.b,q(H,I,N,O,R,ga,M,J),!0===da.wireframe?t(X,da.wireframeLinewidth,da.wireframeLinecap,da.wireframeLinejoin):w(X)):da instanceof THREE.MeshBasicMaterial?(X.copy(da.color),da.vertexColors===THREE.FaceColors&&(X.r*=ka.color.r,X.g*=ka.color.g, -X.b*=ka.color.b),q(H,I,N,O,R,ga,M,J),!0===da.wireframe?t(X,da.wireframeLinewidth,da.wireframeLinecap,da.wireframeLinejoin):w(X)):da instanceof THREE.MeshNormalMaterial?(X.r=ic(ka.normalWorld.x),X.g=ic(ka.normalWorld.y),X.b=ic(ka.normalWorld.z),q(H,I,N,O,R,ga,M,J),!0===da.wireframe?t(X,da.wireframeLinewidth,da.wireframeLinecap,da.wireframeLinejoin):w(X)):da instanceof THREE.MeshDepthMaterial&&(Ja=l.near,ma=l.far,fa.r=fa.g=fa.b=1-Db(la.positionScreen.z,Ja,ma),ca.r=ca.g=ca.b=1-Db(cb.positionScreen.z, -Ja,ma),Y.r=Y.g=Y.b=1-Db(Ab.positionScreen.z,Ja,ma),ba.r=ba.g=ba.b=1-Db(E.positionScreen.z,Ja,ma),sa=yc(fa,ca,Y,ba),r(H,I,N,O,M,J),na(H,I,N,O,M,J,0,0,1,0,0,1,sa),r(Q,Z,R,ga,L,oa),na(Q,Z,R,ga,L,oa,1,0,1,1,0,1,sa));Sa.addRectangle(Ka)}s.setTransform(1,0,0,1,0,0)}}}; -THREE.ShaderChunk={fog_pars_fragment:"#ifdef USE_FOG\nuniform vec3 fogColor;\n#ifdef FOG_EXP2\nuniform float fogDensity;\n#else\nuniform float fogNear;\nuniform float fogFar;\n#endif\n#endif",fog_fragment:"#ifdef USE_FOG\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n#ifdef FOG_EXP2\nconst float LOG2 = 1.442695;\nfloat fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n#else\nfloat fogFactor = smoothstep( fogNear, fogFar, depth );\n#endif\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\nuniform float reflectivity;\nuniform samplerCube envMap;\nuniform float flipEnvMap;\nuniform int combine;\n#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\nuniform bool useRefract;\nuniform float refractionRatio;\n#else\nvarying vec3 vReflect;\n#endif\n#endif", -envmap_fragment:"#ifdef USE_ENVMAP\nvec3 reflectVec;\n#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\nvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\nif ( useRefract ) {\nreflectVec = refract( cameraToVertex, normal, refractionRatio );\n} else { \nreflectVec = reflect( cameraToVertex, normal );\n}\n#else\nreflectVec = vReflect;\n#endif\n#ifdef DOUBLE_SIDED\nfloat flipNormal = ( -1.0 + 2.0 * float( gl_FrontFacing ) );\nvec4 cubeColor = textureCube( envMap, flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n#else\nvec4 cubeColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n#endif\n#ifdef GAMMA_INPUT\ncubeColor.xyz *= cubeColor.xyz;\n#endif\nif ( combine == 1 ) {\ngl_FragColor.xyz = mix( gl_FragColor.xyz, cubeColor.xyz, specularStrength * reflectivity );\n} else if ( combine == 2 ) {\ngl_FragColor.xyz += cubeColor.xyz * specularStrength * reflectivity;\n} else {\ngl_FragColor.xyz = mix( gl_FragColor.xyz, gl_FragColor.xyz * cubeColor.xyz, specularStrength * reflectivity );\n}\n#endif", -envmap_pars_vertex:"#if defined( USE_ENVMAP ) && ! defined( USE_BUMPMAP ) && ! defined( USE_NORMALMAP )\nvarying vec3 vReflect;\nuniform float refractionRatio;\nuniform bool useRefract;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( PHONG ) || defined( LAMBERT ) || defined ( USE_SHADOWMAP )\n#ifdef USE_SKINNING\nvec4 worldPosition = modelMatrix * skinned;\n#endif\n#if defined( USE_MORPHTARGETS ) && ! defined( USE_SKINNING )\nvec4 worldPosition = modelMatrix * vec4( morphed, 1.0 );\n#endif\n#if ! defined( USE_MORPHTARGETS ) && ! defined( USE_SKINNING )\nvec4 worldPosition = modelMatrix * vec4( position, 1.0 );\n#endif\n#endif", -envmap_vertex:"#if defined( USE_ENVMAP ) && ! defined( USE_BUMPMAP ) && ! defined( USE_NORMALMAP )\nvec3 worldNormal = mat3( modelMatrix[ 0 ].xyz, modelMatrix[ 1 ].xyz, modelMatrix[ 2 ].xyz ) * objectNormal;\nworldNormal = normalize( worldNormal );\nvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\nif ( useRefract ) {\nvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n} else {\nvReflect = reflect( cameraToVertex, worldNormal );\n}\n#endif",map_particle_pars_fragment:"#ifdef USE_MAP\nuniform sampler2D map;\n#endif", -map_particle_fragment:"#ifdef USE_MAP\ngl_FragColor = gl_FragColor * texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) );\n#endif",map_pars_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP )\nvarying vec2 vUv;\nuniform vec4 offsetRepeat;\n#endif",map_pars_fragment:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP )\nvarying vec2 vUv;\n#endif\n#ifdef USE_MAP\nuniform sampler2D map;\n#endif", -map_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP )\nvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\n#endif",map_fragment:"#ifdef USE_MAP\n#ifdef GAMMA_INPUT\nvec4 texelColor = texture2D( map, vUv );\ntexelColor.xyz *= texelColor.xyz;\ngl_FragColor = gl_FragColor * texelColor;\n#else\ngl_FragColor = gl_FragColor * texture2D( map, vUv );\n#endif\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\nuniform sampler2D lightMap;\n#endif", -lightmap_pars_vertex:"#ifdef USE_LIGHTMAP\nvarying vec2 vUv2;\n#endif",lightmap_fragment:"#ifdef USE_LIGHTMAP\ngl_FragColor = gl_FragColor * texture2D( lightMap, vUv2 );\n#endif",lightmap_vertex:"#ifdef USE_LIGHTMAP\nvUv2 = uv2;\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\nuniform sampler2D bumpMap;\nuniform float bumpScale;\nvec2 dHdxy_fwd() {\nvec2 dSTdx = dFdx( vUv );\nvec2 dSTdy = dFdy( vUv );\nfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\nfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\nfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\nreturn vec2( dBx, dBy );\n}\nvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\nvec3 vSigmaX = dFdx( surf_pos );\nvec3 vSigmaY = dFdy( surf_pos );\nvec3 vN = surf_norm;\nvec3 R1 = cross( vSigmaY, vN );\nvec3 R2 = cross( vN, vSigmaX );\nfloat fDet = dot( vSigmaX, R1 );\nvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\nreturn normalize( abs( fDet ) * surf_norm - vGrad );\n}\n#endif", -normalmap_pars_fragment:"#ifdef USE_NORMALMAP\nuniform sampler2D normalMap;\nuniform vec2 normalScale;\nvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\nvec3 q0 = dFdx( eye_pos.xyz );\nvec3 q1 = dFdy( eye_pos.xyz );\nvec2 st0 = dFdx( vUv.st );\nvec2 st1 = dFdy( vUv.st );\nvec3 S = normalize( q0 * st1.t - q1 * st0.t );\nvec3 T = normalize( -q0 * st1.s + q1 * st0.s );\nvec3 N = normalize( surf_norm );\nvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\nmapN.xy = normalScale * mapN.xy;\nmat3 tsn = mat3( S, T, N );\nreturn normalize( tsn * mapN );\n}\n#endif", -specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\nuniform sampler2D specularMap;\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\nvec4 texelSpecular = texture2D( specularMap, vUv );\nspecularStrength = texelSpecular.r;\n#else\nspecularStrength = 1.0;\n#endif",lights_lambert_pars_vertex:"uniform vec3 ambient;\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_HEMI_LIGHTS > 0\nuniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#endif\n#if MAX_SPOT_LIGHTS > 0\nuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\nuniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];\nuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\n#endif\n#ifdef WRAP_AROUND\nuniform vec3 wrapRGB;\n#endif", -lights_lambert_vertex:"vLightFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\nvLightBack = vec3( 0.0 );\n#endif\ntransformedNormal = normalize( transformedNormal );\n#if MAX_DIR_LIGHTS > 0\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nfloat dotProduct = dot( transformedNormal, dirVector );\nvec3 directionalLightWeighting = vec3( max( dotProduct, 0.0 ) );\n#ifdef DOUBLE_SIDED\nvec3 directionalLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\n#ifdef WRAP_AROUND\nvec3 directionalLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\n#endif\n#endif\n#ifdef WRAP_AROUND\nvec3 directionalLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\ndirectionalLightWeighting = mix( directionalLightWeighting, directionalLightWeightingHalf, wrapRGB );\n#ifdef DOUBLE_SIDED\ndirectionalLightWeightingBack = mix( directionalLightWeightingBack, directionalLightWeightingHalfBack, wrapRGB );\n#endif\n#endif\nvLightFront += directionalLightColor[ i ] * directionalLightWeighting;\n#ifdef DOUBLE_SIDED\nvLightBack += directionalLightColor[ i ] * directionalLightWeightingBack;\n#endif\n}\n#endif\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nfloat dotProduct = dot( transformedNormal, lVector );\nvec3 pointLightWeighting = vec3( max( dotProduct, 0.0 ) );\n#ifdef DOUBLE_SIDED\nvec3 pointLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\n#ifdef WRAP_AROUND\nvec3 pointLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\n#endif\n#endif\n#ifdef WRAP_AROUND\nvec3 pointLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\npointLightWeighting = mix( pointLightWeighting, pointLightWeightingHalf, wrapRGB );\n#ifdef DOUBLE_SIDED\npointLightWeightingBack = mix( pointLightWeightingBack, pointLightWeightingHalfBack, wrapRGB );\n#endif\n#endif\nvLightFront += pointLightColor[ i ] * pointLightWeighting * lDistance;\n#ifdef DOUBLE_SIDED\nvLightBack += pointLightColor[ i ] * pointLightWeightingBack * lDistance;\n#endif\n}\n#endif\n#if MAX_SPOT_LIGHTS > 0\nfor( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - worldPosition.xyz ) );\nif ( spotEffect > spotLightAngleCos[ i ] ) {\nspotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );\nfloat lDistance = 1.0;\nif ( spotLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\nfloat dotProduct = dot( transformedNormal, lVector );\nvec3 spotLightWeighting = vec3( max( dotProduct, 0.0 ) );\n#ifdef DOUBLE_SIDED\nvec3 spotLightWeightingBack = vec3( max( -dotProduct, 0.0 ) );\n#ifdef WRAP_AROUND\nvec3 spotLightWeightingHalfBack = vec3( max( -0.5 * dotProduct + 0.5, 0.0 ) );\n#endif\n#endif\n#ifdef WRAP_AROUND\nvec3 spotLightWeightingHalf = vec3( max( 0.5 * dotProduct + 0.5, 0.0 ) );\nspotLightWeighting = mix( spotLightWeighting, spotLightWeightingHalf, wrapRGB );\n#ifdef DOUBLE_SIDED\nspotLightWeightingBack = mix( spotLightWeightingBack, spotLightWeightingHalfBack, wrapRGB );\n#endif\n#endif\nvLightFront += spotLightColor[ i ] * spotLightWeighting * lDistance * spotEffect;\n#ifdef DOUBLE_SIDED\nvLightBack += spotLightColor[ i ] * spotLightWeightingBack * lDistance * spotEffect;\n#endif\n}\n}\n#endif\n#if MAX_HEMI_LIGHTS > 0\nfor( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );\nvec3 lVector = normalize( lDirection.xyz );\nfloat dotProduct = dot( transformedNormal, lVector );\nfloat hemiDiffuseWeight = 0.5 * dotProduct + 0.5;\nfloat hemiDiffuseWeightBack = -0.5 * dotProduct + 0.5;\nvLightFront += mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );\n#ifdef DOUBLE_SIDED\nvLightBack += mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeightBack );\n#endif\n}\n#endif\nvLightFront = vLightFront * diffuse + ambient * ambientLightColor + emissive;\n#ifdef DOUBLE_SIDED\nvLightBack = vLightBack * diffuse + ambient * ambientLightColor + emissive;\n#endif", -lights_phong_pars_vertex:"#ifndef PHONG_PER_PIXEL\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\n#if MAX_SPOT_LIGHTS > 0\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\nvarying vec4 vSpotLight[ MAX_SPOT_LIGHTS ];\n#endif\n#endif\n#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP )\nvarying vec3 vWorldPosition;\n#endif", -lights_phong_vertex:"#ifndef PHONG_PER_PIXEL\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nvPointLight[ i ] = vec4( lVector, lDistance );\n}\n#endif\n#if MAX_SPOT_LIGHTS > 0\nfor( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz - mvPosition.xyz;\nfloat lDistance = 1.0;\nif ( spotLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );\nvSpotLight[ i ] = vec4( lVector, lDistance );\n}\n#endif\n#endif\n#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP )\nvWorldPosition = worldPosition.xyz;\n#endif", -lights_phong_pars_fragment:"uniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_HEMI_LIGHTS > 0\nuniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\n#ifdef PHONG_PER_PIXEL\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#else\nvarying vec4 vPointLight[ MAX_POINT_LIGHTS ];\n#endif\n#endif\n#if MAX_SPOT_LIGHTS > 0\nuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\nuniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];\nuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\n#ifdef PHONG_PER_PIXEL\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\n#else\nvarying vec4 vSpotLight[ MAX_SPOT_LIGHTS ];\n#endif\n#endif\n#if MAX_SPOT_LIGHTS > 0 || defined( USE_BUMPMAP )\nvarying vec3 vWorldPosition;\n#endif\n#ifdef WRAP_AROUND\nuniform vec3 wrapRGB;\n#endif\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;", -lights_phong_fragment:"vec3 normal = normalize( vNormal );\nvec3 viewPosition = normalize( vViewPosition );\n#ifdef DOUBLE_SIDED\nnormal = normal * ( -1.0 + 2.0 * float( gl_FrontFacing ) );\n#endif\n#ifdef USE_NORMALMAP\nnormal = perturbNormal2Arb( -viewPosition, normal );\n#elif defined( USE_BUMPMAP )\nnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif\n#if MAX_POINT_LIGHTS > 0\nvec3 pointDiffuse = vec3( 0.0 );\nvec3 pointSpecular = vec3( 0.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\n#ifdef PHONG_PER_PIXEL\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz + vViewPosition.xyz;\nfloat lDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / pointLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\n#else\nvec3 lVector = normalize( vPointLight[ i ].xyz );\nfloat lDistance = vPointLight[ i ].w;\n#endif\nfloat dotProduct = dot( normal, lVector );\n#ifdef WRAP_AROUND\nfloat pointDiffuseWeightFull = max( dotProduct, 0.0 );\nfloat pointDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\nvec3 pointDiffuseWeight = mix( vec3 ( pointDiffuseWeightFull ), vec3( pointDiffuseWeightHalf ), wrapRGB );\n#else\nfloat pointDiffuseWeight = max( dotProduct, 0.0 );\n#endif\npointDiffuse += diffuse * pointLightColor[ i ] * pointDiffuseWeight * lDistance;\nvec3 pointHalfVector = normalize( lVector + viewPosition );\nfloat pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );\nfloat pointSpecularWeight = specularStrength * max( pow( pointDotNormalHalf, shininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\nvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, pointHalfVector ), 5.0 );\npointSpecular += schlick * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * lDistance * specularNormalization;\n#else\npointSpecular += specular * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * lDistance;\n#endif\n}\n#endif\n#if MAX_SPOT_LIGHTS > 0\nvec3 spotDiffuse = vec3( 0.0 );\nvec3 spotSpecular = vec3( 0.0 );\nfor ( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\n#ifdef PHONG_PER_PIXEL\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\nvec3 lVector = lPosition.xyz + vViewPosition.xyz;\nfloat lDistance = 1.0;\nif ( spotLightDistance[ i ] > 0.0 )\nlDistance = 1.0 - min( ( length( lVector ) / spotLightDistance[ i ] ), 1.0 );\nlVector = normalize( lVector );\n#else\nvec3 lVector = normalize( vSpotLight[ i ].xyz );\nfloat lDistance = vSpotLight[ i ].w;\n#endif\nfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - vWorldPosition ) );\nif ( spotEffect > spotLightAngleCos[ i ] ) {\nspotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );\nfloat dotProduct = dot( normal, lVector );\n#ifdef WRAP_AROUND\nfloat spotDiffuseWeightFull = max( dotProduct, 0.0 );\nfloat spotDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\nvec3 spotDiffuseWeight = mix( vec3 ( spotDiffuseWeightFull ), vec3( spotDiffuseWeightHalf ), wrapRGB );\n#else\nfloat spotDiffuseWeight = max( dotProduct, 0.0 );\n#endif\nspotDiffuse += diffuse * spotLightColor[ i ] * spotDiffuseWeight * lDistance * spotEffect;\nvec3 spotHalfVector = normalize( lVector + viewPosition );\nfloat spotDotNormalHalf = max( dot( normal, spotHalfVector ), 0.0 );\nfloat spotSpecularWeight = specularStrength * max( pow( spotDotNormalHalf, shininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\nvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, spotHalfVector ), 5.0 );\nspotSpecular += schlick * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * lDistance * specularNormalization * spotEffect;\n#else\nspotSpecular += specular * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * lDistance * spotEffect;\n#endif\n}\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec3 dirDiffuse = vec3( 0.0 );\nvec3 dirSpecular = vec3( 0.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nfloat dotProduct = dot( normal, dirVector );\n#ifdef WRAP_AROUND\nfloat dirDiffuseWeightFull = max( dotProduct, 0.0 );\nfloat dirDiffuseWeightHalf = max( 0.5 * dotProduct + 0.5, 0.0 );\nvec3 dirDiffuseWeight = mix( vec3( dirDiffuseWeightFull ), vec3( dirDiffuseWeightHalf ), wrapRGB );\n#else\nfloat dirDiffuseWeight = max( dotProduct, 0.0 );\n#endif\ndirDiffuse += diffuse * directionalLightColor[ i ] * dirDiffuseWeight;\nvec3 dirHalfVector = normalize( dirVector + viewPosition );\nfloat dirDotNormalHalf = max( dot( normal, dirHalfVector ), 0.0 );\nfloat dirSpecularWeight = specularStrength * max( pow( dirDotNormalHalf, shininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\nvec3 schlick = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( dirVector, dirHalfVector ), 5.0 );\ndirSpecular += schlick * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight * specularNormalization;\n#else\ndirSpecular += specular * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight;\n#endif\n}\n#endif\n#if MAX_HEMI_LIGHTS > 0\nvec3 hemiDiffuse = vec3( 0.0 );\nvec3 hemiSpecular = vec3( 0.0 );\nfor( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );\nvec3 lVector = normalize( lDirection.xyz );\nfloat dotProduct = dot( normal, lVector );\nfloat hemiDiffuseWeight = 0.5 * dotProduct + 0.5;\nvec3 hemiColor = mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );\nhemiDiffuse += diffuse * hemiColor;\nvec3 hemiHalfVectorSky = normalize( lVector + viewPosition );\nfloat hemiDotNormalHalfSky = 0.5 * dot( normal, hemiHalfVectorSky ) + 0.5;\nfloat hemiSpecularWeightSky = specularStrength * max( pow( hemiDotNormalHalfSky, shininess ), 0.0 );\nvec3 lVectorGround = -lVector;\nvec3 hemiHalfVectorGround = normalize( lVectorGround + viewPosition );\nfloat hemiDotNormalHalfGround = 0.5 * dot( normal, hemiHalfVectorGround ) + 0.5;\nfloat hemiSpecularWeightGround = specularStrength * max( pow( hemiDotNormalHalfGround, shininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat dotProductGround = dot( normal, lVectorGround );\nfloat specularNormalization = ( shininess + 2.0001 ) / 8.0;\nvec3 schlickSky = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVector, hemiHalfVectorSky ), 5.0 );\nvec3 schlickGround = specular + vec3( 1.0 - specular ) * pow( 1.0 - dot( lVectorGround, hemiHalfVectorGround ), 5.0 );\nhemiSpecular += hemiColor * specularNormalization * ( schlickSky * hemiSpecularWeightSky * max( dotProduct, 0.0 ) + schlickGround * hemiSpecularWeightGround * max( dotProductGround, 0.0 ) );\n#else\nhemiSpecular += specular * hemiColor * ( hemiSpecularWeightSky + hemiSpecularWeightGround ) * hemiDiffuseWeight;\n#endif\n}\n#endif\nvec3 totalDiffuse = vec3( 0.0 );\nvec3 totalSpecular = vec3( 0.0 );\n#if MAX_DIR_LIGHTS > 0\ntotalDiffuse += dirDiffuse;\ntotalSpecular += dirSpecular;\n#endif\n#if MAX_HEMI_LIGHTS > 0\ntotalDiffuse += hemiDiffuse;\ntotalSpecular += hemiSpecular;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalDiffuse += pointDiffuse;\ntotalSpecular += pointSpecular;\n#endif\n#if MAX_SPOT_LIGHTS > 0\ntotalDiffuse += spotDiffuse;\ntotalSpecular += spotSpecular;\n#endif\n#ifdef METAL\ngl_FragColor.xyz = gl_FragColor.xyz * ( emissive + totalDiffuse + ambientLightColor * ambient + totalSpecular );\n#else\ngl_FragColor.xyz = gl_FragColor.xyz * ( emissive + totalDiffuse + ambientLightColor * ambient ) + totalSpecular;\n#endif", -color_pars_fragment:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_fragment:"#ifdef USE_COLOR\ngl_FragColor = gl_FragColor * vec4( vColor, opacity );\n#endif",color_pars_vertex:"#ifdef USE_COLOR\nvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\n#ifdef GAMMA_INPUT\nvColor = color * color;\n#else\nvColor = color;\n#endif\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n#ifdef BONE_TEXTURE\nuniform sampler2D boneTexture;\nmat4 getBoneMatrix( const in float i ) {\nfloat j = i * 4.0;\nfloat x = mod( j, N_BONE_PIXEL_X );\nfloat y = floor( j / N_BONE_PIXEL_X );\nconst float dx = 1.0 / N_BONE_PIXEL_X;\nconst float dy = 1.0 / N_BONE_PIXEL_Y;\ny = dy * ( y + 0.5 );\nvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\nvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\nvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\nvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\nmat4 bone = mat4( v1, v2, v3, v4 );\nreturn bone;\n}\n#else\nuniform mat4 boneGlobalMatrices[ MAX_BONES ];\nmat4 getBoneMatrix( const in float i ) {\nmat4 bone = boneGlobalMatrices[ int(i) ];\nreturn bone;\n}\n#endif\n#endif", -skinbase_vertex:"#ifdef USE_SKINNING\nmat4 boneMatX = getBoneMatrix( skinIndex.x );\nmat4 boneMatY = getBoneMatrix( skinIndex.y );\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n#ifdef USE_MORPHTARGETS\nvec4 skinVertex = vec4( morphed, 1.0 );\n#else\nvec4 skinVertex = vec4( position, 1.0 );\n#endif\nvec4 skinned = boneMatX * skinVertex * skinWeight.x;\nskinned \t += boneMatY * skinVertex * skinWeight.y;\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n#ifndef USE_MORPHNORMALS\nuniform float morphTargetInfluences[ 8 ];\n#else\nuniform float morphTargetInfluences[ 4 ];\n#endif\n#endif", -morphtarget_vertex:"#ifdef USE_MORPHTARGETS\nvec3 morphed = vec3( 0.0 );\nmorphed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\nmorphed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\nmorphed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\nmorphed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\n#ifndef USE_MORPHNORMALS\nmorphed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\nmorphed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\nmorphed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\nmorphed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\n#endif\nmorphed += position;\n#endif", -default_vertex:"vec4 mvPosition;\n#ifdef USE_SKINNING\nmvPosition = modelViewMatrix * skinned;\n#endif\n#if !defined( USE_SKINNING ) && defined( USE_MORPHTARGETS )\nmvPosition = modelViewMatrix * vec4( morphed, 1.0 );\n#endif\n#if !defined( USE_SKINNING ) && ! defined( USE_MORPHTARGETS )\nmvPosition = modelViewMatrix * vec4( position, 1.0 );\n#endif\ngl_Position = projectionMatrix * mvPosition;",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\nvec3 morphedNormal = vec3( 0.0 );\nmorphedNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\nmorphedNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\nmorphedNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\nmorphedNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\nmorphedNormal += normal;\n#endif", -skinnormal_vertex:"#ifdef USE_SKINNING\nmat4 skinMatrix = skinWeight.x * boneMatX;\nskinMatrix \t+= skinWeight.y * boneMatY;\n#ifdef USE_MORPHNORMALS\nvec4 skinnedNormal = skinMatrix * vec4( morphedNormal, 0.0 );\n#else\nvec4 skinnedNormal = skinMatrix * vec4( normal, 0.0 );\n#endif\n#endif",defaultnormal_vertex:"vec3 objectNormal;\n#ifdef USE_SKINNING\nobjectNormal = skinnedNormal.xyz;\n#endif\n#if !defined( USE_SKINNING ) && defined( USE_MORPHNORMALS )\nobjectNormal = morphedNormal;\n#endif\n#if !defined( USE_SKINNING ) && ! defined( USE_MORPHNORMALS )\nobjectNormal = normal;\n#endif\n#ifdef FLIP_SIDED\nobjectNormal = -objectNormal;\n#endif\nvec3 transformedNormal = normalMatrix * objectNormal;", -shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\nuniform sampler2D shadowMap[ MAX_SHADOWS ];\nuniform vec2 shadowMapSize[ MAX_SHADOWS ];\nuniform float shadowDarkness[ MAX_SHADOWS ];\nuniform float shadowBias[ MAX_SHADOWS ];\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nfloat unpackDepth( const in vec4 rgba_depth ) {\nconst vec4 bit_shift = vec4( 1.0 / ( 256.0 * 256.0 * 256.0 ), 1.0 / ( 256.0 * 256.0 ), 1.0 / 256.0, 1.0 );\nfloat depth = dot( rgba_depth, bit_shift );\nreturn depth;\n}\n#endif",shadowmap_fragment:"#ifdef USE_SHADOWMAP\n#ifdef SHADOWMAP_DEBUG\nvec3 frustumColors[3];\nfrustumColors[0] = vec3( 1.0, 0.5, 0.0 );\nfrustumColors[1] = vec3( 0.0, 1.0, 0.8 );\nfrustumColors[2] = vec3( 0.0, 0.5, 1.0 );\n#endif\n#ifdef SHADOWMAP_CASCADE\nint inFrustumCount = 0;\n#endif\nfloat fDepth;\nvec3 shadowColor = vec3( 1.0 );\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvec3 shadowCoord = vShadowCoord[ i ].xyz / vShadowCoord[ i ].w;\nbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\nbool inFrustum = all( inFrustumVec );\n#ifdef SHADOWMAP_CASCADE\ninFrustumCount += int( inFrustum );\nbvec3 frustumTestVec = bvec3( inFrustum, inFrustumCount == 1, shadowCoord.z <= 1.0 );\n#else\nbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n#endif\nbool frustumTest = all( frustumTestVec );\nif ( frustumTest ) {\nshadowCoord.z += shadowBias[ i ];\n#ifdef SHADOWMAP_SOFT\nfloat shadow = 0.0;\nconst float shadowDelta = 1.0 / 9.0;\nfloat xPixelOffset = 1.0 / shadowMapSize[ i ].x;\nfloat yPixelOffset = 1.0 / shadowMapSize[ i ].y;\nfloat dx0 = -1.25 * xPixelOffset;\nfloat dy0 = -1.25 * yPixelOffset;\nfloat dx1 = 1.25 * xPixelOffset;\nfloat dy1 = 1.25 * yPixelOffset;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, 0.0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, 0.0 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx0, dy1 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( 0.0, dy1 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nfDepth = unpackDepth( texture2D( shadowMap[ i ], shadowCoord.xy + vec2( dx1, dy1 ) ) );\nif ( fDepth < shadowCoord.z ) shadow += shadowDelta;\nshadowColor = shadowColor * vec3( ( 1.0 - shadowDarkness[ i ] * shadow ) );\n#else\nvec4 rgbaDepth = texture2D( shadowMap[ i ], shadowCoord.xy );\nfloat fDepth = unpackDepth( rgbaDepth );\nif ( fDepth < shadowCoord.z )\nshadowColor = shadowColor * vec3( 1.0 - shadowDarkness[ i ] );\n#endif\n}\n#ifdef SHADOWMAP_DEBUG\n#ifdef SHADOWMAP_CASCADE\nif ( inFrustum && inFrustumCount == 1 ) gl_FragColor.xyz *= frustumColors[ i ];\n#else\nif ( inFrustum ) gl_FragColor.xyz *= frustumColors[ i ];\n#endif\n#endif\n}\n#ifdef GAMMA_OUTPUT\nshadowColor *= shadowColor;\n#endif\ngl_FragColor.xyz = gl_FragColor.xyz * shadowColor;\n#endif", -shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\nvarying vec4 vShadowCoord[ MAX_SHADOWS ];\nuniform mat4 shadowMatrix[ MAX_SHADOWS ];\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvShadowCoord[ i ] = shadowMatrix[ i ] * worldPosition;\n}\n#endif",alphatest_fragment:"#ifdef ALPHATEST\nif ( gl_FragColor.a < ALPHATEST ) discard;\n#endif",linear_to_gamma_fragment:"#ifdef GAMMA_OUTPUT\ngl_FragColor.xyz = sqrt( gl_FragColor.xyz );\n#endif"}; -THREE.UniformsUtils={merge:function(a){var b,c,d,e={};for(b=0;b dashSize ) {\ndiscard;\n}\ngl_FragColor = vec4( diffuse, opacity );",THREE.ShaderChunk.color_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n")},depthRGBA:{uniforms:{},vertexShader:[THREE.ShaderChunk.morphtarget_pars_vertex,THREE.ShaderChunk.skinning_pars_vertex,"void main() {",THREE.ShaderChunk.skinbase_vertex,THREE.ShaderChunk.morphtarget_vertex,THREE.ShaderChunk.skinning_vertex, -THREE.ShaderChunk.default_vertex,"}"].join("\n"),fragmentShader:"vec4 pack_depth( const in float depth ) {\nconst vec4 bit_shift = vec4( 256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0 );\nconst vec4 bit_mask = vec4( 0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0 );\nvec4 res = fract( depth * bit_shift );\nres -= res.xxyz * bit_mask;\nreturn res;\n}\nvoid main() {\ngl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );\n}"}}; -THREE.WebGLRenderer=function(a){function b(a){if(a.__webglCustomAttributesList)for(var b in a.__webglCustomAttributesList)k.deleteBuffer(a.__webglCustomAttributesList[b].buffer)}function c(a,b){var c=a.vertices.length,d=b.material;if(d.attributes){void 0===a.__webglCustomAttributesList&&(a.__webglCustomAttributesList=[]);for(var e in d.attributes){var f=d.attributes[e];if(!f.__webglInitialized||f.createUniqueBuffers){f.__webglInitialized=!0;var g=1;"v2"===f.type?g=2:"v3"===f.type?g=3:"v4"===f.type? -g=4:"c"===f.type&&(g=3);f.size=g;f.array=new Float32Array(c*g);f.buffer=k.createBuffer();f.buffer.belongsToAttribute=e;f.needsUpdate=!0}a.__webglCustomAttributesList.push(f)}}}function d(a,b){var c=b.geometry,d=a.faces3,h=a.faces4,i=3*d.length+4*h.length,j=1*d.length+2*h.length,h=3*d.length+4*h.length,d=e(b,a),l=g(d),n=f(d),m=d.vertexColors?d.vertexColors:!1;a.__vertexArray=new Float32Array(3*i);n&&(a.__normalArray=new Float32Array(3*i));c.hasTangents&&(a.__tangentArray=new Float32Array(4*i));m&& -(a.__colorArray=new Float32Array(3*i));if(l){if(0l;l++)L.autoScaleCubemaps&&!f?(n=j,m=l,r=c.image[l],t= -Qc,r.width<=t&&r.height<=t||(w=Math.max(r.width,r.height),q=Math.floor(r.width*t/w),t=Math.floor(r.height*t/w),w=document.createElement("canvas"),w.width=q,w.height=t,w.getContext("2d").drawImage(r,0,0,r.width,r.height,0,0,q,t),r=w),n[m]=r):j[l]=c.image[l];l=j[0];n=0===(l.width&l.width-1)&&0===(l.height&l.height-1);m=H(c.format);r=H(c.type);P(k.TEXTURE_CUBE_MAP,c,n);for(l=0;6>l;l++)if(f){t=j[l].mipmaps;w=0;for(z=t.length;w=xc&&console.warn("Trying to use "+a+" texture units while this GPU supports only "+xc);Aa+=1;return a}function A(a,b){a._modelViewMatrix.multiply(b.matrixWorldInverse,a.matrixWorld);a._normalMatrix.getInverse(a._modelViewMatrix);a._normalMatrix.transpose()}function v(a,b,c, -d){a[b]=c.r*c.r*d;a[b+1]=c.g*c.g*d;a[b+2]=c.b*c.b*d}function u(a,b,c,d){a[b]=c.r*d;a[b+1]=c.g*d;a[b+2]=c.b*d}function D(a,b,c){jb!==a&&(a?k.enable(k.POLYGON_OFFSET_FILL):k.disable(k.POLYGON_OFFSET_FILL),jb=a);if(a&&(Bb!==b||Cb!==c))k.polygonOffset(b,c),Bb=b,Cb=c}function C(a){for(var a=a.split("\n"),b=0,c=a.length;bb;b++)k.deleteFramebuffer(a.__webglFramebuffer[b]),k.deleteRenderbuffer(a.__webglRenderbuffer[b]); -else k.deleteFramebuffer(a.__webglFramebuffer),k.deleteRenderbuffer(a.__webglRenderbuffer)};this.deallocateMaterial=function(a){var b=a.program;if(b){a.program=void 0;var c,d,e=!1,a=0;for(c=oa.length;ad.numSupportedMorphTargets?(h.sort(m),h.length=d.numSupportedMorphTargets):h.length>d.numSupportedMorphNormals?h.sort(m): -0===h.length&&h.push([0,0]);for(i=0;iwa;wa++)ac=eb[wa],wb[Za]=ac.x,wb[Za+1]= -ac.y,wb[Za+2]=ac.z,Za+=3;else for(wa=0;3>wa;wa++)wb[Za]=bb.x,wb[Za+1]=bb.y,wb[Za+2]=bb.z,Za+=3;F=0;for($=ua.length;F<$;F++)if(S=$a[ua[F]],eb=S.vertexNormals,bb=S.normal,4===eb.length&&lb)for(wa=0;4>wa;wa++)ac=eb[wa],wb[Za]=ac.x,wb[Za+1]=ac.y,wb[Za+2]=ac.z,Za+=3;else for(wa=0;4>wa;wa++)wb[Za]=bb.x,wb[Za+1]=bb.y,wb[Za+2]=bb.z,Za+=3;k.bindBuffer(k.ARRAY_BUFFER,ra.__webglNormalBuffer);k.bufferData(k.ARRAY_BUFFER,wb,Ea)}if(oc&&Vc&&ob){F=0;for($=ta.length;F<$;F++)if(ab=ta[F],jb=Vc[ab],void 0!==jb)for(wa= -0;3>wa;wa++)kc=jb[wa],pc[Xb]=kc.u,pc[Xb+1]=kc.v,Xb+=2;F=0;for($=ua.length;F<$;F++)if(ab=ua[F],jb=Vc[ab],void 0!==jb)for(wa=0;4>wa;wa++)kc=jb[wa],pc[Xb]=kc.u,pc[Xb+1]=kc.v,Xb+=2;0wa;wa++)lc=kb[wa],qc[Yb]=lc.u,qc[Yb+1]=lc.v,Yb+=2;F=0;for($=ua.length;F<$;F++)if(ab=ua[F],kb=Wc[ab],void 0!==kb)for(wa=0;4>wa;wa++)lc=kb[wa],qc[Yb]= -lc.u,qc[Yb+1]=lc.v,Yb+=2;0f;f++){a.__webglFramebuffer[f]=k.createFramebuffer();a.__webglRenderbuffer[f]=k.createRenderbuffer();k.texImage2D(k.TEXTURE_CUBE_MAP_POSITIVE_X+f,0,d,a.width, -a.height,0,d,e,null);var g=a,h=k.TEXTURE_CUBE_MAP_POSITIVE_X+f;k.bindFramebuffer(k.FRAMEBUFFER,a.__webglFramebuffer[f]);k.framebufferTexture2D(k.FRAMEBUFFER,k.COLOR_ATTACHMENT0,h,g.__webglTexture,0);B(a.__webglRenderbuffer[f],a)}c&&k.generateMipmap(k.TEXTURE_CUBE_MAP)}else a.__webglFramebuffer=k.createFramebuffer(),a.__webglRenderbuffer=k.createRenderbuffer(),k.bindTexture(k.TEXTURE_2D,a.__webglTexture),P(k.TEXTURE_2D,a,c),k.texImage2D(k.TEXTURE_2D,0,d,a.width,a.height,0,d,e,null),d=k.TEXTURE_2D, -k.bindFramebuffer(k.FRAMEBUFFER,a.__webglFramebuffer),k.framebufferTexture2D(k.FRAMEBUFFER,k.COLOR_ATTACHMENT0,d,a.__webglTexture,0),B(a.__webglRenderbuffer,a),c&&k.generateMipmap(k.TEXTURE_2D);b?k.bindTexture(k.TEXTURE_CUBE_MAP,null):k.bindTexture(k.TEXTURE_2D,null);k.bindRenderbuffer(k.RENDERBUFFER,null);k.bindFramebuffer(k.FRAMEBUFFER,null)}a?(b=b?a.__webglFramebuffer[a.activeCubeFace]:a.__webglFramebuffer,c=a.width,a=a.height,e=d=0):(b=null,c=kb,a=Oa,d=Sa,e=Ka);b!==ca&&(k.bindFramebuffer(k.FRAMEBUFFER, -b),k.viewport(d,e,c,a),ca=b);lb=c;ab=a};this.shadowMapPlugin=new THREE.ShadowMapPlugin;this.addPrePlugin(this.shadowMapPlugin);this.addPostPlugin(new THREE.SpritePlugin);this.addPostPlugin(new THREE.LensFlarePlugin)}; -THREE.WebGLRenderTarget=function(a,b,c){this.width=a;this.height=b;c=c||{};this.wrapS=void 0!==c.wrapS?c.wrapS:THREE.ClampToEdgeWrapping;this.wrapT=void 0!==c.wrapT?c.wrapT:THREE.ClampToEdgeWrapping;this.magFilter=void 0!==c.magFilter?c.magFilter:THREE.LinearFilter;this.minFilter=void 0!==c.minFilter?c.minFilter:THREE.LinearMipMapLinearFilter;this.anisotropy=void 0!==c.anisotropy?c.anisotropy:1;this.offset=new THREE.Vector2(0,0);this.repeat=new THREE.Vector2(1,1);this.format=void 0!==c.format?c.format: -THREE.RGBAFormat;this.type=void 0!==c.type?c.type:THREE.UnsignedByteType;this.depthBuffer=void 0!==c.depthBuffer?c.depthBuffer:!0;this.stencilBuffer=void 0!==c.stencilBuffer?c.stencilBuffer:!0;this.generateMipmaps=!0}; -THREE.WebGLRenderTarget.prototype.clone=function(){var a=new THREE.WebGLRenderTarget(this.width,this.height);a.wrapS=this.wrapS;a.wrapT=this.wrapT;a.magFilter=this.magFilter;a.anisotropy=this.anisotropy;a.minFilter=this.minFilter;a.offset.copy(this.offset);a.repeat.copy(this.repeat);a.format=this.format;a.type=this.type;a.depthBuffer=this.depthBuffer;a.stencilBuffer=this.stencilBuffer;a.generateMipmaps=this.generateMipmaps;return a}; -THREE.WebGLRenderTargetCube=function(a,b,c){THREE.WebGLRenderTarget.call(this,a,b,c);this.activeCubeFace=0};THREE.WebGLRenderTargetCube.prototype=Object.create(THREE.WebGLRenderTarget.prototype);THREE.RenderableVertex=function(){this.positionWorld=new THREE.Vector3;this.positionScreen=new THREE.Vector4;this.visible=!0};THREE.RenderableVertex.prototype.copy=function(a){this.positionWorld.copy(a.positionWorld);this.positionScreen.copy(a.positionScreen)}; -THREE.RenderableFace3=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.vertexNormalsLength=0;this.material=this.color=null;this.uvs=[[]];this.z=null}; -THREE.RenderableFace4=function(){this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.v3=new THREE.RenderableVertex;this.v4=new THREE.RenderableVertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];this.vertexNormalsLength=0;this.material=this.color=null;this.uvs=[[]];this.z=null}; -THREE.RenderableObject=function(){this.z=this.object=null};THREE.RenderableParticle=function(){this.rotation=this.z=this.y=this.x=this.object=null;this.scale=new THREE.Vector2;this.material=null};THREE.RenderableLine=function(){this.z=null;this.v1=new THREE.RenderableVertex;this.v2=new THREE.RenderableVertex;this.material=null}; -THREE.ColorUtils={adjustHSV:function(a,b,c,d){var e=THREE.ColorUtils.__hsv;a.getHSV(e);e.h=THREE.Math.clamp(e.h+b,0,1);e.s=THREE.Math.clamp(e.s+c,0,1);e.v=THREE.Math.clamp(e.v+d,0,1);a.setHSV(e.h,e.s,e.v)}};THREE.ColorUtils.__hsv={h:0,s:0,v:0}; -THREE.GeometryUtils={merge:function(a,b){var c,d,e=a.vertices.length,f=b instanceof THREE.Mesh?b.geometry:b,g=a.vertices,h=f.vertices,i=a.faces,j=f.faces,l=a.faceVertexUvs[0],f=f.faceVertexUvs[0];b instanceof THREE.Mesh&&(b.matrixAutoUpdate&&b.updateMatrix(),c=b.matrix,d=new THREE.Matrix4,d.extractRotation(c,b.scale));for(var m=0,n=h.length;ma?b(c,e-1):j[e]b||o>b||n>b){i=a.vertices.length;w=e.clone();q=e.clone();p>=o&&p>=n?(j=j.clone(),j.lerpSelf(l,0.5),w.a=f,w.b=i,w.c=h,q.a=i,q.b=g,q.c=h,3===e.vertexNormals.length&&(f=e.vertexNormals[0].clone(),f.lerpSelf(e.vertexNormals[1],0.5),w.vertexNormals[1].copy(f),q.vertexNormals[0].copy(f)),3===e.vertexColors.length&&(f=e.vertexColors[0].clone(),f.lerpSelf(e.vertexColors[1],0.5),w.vertexColors[1].copy(f),q.vertexColors[0].copy(f)),e=0): -o>=p&&o>=n?(j=l.clone(),j.lerpSelf(m,0.5),w.a=f,w.b=g,w.c=i,q.a=i,q.b=h,q.c=f,3===e.vertexNormals.length&&(f=e.vertexNormals[1].clone(),f.lerpSelf(e.vertexNormals[2],0.5),w.vertexNormals[2].copy(f),q.vertexNormals[0].copy(f),q.vertexNormals[1].copy(e.vertexNormals[2]),q.vertexNormals[2].copy(e.vertexNormals[0])),3===e.vertexColors.length&&(f=e.vertexColors[1].clone(),f.lerpSelf(e.vertexColors[2],0.5),w.vertexColors[2].copy(f),q.vertexColors[0].copy(f),q.vertexColors[1].copy(e.vertexColors[2]),q.vertexColors[2].copy(e.vertexColors[0])), -e=1):(j=j.clone(),j.lerpSelf(m,0.5),w.a=f,w.b=g,w.c=i,q.a=i,q.b=g,q.c=h,3===e.vertexNormals.length&&(f=e.vertexNormals[0].clone(),f.lerpSelf(e.vertexNormals[2],0.5),w.vertexNormals[2].copy(f),q.vertexNormals[0].copy(f)),3===e.vertexColors.length&&(f=e.vertexColors[0].clone(),f.lerpSelf(e.vertexColors[2],0.5),w.vertexColors[2].copy(f),q.vertexColors[0].copy(f)),e=2);E.push(w,q);a.vertices.push(j);f=0;for(g=a.faceVertexUvs.length;fb||o>b||s>b||t>b){r=a.vertices.length;z=a.vertices.length+1;w=e.clone();q=e.clone();p>=o&&p>=s&&p>=t||s>=o&&s>=p&&s>=t?(p=j.clone(),p.lerpSelf(l,0.5),l=m.clone(),l.lerpSelf(n,0.5),w.a=f,w.b=r,w.c=z,w.d=i,q.a=r,q.b=g,q.c=h,q.d=z,4===e.vertexNormals.length&&(f=e.vertexNormals[0].clone(),f.lerpSelf(e.vertexNormals[1],0.5),g=e.vertexNormals[2].clone(),g.lerpSelf(e.vertexNormals[3],0.5),w.vertexNormals[1].copy(f), -w.vertexNormals[2].copy(g),q.vertexNormals[0].copy(f),q.vertexNormals[3].copy(g)),4===e.vertexColors.length&&(f=e.vertexColors[0].clone(),f.lerpSelf(e.vertexColors[1],0.5),g=e.vertexColors[2].clone(),g.lerpSelf(e.vertexColors[3],0.5),w.vertexColors[1].copy(f),w.vertexColors[2].copy(g),q.vertexColors[0].copy(f),q.vertexColors[3].copy(g)),e=0):(p=l.clone(),p.lerpSelf(m,0.5),l=n.clone(),l.lerpSelf(j,0.5),w.a=f,w.b=g,w.c=r,w.d=z,q.a=z,q.b=r,q.c=h,q.d=i,4===e.vertexNormals.length&&(f=e.vertexNormals[1].clone(), -f.lerpSelf(e.vertexNormals[2],0.5),g=e.vertexNormals[3].clone(),g.lerpSelf(e.vertexNormals[0],0.5),w.vertexNormals[2].copy(f),w.vertexNormals[3].copy(g),q.vertexNormals[0].copy(g),q.vertexNormals[1].copy(f)),4===e.vertexColors.length&&(f=e.vertexColors[1].clone(),f.lerpSelf(e.vertexColors[2],0.5),g=e.vertexColors[3].clone(),g.lerpSelf(e.vertexColors[0],0.5),w.vertexColors[2].copy(f),w.vertexColors[3].copy(g),q.vertexColors[0].copy(g),q.vertexColors[1].copy(f)),e=1);E.push(w,q);a.vertices.push(p,l); -f=0;for(g=a.faceVertexUvs.length;f>8&255,i>>16&255,i>>24&255)),d}d.mipmapCount=1;h[2]&131072&&!1!==b&&(d.mipmapCount=Math.max(1,h[7]));d.width=h[4];d.height=h[3];h=h[1]+4;f=d.width;g=d.height;for(i=0;im-1?0:m-1,p=m+1>e-1?e-1:m+1,o=0>l-1?0:l-1,s=l+1>d-1?d-1:l+1,t=[],r=[0,0,h[4*(m*d+l)]/255*b];t.push([-1,0,h[4*(m*d+o)]/255*b]);t.push([-1,-1,h[4*(n*d+o)]/255*b]);t.push([0,-1,h[4*(n*d+l)]/255*b]);t.push([1,-1,h[4*(n*d+s)]/255*b]);t.push([1,0,h[4*(m*d+s)]/255*b]);t.push([1,1,h[4*(p*d+s)]/255*b]);t.push([0,1,h[4*(p*d+l)]/255*b]);t.push([-1,1,h[4*(p*d+o)]/255*b]);n=[];o=t.length;for(p=0;p 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_HEMI_LIGHTS > 0\nuniform vec3 hemisphereLightSkyColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightGroundColor[ MAX_HEMI_LIGHTS ];\nuniform vec3 hemisphereLightDirection[ MAX_HEMI_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\nuniform float pointLightDistance[ MAX_POINT_LIGHTS ];\n#endif\n#if MAX_SPOT_LIGHTS > 0\nuniform vec3 spotLightColor[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightPosition[ MAX_SPOT_LIGHTS ];\nuniform vec3 spotLightDirection[ MAX_SPOT_LIGHTS ];\nuniform float spotLightAngleCos[ MAX_SPOT_LIGHTS ];\nuniform float spotLightExponent[ MAX_SPOT_LIGHTS ];\nuniform float spotLightDistance[ MAX_SPOT_LIGHTS ];\n#endif\n#ifdef WRAP_AROUND\nuniform vec3 wrapRGB;\n#endif\nvarying vec3 vWorldPosition;\nvarying vec3 vViewPosition;", -THREE.ShaderChunk.shadowmap_pars_fragment,THREE.ShaderChunk.fog_pars_fragment,"void main() {\ngl_FragColor = vec4( vec3( 1.0 ), uOpacity );\nvec3 specularTex = vec3( 1.0 );\nvec3 normalTex = texture2D( tNormal, vUv ).xyz * 2.0 - 1.0;\nnormalTex.xy *= uNormalScale;\nnormalTex = normalize( normalTex );\nif( enableDiffuse ) {\n#ifdef GAMMA_INPUT\nvec4 texelColor = texture2D( tDiffuse, vUv );\ntexelColor.xyz *= texelColor.xyz;\ngl_FragColor = gl_FragColor * texelColor;\n#else\ngl_FragColor = gl_FragColor * texture2D( tDiffuse, vUv );\n#endif\n}\nif( enableAO ) {\n#ifdef GAMMA_INPUT\nvec4 aoColor = texture2D( tAO, vUv );\naoColor.xyz *= aoColor.xyz;\ngl_FragColor.xyz = gl_FragColor.xyz * aoColor.xyz;\n#else\ngl_FragColor.xyz = gl_FragColor.xyz * texture2D( tAO, vUv ).xyz;\n#endif\n}\nif( enableSpecular )\nspecularTex = texture2D( tSpecular, vUv ).xyz;\nmat3 tsb = mat3( normalize( vTangent ), normalize( vBinormal ), normalize( vNormal ) );\nvec3 finalNormal = tsb * normalTex;\n#ifdef FLIP_SIDED\nfinalNormal = -finalNormal;\n#endif\nvec3 normal = normalize( finalNormal );\nvec3 viewPosition = normalize( vViewPosition );\n#if MAX_POINT_LIGHTS > 0\nvec3 pointDiffuse = vec3( 0.0 );\nvec3 pointSpecular = vec3( 0.0 );\nfor ( int i = 0; i < MAX_POINT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 pointVector = lPosition.xyz + vViewPosition.xyz;\nfloat pointDistance = 1.0;\nif ( pointLightDistance[ i ] > 0.0 )\npointDistance = 1.0 - min( ( length( pointVector ) / pointLightDistance[ i ] ), 1.0 );\npointVector = normalize( pointVector );\n#ifdef WRAP_AROUND\nfloat pointDiffuseWeightFull = max( dot( normal, pointVector ), 0.0 );\nfloat pointDiffuseWeightHalf = max( 0.5 * dot( normal, pointVector ) + 0.5, 0.0 );\nvec3 pointDiffuseWeight = mix( vec3 ( pointDiffuseWeightFull ), vec3( pointDiffuseWeightHalf ), wrapRGB );\n#else\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\n#endif\npointDiffuse += pointDistance * pointLightColor[ i ] * uDiffuseColor * pointDiffuseWeight;\nvec3 pointHalfVector = normalize( pointVector + viewPosition );\nfloat pointDotNormalHalf = max( dot( normal, pointHalfVector ), 0.0 );\nfloat pointSpecularWeight = specularTex.r * max( pow( pointDotNormalHalf, uShininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\nvec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( pointVector, pointHalfVector ), 5.0 );\npointSpecular += schlick * pointLightColor[ i ] * pointSpecularWeight * pointDiffuseWeight * pointDistance * specularNormalization;\n#else\npointSpecular += pointDistance * pointLightColor[ i ] * uSpecularColor * pointSpecularWeight * pointDiffuseWeight;\n#endif\n}\n#endif\n#if MAX_SPOT_LIGHTS > 0\nvec3 spotDiffuse = vec3( 0.0 );\nvec3 spotSpecular = vec3( 0.0 );\nfor ( int i = 0; i < MAX_SPOT_LIGHTS; i ++ ) {\nvec4 lPosition = viewMatrix * vec4( spotLightPosition[ i ], 1.0 );\nvec3 spotVector = lPosition.xyz + vViewPosition.xyz;\nfloat spotDistance = 1.0;\nif ( spotLightDistance[ i ] > 0.0 )\nspotDistance = 1.0 - min( ( length( spotVector ) / spotLightDistance[ i ] ), 1.0 );\nspotVector = normalize( spotVector );\nfloat spotEffect = dot( spotLightDirection[ i ], normalize( spotLightPosition[ i ] - vWorldPosition ) );\nif ( spotEffect > spotLightAngleCos[ i ] ) {\nspotEffect = max( pow( spotEffect, spotLightExponent[ i ] ), 0.0 );\n#ifdef WRAP_AROUND\nfloat spotDiffuseWeightFull = max( dot( normal, spotVector ), 0.0 );\nfloat spotDiffuseWeightHalf = max( 0.5 * dot( normal, spotVector ) + 0.5, 0.0 );\nvec3 spotDiffuseWeight = mix( vec3 ( spotDiffuseWeightFull ), vec3( spotDiffuseWeightHalf ), wrapRGB );\n#else\nfloat spotDiffuseWeight = max( dot( normal, spotVector ), 0.0 );\n#endif\nspotDiffuse += spotDistance * spotLightColor[ i ] * uDiffuseColor * spotDiffuseWeight * spotEffect;\nvec3 spotHalfVector = normalize( spotVector + viewPosition );\nfloat spotDotNormalHalf = max( dot( normal, spotHalfVector ), 0.0 );\nfloat spotSpecularWeight = specularTex.r * max( pow( spotDotNormalHalf, uShininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\nvec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( spotVector, spotHalfVector ), 5.0 );\nspotSpecular += schlick * spotLightColor[ i ] * spotSpecularWeight * spotDiffuseWeight * spotDistance * specularNormalization * spotEffect;\n#else\nspotSpecular += spotDistance * spotLightColor[ i ] * uSpecularColor * spotSpecularWeight * spotDiffuseWeight * spotEffect;\n#endif\n}\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec3 dirDiffuse = vec3( 0.0 );\nvec3 dirSpecular = vec3( 0.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\n#ifdef WRAP_AROUND\nfloat directionalLightWeightingFull = max( dot( normal, dirVector ), 0.0 );\nfloat directionalLightWeightingHalf = max( 0.5 * dot( normal, dirVector ) + 0.5, 0.0 );\nvec3 dirDiffuseWeight = mix( vec3( directionalLightWeightingFull ), vec3( directionalLightWeightingHalf ), wrapRGB );\n#else\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\n#endif\ndirDiffuse += directionalLightColor[ i ] * uDiffuseColor * dirDiffuseWeight;\nvec3 dirHalfVector = normalize( dirVector + viewPosition );\nfloat dirDotNormalHalf = max( dot( normal, dirHalfVector ), 0.0 );\nfloat dirSpecularWeight = specularTex.r * max( pow( dirDotNormalHalf, uShininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\nvec3 schlick = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( dirVector, dirHalfVector ), 5.0 );\ndirSpecular += schlick * directionalLightColor[ i ] * dirSpecularWeight * dirDiffuseWeight * specularNormalization;\n#else\ndirSpecular += directionalLightColor[ i ] * uSpecularColor * dirSpecularWeight * dirDiffuseWeight;\n#endif\n}\n#endif\n#if MAX_HEMI_LIGHTS > 0\nvec3 hemiDiffuse = vec3( 0.0 );\nvec3 hemiSpecular = vec3( 0.0 );\nfor( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {\nvec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );\nvec3 lVector = normalize( lDirection.xyz );\nfloat dotProduct = dot( normal, lVector );\nfloat hemiDiffuseWeight = 0.5 * dotProduct + 0.5;\nvec3 hemiColor = mix( hemisphereLightGroundColor[ i ], hemisphereLightSkyColor[ i ], hemiDiffuseWeight );\nhemiDiffuse += uDiffuseColor * hemiColor;\nvec3 hemiHalfVectorSky = normalize( lVector + viewPosition );\nfloat hemiDotNormalHalfSky = 0.5 * dot( normal, hemiHalfVectorSky ) + 0.5;\nfloat hemiSpecularWeightSky = specularTex.r * max( pow( hemiDotNormalHalfSky, uShininess ), 0.0 );\nvec3 lVectorGround = -lVector;\nvec3 hemiHalfVectorGround = normalize( lVectorGround + viewPosition );\nfloat hemiDotNormalHalfGround = 0.5 * dot( normal, hemiHalfVectorGround ) + 0.5;\nfloat hemiSpecularWeightGround = specularTex.r * max( pow( hemiDotNormalHalfGround, uShininess ), 0.0 );\n#ifdef PHYSICALLY_BASED_SHADING\nfloat dotProductGround = dot( normal, lVectorGround );\nfloat specularNormalization = ( uShininess + 2.0001 ) / 8.0;\nvec3 schlickSky = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( lVector, hemiHalfVectorSky ), 5.0 );\nvec3 schlickGround = uSpecularColor + vec3( 1.0 - uSpecularColor ) * pow( 1.0 - dot( lVectorGround, hemiHalfVectorGround ), 5.0 );\nhemiSpecular += hemiColor * specularNormalization * ( schlickSky * hemiSpecularWeightSky * max( dotProduct, 0.0 ) + schlickGround * hemiSpecularWeightGround * max( dotProductGround, 0.0 ) );\n#else\nhemiSpecular += uSpecularColor * hemiColor * ( hemiSpecularWeightSky + hemiSpecularWeightGround ) * hemiDiffuseWeight;\n#endif\n}\n#endif\nvec3 totalDiffuse = vec3( 0.0 );\nvec3 totalSpecular = vec3( 0.0 );\n#if MAX_DIR_LIGHTS > 0\ntotalDiffuse += dirDiffuse;\ntotalSpecular += dirSpecular;\n#endif\n#if MAX_HEMI_LIGHTS > 0\ntotalDiffuse += hemiDiffuse;\ntotalSpecular += hemiSpecular;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalDiffuse += pointDiffuse;\ntotalSpecular += pointSpecular;\n#endif\n#if MAX_SPOT_LIGHTS > 0\ntotalDiffuse += spotDiffuse;\ntotalSpecular += spotSpecular;\n#endif\n#ifdef METAL\ngl_FragColor.xyz = gl_FragColor.xyz * ( totalDiffuse + ambientLightColor * uAmbientColor + totalSpecular );\n#else\ngl_FragColor.xyz = gl_FragColor.xyz * ( totalDiffuse + ambientLightColor * uAmbientColor ) + totalSpecular;\n#endif\nif ( enableReflection ) {\nvec3 vReflect;\nvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\nif ( useRefract ) {\nvReflect = refract( cameraToVertex, normal, uRefractionRatio );\n} else {\nvReflect = reflect( cameraToVertex, normal );\n}\nvec4 cubeColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );\n#ifdef GAMMA_INPUT\ncubeColor.xyz *= cubeColor.xyz;\n#endif\ngl_FragColor.xyz = mix( gl_FragColor.xyz, cubeColor.xyz, specularTex.r * uReflectivity );\n}", -THREE.ShaderChunk.shadowmap_fragment,THREE.ShaderChunk.linear_to_gamma_fragment,THREE.ShaderChunk.fog_fragment,"}"].join("\n"),vertexShader:["attribute vec4 tangent;\nuniform vec2 uOffset;\nuniform vec2 uRepeat;\nuniform bool enableDisplacement;\n#ifdef VERTEX_TEXTURES\nuniform sampler2D tDisplacement;\nuniform float uDisplacementScale;\nuniform float uDisplacementBias;\n#endif\nvarying vec3 vTangent;\nvarying vec3 vBinormal;\nvarying vec3 vNormal;\nvarying vec2 vUv;\nvarying vec3 vWorldPosition;\nvarying vec3 vViewPosition;", -THREE.ShaderChunk.skinning_pars_vertex,THREE.ShaderChunk.shadowmap_pars_vertex,"void main() {",THREE.ShaderChunk.skinbase_vertex,THREE.ShaderChunk.skinnormal_vertex,"#ifdef USE_SKINNING\nvNormal = normalize( normalMatrix * skinnedNormal.xyz );\nvec4 skinnedTangent = skinMatrix * vec4( tangent.xyz, 0.0 );\nvTangent = normalize( normalMatrix * skinnedTangent.xyz );\n#else\nvNormal = normalize( normalMatrix * normal );\nvTangent = normalize( normalMatrix * tangent.xyz );\n#endif\nvBinormal = normalize( cross( vNormal, vTangent ) * tangent.w );\nvUv = uv * uRepeat + uOffset;\nvec3 displacedPosition;\n#ifdef VERTEX_TEXTURES\nif ( enableDisplacement ) {\nvec3 dv = texture2D( tDisplacement, uv ).xyz;\nfloat df = uDisplacementScale * dv.x + uDisplacementBias;\ndisplacedPosition = position + normalize( normal ) * df;\n} else {\n#ifdef USE_SKINNING\nvec4 skinVertex = vec4( position, 1.0 );\nvec4 skinned = boneMatX * skinVertex * skinWeight.x;\nskinned \t += boneMatY * skinVertex * skinWeight.y;\ndisplacedPosition = skinned.xyz;\n#else\ndisplacedPosition = position;\n#endif\n}\n#else\n#ifdef USE_SKINNING\nvec4 skinVertex = vec4( position, 1.0 );\nvec4 skinned = boneMatX * skinVertex * skinWeight.x;\nskinned \t += boneMatY * skinVertex * skinWeight.y;\ndisplacedPosition = skinned.xyz;\n#else\ndisplacedPosition = position;\n#endif\n#endif\nvec4 mvPosition = modelViewMatrix * vec4( displacedPosition, 1.0 );\nvec4 worldPosition = modelMatrix * vec4( displacedPosition, 1.0 );\ngl_Position = projectionMatrix * mvPosition;\nvWorldPosition = worldPosition.xyz;\nvViewPosition = -mvPosition.xyz;\n#ifdef USE_SHADOWMAP\nfor( int i = 0; i < MAX_SHADOWS; i ++ ) {\nvShadowCoord[ i ] = shadowMatrix[ i ] * worldPosition;\n}\n#endif\n}"].join("\n")}, -cube:{uniforms:{tCube:{type:"t",value:null},tFlip:{type:"f",value:-1}},vertexShader:"varying vec3 vWorldPosition;\nvoid main() {\nvec4 worldPosition = modelMatrix * vec4( position, 1.0 );\nvWorldPosition = worldPosition.xyz;\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",fragmentShader:"uniform samplerCube tCube;\nuniform float tFlip;\nvarying vec3 vWorldPosition;\nvoid main() {\ngl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\n}"}}}; -THREE.FontUtils={faces:{},face:"helvetiker",weight:"normal",style:"normal",size:150,divisions:10,getFace:function(){return this.faces[this.face][this.weight][this.style]},loadFace:function(a){var b=a.familyName.toLowerCase();this.faces[b]=this.faces[b]||{};this.faces[b][a.cssFontWeight]=this.faces[b][a.cssFontWeight]||{};this.faces[b][a.cssFontWeight][a.cssFontStyle]=a;return this.faces[b][a.cssFontWeight][a.cssFontStyle]=a},drawText:function(a){for(var b=this.getFace(),c=this.size/b.resolution,d= -0,e=String(a).split(""),f=e.length,g=[],a=0;ae)return null;var f=[],g=[],h=[],i,j,l;if(0=m--){console.log("Warning, unable to triangulate polygon!");break}i=j;e<=i&&(i=0);j=i+1;e<=j&&(j=0);l=j+1;e<=l&&(l=0);var n;a:{n=a;var p=i,o=j,s=l,t=e,r=g,z=void 0,w=void 0,q=void 0,E=void 0,A=void 0, -v=void 0,u=void 0,D=void 0,C=void 0,w=n[r[p]].x,q=n[r[p]].y,E=n[r[o]].x,A=n[r[o]].y,v=n[r[s]].x,u=n[r[s]].y;if(1E-10>(E-w)*(u-q)-(A-q)*(v-w))n=!1;else{for(z=0;zi)g=d+1;else if(0b&&(b=0);1d.length-2?d.length-1:a+1;c[3]=a>d.length-3?d.length-1:a+2;b.x=THREE.Curve.Utils.interpolate(d[c[0]].x,d[c[1]].x,d[c[2]].x,d[c[3]].x,e);b.y=THREE.Curve.Utils.interpolate(d[c[0]].y,d[c[1]].y,d[c[2]].y,d[c[3]].y,e);return b}; -THREE.EllipseCurve=function(a,b,c,d,e,f,g){this.aX=a;this.aY=b;this.xRadius=c;this.yRadius=d;this.aStartAngle=e;this.aEndAngle=f;this.aClockwise=g};THREE.EllipseCurve.prototype=Object.create(THREE.Curve.prototype);THREE.EllipseCurve.prototype.getPoint=function(a){var b=this.aEndAngle-this.aStartAngle;this.aClockwise||(a=1-a);b=this.aStartAngle+a*b;a=this.aX+this.xRadius*Math.cos(b);b=this.aY+this.yRadius*Math.sin(b);return new THREE.Vector2(a,b)}; -THREE.ArcCurve=function(a,b,c,d,e,f){THREE.EllipseCurve.call(this,a,b,c,c,d,e,f)};THREE.ArcCurve.prototype=Object.create(THREE.EllipseCurve.prototype); -THREE.Curve.Utils={tangentQuadraticBezier:function(a,b,c,d){return 2*(1-a)*(c-b)+2*a*(d-c)},tangentCubicBezier:function(a,b,c,d,e){return-3*b*(1-a)*(1-a)+3*c*(1-a)*(1-a)-6*a*c*(1-a)+6*a*d*(1-a)-3*a*a*d+3*a*a*e},tangentSpline:function(a){return 6*a*a-6*a+(3*a*a-4*a+1)+(-6*a*a+6*a)+(3*a*a-2*a)},interpolate:function(a,b,c,d,e){var a=0.5*(c-a),d=0.5*(d-b),f=e*e;return(2*b-2*c+a+d)*e*f+(-3*b+3*c-2*a-d)*f+a*e+b}}; -THREE.Curve.create=function(a,b){a.prototype=Object.create(THREE.Curve.prototype);a.prototype.getPoint=b;return a};THREE.LineCurve3=THREE.Curve.create(function(a,b){this.v1=a;this.v2=b},function(a){var b=new THREE.Vector3;b.sub(this.v2,this.v1);b.multiplyScalar(a);b.addSelf(this.v1);return b}); -THREE.QuadraticBezierCurve3=THREE.Curve.create(function(a,b,c){this.v0=a;this.v1=b;this.v2=c},function(a){var b,c;b=THREE.Shape.Utils.b2(a,this.v0.x,this.v1.x,this.v2.x);c=THREE.Shape.Utils.b2(a,this.v0.y,this.v1.y,this.v2.y);a=THREE.Shape.Utils.b2(a,this.v0.z,this.v1.z,this.v2.z);return new THREE.Vector3(b,c,a)}); -THREE.CubicBezierCurve3=THREE.Curve.create(function(a,b,c,d){this.v0=a;this.v1=b;this.v2=c;this.v3=d},function(a){var b,c;b=THREE.Shape.Utils.b3(a,this.v0.x,this.v1.x,this.v2.x,this.v3.x);c=THREE.Shape.Utils.b3(a,this.v0.y,this.v1.y,this.v2.y,this.v3.y);a=THREE.Shape.Utils.b3(a,this.v0.z,this.v1.z,this.v2.z,this.v3.z);return new THREE.Vector3(b,c,a)}); -THREE.SplineCurve3=THREE.Curve.create(function(a){this.points=void 0==a?[]:a},function(a){var b=new THREE.Vector3,c=[],d=this.points,e,a=(d.length-1)*a;e=Math.floor(a);a-=e;c[0]=0==e?e:e-1;c[1]=e;c[2]=e>d.length-2?d.length-1:e+1;c[3]=e>d.length-3?d.length-1:e+2;e=d[c[0]];var f=d[c[1]],g=d[c[2]],c=d[c[3]];b.x=THREE.Curve.Utils.interpolate(e.x,f.x,g.x,c.x,a);b.y=THREE.Curve.Utils.interpolate(e.y,f.y,g.y,c.y,a);b.z=THREE.Curve.Utils.interpolate(e.z,f.z,g.z,c.z,a);return b}); -THREE.ClosedSplineCurve3=THREE.Curve.create(function(a){this.points=void 0==a?[]:a},function(a){var b=new THREE.Vector3,c=[],d=this.points,e;e=(d.length-0)*a;a=Math.floor(e);e-=a;a+=0=b)return b=c[a]-b,a=this.curves[a],b=1-b/a.getLength(),a.getPointAt(b);a++}return null};THREE.CurvePath.prototype.getLength=function(){var a=this.getCurveLengths();return a[a.length-1]}; -THREE.CurvePath.prototype.getCurveLengths=function(){if(this.cacheLengths&&this.cacheLengths.length==this.curves.length)return this.cacheLengths;var a=[],b=0,c,d=this.curves.length;for(c=0;cb?b=h.x:h.xc?c=h.y:h.yd?d=h.z:h.zMath.abs(d.x-c[0].x)&&1E-10>Math.abs(d.y-c[0].y)&&c.splice(c.length-1,1);b&&c.push(c[0]);return c}; -THREE.Path.prototype.toShapes=function(){var a,b,c,d,e=[],f=new THREE.Path;a=0;for(b=this.actions.length;a -h&&(h+=c.length);h%=c.length;0>g&&(g+=j.length);g%=j.length;e=0<=h-1?h-1:c.length-1;f=0<=g-1?g-1:j.length-1;s=[j[g],c[h],c[e]];s=THREE.FontUtils.Triangulate.area(s);t=[j[g],j[f],c[h]];t=THREE.FontUtils.Triangulate.area(t);m+n>s+t&&(h=p,g=l,0>h&&(h+=c.length),h%=c.length,0>g&&(g+=j.length),g%=j.length,e=0<=h-1?h-1:c.length-1,f=0<=g-1?g-1:j.length-1);m=c.slice(0,h);n=c.slice(h);p=j.slice(g);l=j.slice(0,g);f=[j[g],j[f],c[h]];o.push([j[g],c[h],c[e]]);o.push(f);c=m.concat(p).concat(l).concat(n)}return{shape:c, -isolatedPts:o,allpoints:d}},triangulateShape:function(a,b){var c=THREE.Shape.Utils.removeHoles(a,b),d=c.allpoints,e=c.isolatedPts,c=THREE.FontUtils.Triangulate(c.shape,!1),f,g,h,i,j={};f=0;for(g=d.length;fd;d++)i=h[d].x+":"+h[d].y,i=j[i],void 0!==i&&(h[d]=i)}f=0;for(g=e.length;fd;d++)i=h[d].x+":"+h[d].y,i=j[i],void 0!==i&&(h[d]=i)}return c.concat(e)}, -isClockWise:function(a){return 0>THREE.FontUtils.Triangulate.area(a)},b2p0:function(a,b){var c=1-a;return c*c*b},b2p1:function(a,b){return 2*(1-a)*a*b},b2p2:function(a,b){return a*a*b},b2:function(a,b,c,d){return this.b2p0(a,b)+this.b2p1(a,c)+this.b2p2(a,d)},b3p0:function(a,b){var c=1-a;return c*c*c*b},b3p1:function(a,b){var c=1-a;return 3*c*c*a*b},b3p2:function(a,b){return 3*(1-a)*a*a*b},b3p3:function(a,b){return a*a*a*b},b3:function(a,b,c,d,e){return this.b3p0(a,b)+this.b3p1(a,c)+this.b3p2(a,d)+ -this.b3p3(a,e)}}; -THREE.AnimationHandler=function(){var a=[],b={},c={update:function(b){for(var c=0;ca.hierarchy[c].keys[d].time&& -(a.hierarchy[c].keys[d].time=0),void 0!==a.hierarchy[c].keys[d].rot&&!(a.hierarchy[c].keys[d].rot instanceof THREE.Quaternion)){var h=a.hierarchy[c].keys[d].rot;a.hierarchy[c].keys[d].rot=new THREE.Quaternion(h[0],h[1],h[2],h[3])}if(a.hierarchy[c].keys.length&&void 0!==a.hierarchy[c].keys[0].morphTargets){h={};for(d=0;dp;p++){c=b[p];g=i.prevKey[c];h=i.nextKey[c];if(h.time<=l){if(jd||1d?0:1;if("pos"===c)if(c=a.position,this.interpolationType===THREE.AnimationHandler.LINEAR)c.x=e[0]+(f[0]-e[0])*d,c.y=e[1]+(f[1]-e[1])*d,c.z=e[2]+ -(f[2]-e[2])*d;else{if(this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD)this.points[0]=this.getPrevKeyWith("pos",m,g.index-1).pos,this.points[1]=e,this.points[2]=f,this.points[3]=this.getNextKeyWith("pos",m,h.index+1).pos,d=0.33*d+0.33,e=this.interpolateCatmullRom(this.points,d),c.x=e[0],c.y=e[1],c.z=e[2],this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD&&(d=this.interpolateCatmullRom(this.points,1.01*d), -this.target.set(d[0],d[1],d[2]),this.target.subSelf(c),this.target.y=0,this.target.normalize(),d=Math.atan2(this.target.x,this.target.z),a.rotation.set(0,d,0))}else"rot"===c?THREE.Quaternion.slerp(e,f,a.quaternion,d):"scl"===c&&(c=a.scale,c.x=e[0]+(f[0]-e[0])*d,c.y=e[1]+(f[1]-e[1])*d,c.z=e[2]+(f[2]-e[2])*d)}}}}; -THREE.Animation.prototype.interpolateCatmullRom=function(a,b){var c=[],d=[],e,f,g,h,i,j;e=(a.length-1)*b;f=Math.floor(e);e-=f;c[0]=0===f?f:f-1;c[1]=f;c[2]=f>a.length-2?f:f+1;c[3]=f>a.length-3?f:f+2;f=a[c[0]];h=a[c[1]];i=a[c[2]];j=a[c[3]];c=e*e;g=e*c;d[0]=this.interpolate(f[0],h[0],i[0],j[0],e,c,g);d[1]=this.interpolate(f[1],h[1],i[1],j[1],e,c,g);d[2]=this.interpolate(f[2],h[2],i[2],j[2],e,c,g);return d}; -THREE.Animation.prototype.interpolate=function(a,b,c,d,e,f,g){a=0.5*(c-a);d=0.5*(d-b);return(2*(b-c)+a+d)*g+(-3*(b-c)-2*a-d)*f+a*e+b};THREE.Animation.prototype.getNextKeyWith=function(a,b,c){for(var d=this.data.hierarchy[b].keys,c=this.interpolationType===THREE.AnimationHandler.CATMULLROM||this.interpolationType===THREE.AnimationHandler.CATMULLROM_FORWARD?c=g?b.interpolate(c,g):b.interpolate(c,c.time)}this.data.hierarchy[a].node.updateMatrix();d.matrixWorldNeedsUpdate=!0}}if(this.JITCompile&&void 0===f[0][e]){this.hierarchy[0].updateMatrixWorld(!0);for(a=0;ag?(b=Math.atan2(b.y-a.y,b.x-a.x),a=Math.atan2(c.y-a.y,c.x-a.x),b>a&&(a+=2*Math.PI),c=(b+a)/2,a=-Math.cos(c),c=-Math.sin(c),new THREE.Vector2(a,c)):d.multiplyScalar(g).addSelf(h).subSelf(a).clone()}function e(c,d){var e,f;for(J=c.length;0<=--J;){e=J;f=J-1;0>f&&(f=c.length-1); -for(var g=0,h=n+2*l,g=0;gMath.abs(c-i)?[new THREE.UV(b,1-e),new THREE.UV(d,1-f),new THREE.UV(j,1-g),new THREE.UV(m,1-a)]:[new THREE.UV(c,1-e),new THREE.UV(i,1-f),new THREE.UV(l,1-g),new THREE.UV(n,1-a)]}};THREE.ExtrudeGeometry.__v1=new THREE.Vector2;THREE.ExtrudeGeometry.__v2=new THREE.Vector2;THREE.ExtrudeGeometry.__v3=new THREE.Vector2;THREE.ExtrudeGeometry.__v4=new THREE.Vector2;THREE.ExtrudeGeometry.__v5=new THREE.Vector2; -THREE.ExtrudeGeometry.__v6=new THREE.Vector2;THREE.ShapeGeometry=function(a,b){THREE.Geometry.call(this);!1===a instanceof Array&&(a=[a]);this.shapebb=a[a.length-1].getBoundingBox();this.addShapeList(a,b);this.computeCentroids();this.computeFaceNormals()};THREE.ShapeGeometry.prototype=Object.create(THREE.Geometry.prototype);THREE.ShapeGeometry.prototype.addShapeList=function(a,b){for(var c=0,d=a.length;cd?(d=new THREE.Face3(a.index,b.index,c.index,[a.clone(),b.clone(),c.clone()]),d.centroid.addSelf(a).addSelf(b).addSelf(c).divideScalar(3),d.normal=d.centroid.clone().normalize(),i.faces.push(d),d=Math.atan2(d.centroid.z,-d.centroid.x), -i.faceVertexUvs[0].push([h(a.uv,a,d),h(b.uv,b,d),h(c.uv,c,d)])):(d-=1,f(a,g(a,b),g(a,c),d),f(g(a,b),b,g(b,c),d),f(g(a,c),g(b,c),c,d),f(g(a,b),g(b,c),g(a,c),d))}function g(a,b){m[a.index]||(m[a.index]=[]);m[b.index]||(m[b.index]=[]);var c=m[a.index][b.index];void 0===c&&(m[a.index][b.index]=m[b.index][a.index]=c=e((new THREE.Vector3).add(a,b).divideScalar(2)));return c}function h(a,b,c){0>c&&1===a.u&&(a=new THREE.UV(a.u-1,a.v));0===b.x&&0===b.z&&(a=new THREE.UV(c/2/Math.PI+0.5,a.v));return a}THREE.Geometry.call(this); -for(var c=c||1,d=d||0,i=this,j=0,l=a.length;j= -l){for(j=0;3>j;j++){l=[i[j],i[(j+1)%3]];m=!0;for(n=0;nh;h++)void 0===f[g[h]]&&(f[g[h]]=e++,this.vertices.push(a[g[h]])),g[h]=f[g[h]]}for(d=0;dr;r++){q=h[r];o=new THREE.Color;o.setRGB(0,0,0);for(var s=0;s=s&&aC.length&&(z[q]=!0)}for(q in n)if(C=n[q],u=C[0],P=C[1],B=q.split("_"),K=B[0],B=B[1],v=new THREE.Vector3,b(0h.end&&(h.end=f);c||(c=i)}}for(i in d)h=d[i],this.createAnimation(i,h.start,h.end,a);this.firstAnimation=c}; -THREE.MorphBlendMesh.prototype.setAnimationDirectionForward=function(a){if(a=this.animationsMap[a])a.direction=1,a.directionBackwards=!1};THREE.MorphBlendMesh.prototype.setAnimationDirectionBackward=function(a){if(a=this.animationsMap[a])a.direction=-1,a.directionBackwards=!0};THREE.MorphBlendMesh.prototype.setAnimationFPS=function(a,b){var c=this.animationsMap[a];c&&(c.fps=b,c.duration=(c.end-c.start)/c.fps)}; -THREE.MorphBlendMesh.prototype.setAnimationDuration=function(a,b){var c=this.animationsMap[a];c&&(c.duration=b,c.fps=(c.end-c.start)/c.duration)};THREE.MorphBlendMesh.prototype.setAnimationWeight=function(a,b){var c=this.animationsMap[a];c&&(c.weight=b)};THREE.MorphBlendMesh.prototype.setAnimationTime=function(a,b){var c=this.animationsMap[a];c&&(c.time=b)};THREE.MorphBlendMesh.prototype.getAnimationTime=function(a){var b=0;if(a=this.animationsMap[a])b=a.time;return b}; -THREE.MorphBlendMesh.prototype.getAnimationDuration=function(a){var b=-1;if(a=this.animationsMap[a])b=a.duration;return b};THREE.MorphBlendMesh.prototype.playAnimation=function(a){var b=this.animationsMap[a];b?(b.time=0,b.active=!0):console.warn("animation["+a+"] undefined")};THREE.MorphBlendMesh.prototype.stopAnimation=function(a){if(a=this.animationsMap[a])a.active=!1}; -THREE.MorphBlendMesh.prototype.update=function(a){for(var b=0,c=this.animationsList.length;bd.duration||0>d.time)if(d.direction*=-1,d.time>d.duration&&(d.time=d.duration,d.directionBackwards=!0),0>d.time)d.time=0,d.directionBackwards=!1}else d.time%=d.duration,0>d.time&&(d.time+=d.duration);var f=d.startFrame+THREE.Math.clamp(Math.floor(d.time/e),0,d.length-1),g=d.weight; -f!==d.currentFrame&&(this.morphTargetInfluences[d.lastFrame]=0,this.morphTargetInfluences[d.currentFrame]=1*g,this.morphTargetInfluences[f]=0,d.lastFrame=d.currentFrame,d.currentFrame=f);e=d.time%e/e;d.directionBackwards&&(e=1-e);this.morphTargetInfluences[d.currentFrame]=e*g;this.morphTargetInfluences[d.lastFrame]=(1-e)*g}}}; -THREE.LensFlarePlugin=function(){function a(a){var c=b.createProgram(),d=b.createShader(b.FRAGMENT_SHADER),e=b.createShader(b.VERTEX_SHADER);b.shaderSource(d,a.fragmentShader);b.shaderSource(e,a.vertexShader);b.compileShader(d);b.compileShader(e);b.attachShader(c,d);b.attachShader(c,e);b.linkProgram(c);return c}var b,c,d,e,f,g,h,i,j,l,m,n,p;this.init=function(o){b=o.context;c=o;d=new Float32Array(16);e=new Uint16Array(6);o=0;d[o++]=-1;d[o++]=-1;d[o++]=0;d[o++]=0;d[o++]=1;d[o++]=-1;d[o++]=1;d[o++]= -0;d[o++]=1;d[o++]=1;d[o++]=1;d[o++]=1;d[o++]=-1;d[o++]=1;d[o++]=0;d[o++]=1;o=0;e[o++]=0;e[o++]=1;e[o++]=2;e[o++]=0;e[o++]=2;e[o++]=3;f=b.createBuffer();g=b.createBuffer();b.bindBuffer(b.ARRAY_BUFFER,f);b.bufferData(b.ARRAY_BUFFER,d,b.STATIC_DRAW);b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,g);b.bufferData(b.ELEMENT_ARRAY_BUFFER,e,b.STATIC_DRAW);h=b.createTexture();i=b.createTexture();b.bindTexture(b.TEXTURE_2D,h);b.texImage2D(b.TEXTURE_2D,0,b.RGB,16,16,0,b.RGB,b.UNSIGNED_BYTE,null);b.texParameteri(b.TEXTURE_2D, -b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,b.NEAREST);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.NEAREST);b.bindTexture(b.TEXTURE_2D,i);b.texImage2D(b.TEXTURE_2D,0,b.RGBA,16,16,0,b.RGBA,b.UNSIGNED_BYTE,null);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,b.NEAREST); -b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,b.NEAREST);0>=b.getParameter(b.MAX_VERTEX_TEXTURE_IMAGE_UNITS)?(j=!1,l=a(THREE.ShaderFlares.lensFlare)):(j=!0,l=a(THREE.ShaderFlares.lensFlareVertexTexture));m={};n={};m.vertex=b.getAttribLocation(l,"position");m.uv=b.getAttribLocation(l,"uv");n.renderType=b.getUniformLocation(l,"renderType");n.map=b.getUniformLocation(l,"map");n.occlusionMap=b.getUniformLocation(l,"occlusionMap");n.opacity=b.getUniformLocation(l,"opacity");n.color=b.getUniformLocation(l, -"color");n.scale=b.getUniformLocation(l,"scale");n.rotation=b.getUniformLocation(l,"rotation");n.screenPosition=b.getUniformLocation(l,"screenPosition");p=!1};this.render=function(a,d,e,r){var a=a.__webglFlares,z=a.length;if(z){var w=new THREE.Vector3,q=r/e,E=0.5*e,A=0.5*r,v=16/r,u=new THREE.Vector2(v*q,v),D=new THREE.Vector3(1,1,0),C=new THREE.Vector2(1,1),G=n,v=m;b.useProgram(l);p||(b.enableVertexAttribArray(m.vertex),b.enableVertexAttribArray(m.uv),p=!0);b.uniform1i(G.occlusionMap,0);b.uniform1i(G.map, -1);b.bindBuffer(b.ARRAY_BUFFER,f);b.vertexAttribPointer(v.vertex,2,b.FLOAT,!1,16,0);b.vertexAttribPointer(v.uv,2,b.FLOAT,!1,16,8);b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,g);b.disable(b.CULL_FACE);b.depthMask(!1);var P,B,K,H,I;for(P=0;Pv;v++)w[v]=new THREE.Vector3,r[v]=new THREE.Vector3;w=q.shadowCascadeNearZ[z];q=q.shadowCascadeFarZ[z];r[0].set(-1,-1,w);r[1].set(1,-1,w);r[2].set(-1, -1,w);r[3].set(1,1,w);r[4].set(-1,-1,q);r[5].set(1,-1,q);r[6].set(-1,1,q);r[7].set(1,1,q);A.originalCamera=m;r=new THREE.Gyroscope;r.position=o.shadowCascadeOffset;r.add(A);r.add(A.target);m.add(r);o.shadowCascadeArray[t]=A;console.log("Created virtualLight",A)}z=o;w=t;q=z.shadowCascadeArray[w];q.position.copy(z.position);q.target.position.copy(z.target.position);q.lookAt(q.target);q.shadowCameraVisible=z.shadowCameraVisible;q.shadowDarkness=z.shadowDarkness;q.shadowBias=z.shadowCascadeBias[w];r=z.shadowCascadeNearZ[w]; -z=z.shadowCascadeFarZ[w];q=q.pointsFrustum;q[0].z=r;q[1].z=r;q[2].z=r;q[3].z=r;q[4].z=z;q[5].z=z;q[6].z=z;q[7].z=z;E[s]=A;s++}else E[s]=o,s++;n=0;for(p=E.length;nz;z++)if(w=q[z],w.copy(r[z]),THREE.ShadowMapPlugin.__projector.unprojectVector(w,t),s.matrixWorldInverse.multiplyVector3(w),w.xj.x&&(j.x=w.x),w.yj.y&&(j.y=w.y),w.zj.z)j.z=w.z;s.left=i.x;s.right= -j.x;s.top=j.y;s.bottom=i.y;s.updateProjectionMatrix()}s=o.shadowMap;r=o.shadowMatrix;t=o.shadowCamera;t.position.copy(o.matrixWorld.getPosition());t.lookAt(o.target.matrixWorld.getPosition());t.updateMatrixWorld();t.matrixWorldInverse.getInverse(t.matrixWorld);o.cameraHelper&&(o.cameraHelper.visible=o.shadowCameraVisible);o.shadowCameraVisible&&o.cameraHelper.update();r.set(0.5,0,0,0.5,0,0.5,0,0.5,0,0,0.5,0.5,0,0,0,1);r.multiplySelf(t.projectionMatrix);r.multiplySelf(t.matrixWorldInverse);t._viewMatrixArray|| -(t._viewMatrixArray=new Float32Array(16));t._projectionMatrixArray||(t._projectionMatrixArray=new Float32Array(16));t.matrixWorldInverse.flattenToArray(t._viewMatrixArray);t.projectionMatrix.flattenToArray(t._projectionMatrixArray);h.multiply(t.projectionMatrix,t.matrixWorldInverse);g.setFromMatrix(h);b.setRenderTarget(s);b.clear();q=l.__webglObjects;o=0;for(s=q.length;o 0 ) {\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\nfloat fogFactor = 0.0;\nif ( fogType == 1 ) {\nfogFactor = smoothstep( fogNear, fogFar, depth );\n} else {\nconst float LOG2 = 1.442695;\nfloat fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n}\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\n}\n}"}}; diff --git a/tools/hexgl/libs/leap-0.4.1.min.js b/tools/hexgl/libs/leap-0.4.1.min.js deleted file mode 100644 index 6de4100..0000000 --- a/tools/hexgl/libs/leap-0.4.1.min.js +++ /dev/null @@ -1,3 +0,0 @@ -!function(e,t,n){function i(n,s){if(!t[n]){if(!e[n]){var o=typeof require=="function"&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);throw new Error("Cannot find module '"+n+"'")}var u=t[n]={exports:{}};e[n][0].call(u.exports,function(t){var r=e[n][1][t];return i(r?r:t)},u,u.exports)}return t[n].exports}var r=typeof require=="function"&&require;for(var s=0;s=this.size)return undefined;if(i>=this._buf.length)return undefined;return this._buf[(this.pos-i-1)%this.size]};CircularBuffer.prototype.push=function(o){this._buf[this.pos%this.size]=o;return this.pos++}},{}],3:[function(require,module,exports){var chooseProtocol=require("../protocol").chooseProtocol,EventEmitter=require("events").EventEmitter,_=require("underscore");var BaseConnection=module.exports=function(opts){this.opts=_.defaults(opts||{},{host:"127.0.0.1",enableGestures:false,port:6437,background:false,requestProtocolVersion:4});this.host=this.opts.host;this.port=this.opts.port;this.protocolVersionVerified=false;this.on("ready",function(){this.enableGestures(this.opts.enableGestures);this.setBackground(this.opts.background)})};BaseConnection.prototype.getUrl=function(){return"ws://"+this.host+":"+this.port+"/v"+this.opts.requestProtocolVersion+".json"};BaseConnection.prototype.setBackground=function(state){this.opts.background=state;if(this.protocol&&this.protocol.sendBackground&&this.background!==this.opts.background){this.background=this.opts.background;this.protocol.sendBackground(this,this.opts.background)}};BaseConnection.prototype.handleOpen=function(){if(!this.connected){this.connected=true;this.emit("connect")}};BaseConnection.prototype.enableGestures=function(enabled){this.gesturesEnabled=enabled?true:false;this.send(this.protocol.encode({enableGestures:this.gesturesEnabled}))};BaseConnection.prototype.handleClose=function(code,reason){if(!this.connected)return;this.disconnect();if(code===1001&&this.opts.requestProtocolVersion>1){if(this.protocolVersionVerified){this.protocolVersionVerified=false}else{this.opts.requestProtocolVersion--}}this.startReconnection()};BaseConnection.prototype.startReconnection=function(){var connection=this;this.reconnectionTimer=setInterval(function(){connection.reconnect()},1e3)};BaseConnection.prototype.disconnect=function(){if(!this.socket)return;this.socket.close();delete this.socket;delete this.protocol;if(this.connected){this.connected=false;this.emit("disconnect")}return true};BaseConnection.prototype.reconnect=function(){if(this.connected){clearInterval(this.reconnectionTimer)}else{this.disconnect();this.connect()}};BaseConnection.prototype.handleData=function(data){var message=JSON.parse(data);var messageEvent;if(this.protocol===undefined){messageEvent=this.protocol=chooseProtocol(message);this.protocolVersionVerified=true;this.emit("ready")}else{messageEvent=this.protocol(message)}this.emit(messageEvent.type,messageEvent)};BaseConnection.prototype.connect=function(){if(this.socket)return;this.socket=this.setupSocket();return true};BaseConnection.prototype.send=function(data){this.socket.send(data)};BaseConnection.prototype.reportFocus=function(state){if(this.focusedState===state)return;this.focusedState=state;this.emit(this.focusedState?"focus":"blur");if(this.protocol&&this.protocol.sendFocused){this.protocol.sendFocused(this,this.focusedState)}};_.extend(BaseConnection.prototype,EventEmitter.prototype)},{"../protocol":14,events:19,underscore:22}],4:[function(require,module,exports){var BaseConnection=module.exports=require("./base"),_=require("underscore");var BrowserConnection=module.exports=function(opts){BaseConnection.call(this,opts);var connection=this;this.on("ready",function(){connection.startFocusLoop()});this.on("disconnect",function(){connection.stopFocusLoop()})};_.extend(BrowserConnection.prototype,BaseConnection.prototype);BrowserConnection.prototype.setupSocket=function(){var connection=this;var socket=new WebSocket(this.getUrl());socket.onopen=function(){connection.handleOpen()};socket.onclose=function(data){connection.handleClose(data["code"],data["reason"])};socket.onmessage=function(message){connection.handleData(message.data)};return socket};BrowserConnection.prototype.startFocusLoop=function(){if(this.focusDetectorTimer)return;var connection=this;var propertyName=null;if(typeof document.hidden!=="undefined"){propertyName="hidden"}else if(typeof document.mozHidden!=="undefined"){propertyName="mozHidden"}else if(typeof document.msHidden!=="undefined"){propertyName="msHidden"}else if(typeof document.webkitHidden!=="undefined"){propertyName="webkitHidden"}else{propertyName=undefined}if(connection.windowVisible===undefined){connection.windowVisible=propertyName===undefined?true:document[propertyName]===false}var focusListener=window.addEventListener("focus",function(e){connection.windowVisible=true;updateFocusState()});var blurListener=window.addEventListener("blur",function(e){connection.windowVisible=false;updateFocusState()});this.on("disconnect",function(){window.removeEventListener("focus",focusListener);window.removeEventListener("blur",blurListener)});var updateFocusState=function(){var isVisible=propertyName===undefined?true:document[propertyName]===false;connection.reportFocus(isVisible&&connection.windowVisible)};this.focusDetectorTimer=setInterval(updateFocusState,100)};BrowserConnection.prototype.stopFocusLoop=function(){if(!this.focusDetectorTimer)return;clearTimeout(this.focusDetectorTimer);delete this.focusDetectorTimer}},{"./base":3,underscore:22}],5:[function(require,module,exports){var WebSocket=require("ws"),BaseConnection=require("./base"),_=require("underscore");var NodeConnection=module.exports=function(opts){BaseConnection.call(this,opts);var connection=this;this.on("ready",function(){connection.reportFocus(true)})};_.extend(NodeConnection.prototype,BaseConnection.prototype);NodeConnection.prototype.setupSocket=function(){var connection=this;var socket=new WebSocket(this.getUrl());socket.on("open",function(){connection.handleOpen()});socket.on("message",function(m){connection.handleData(m)});socket.on("close",function(code,reason){connection.handleClose(code,reason)});socket.on("error",function(){connection.startReconnection()});return socket}},{"./base":3,underscore:22,ws:23}],6:[function(require,module,exports){var process=require("__browserify_process");var Frame=require("./frame"),Hand=require("./hand"),Pointable=require("./pointable"),CircularBuffer=require("./circular_buffer"),Pipeline=require("./pipeline"),EventEmitter=require("events").EventEmitter,gestureListener=require("./gesture").gestureListener,_=require("underscore");var Controller=module.exports=function(opts){var inNode=typeof process!=="undefined"&&process.versions&&process.versions.node;opts=_.defaults(opts||{},{inNode:inNode});this.inNode=opts.inNode;opts=_.defaults(opts||{},{frameEventName:this.useAnimationLoop()?"animationFrame":"deviceFrame",suppressAnimationLoop:false});this.suppressAnimationLoop=opts.suppressAnimationLoop;this.frameEventName=opts.frameEventName;this.useAllPlugins=opts.useAllPlugins||false;this.history=new CircularBuffer(200);this.lastFrame=Frame.Invalid;this.lastValidFrame=Frame.Invalid;this.lastConnectionFrame=Frame.Invalid;this.accumulatedGestures=[];if(opts.connectionType===undefined){this.connectionType=this.inBrowser()?require("./connection/browser"):require("./connection/node")}else{this.connectionType=opts.connectionType}this.connection=new this.connectionType(opts);this._pluginPipelineSteps={};this._pluginExtendedMethods={};if(opts.useAllPlugins)this.useRegisteredPlugins();this.setupConnectionEvents()};Controller.prototype.gesture=function(type,cb){var creator=gestureListener(this,type);if(cb!==undefined){creator.stop(cb)}return creator};Controller.prototype.setBackground=function(state){this.connection.setBackground(state);return this};Controller.prototype.inBrowser=function(){return!this.inNode};Controller.prototype.useAnimationLoop=function(){return this.inBrowser()&&typeof chrome==="undefined"};Controller.prototype.connect=function(){var controller=this;if(this.connection.connect()&&this.inBrowser()&&!controller.suppressAnimationLoop){var callback=function(){controller.emit("animationFrame",controller.lastConnectionFrame);window.requestAnimationFrame(callback)};window.requestAnimationFrame(callback)}return this};Controller.prototype.disconnect=function(){this.connection.disconnect();return this};Controller.prototype.frame=function(num){return this.history.get(num)||Frame.Invalid};Controller.prototype.loop=function(callback){switch(callback.length){case 1:this.on(this.frameEventName,callback);break;case 2:var controller=this;var scheduler=null;var immediateRunnerCallback=function(frame){callback(frame,function(){if(controller.lastFrame!=frame){immediateRunnerCallback(controller.lastFrame)}else{controller.once(controller.frameEventName,immediateRunnerCallback)}})};this.once(this.frameEventName,immediateRunnerCallback);break}return this.connect()};Controller.prototype.addStep=function(step){if(!this.pipeline)this.pipeline=new Pipeline(this);this.pipeline.addStep(step)};Controller.prototype.processFrame=function(frame){if(frame.gestures){this.accumulatedGestures=this.accumulatedGestures.concat(frame.gestures)}if(this.pipeline){frame=this.pipeline.run(frame);if(!frame)frame=Frame.Invalid}this.lastConnectionFrame=frame;this.emit("deviceFrame",frame)};Controller.prototype.processFinishedFrame=function(frame){this.lastFrame=frame;if(frame.valid){this.lastValidFrame=frame}frame.controller=this;frame.historyIdx=this.history.push(frame);if(frame.gestures){frame.gestures=this.accumulatedGestures;this.accumulatedGestures=[];for(var gestureIdx=0;gestureIdx!=frame.gestures.length;gestureIdx++){this.emit("gesture",frame.gestures[gestureIdx],frame)}}this.emit("frame",frame)};Controller.prototype.setupConnectionEvents=function(){var controller=this;this.connection.on("frame",function(frame){controller.processFrame(frame)});this.on(this.frameEventName,function(frame){controller.processFinishedFrame(frame)});this.connection.on("disconnect",function(){controller.emit("disconnect")});this.connection.on("ready",function(){controller.emit("ready")});this.connection.on("connect",function(){controller.emit("connect")});this.connection.on("focus",function(){controller.emit("focus")});this.connection.on("blur",function(){controller.emit("blur")});this.connection.on("protocol",function(protocol){controller.emit("protocol",protocol)});this.connection.on("deviceConnect",function(evt){controller.emit(evt.state?"deviceConnected":"deviceDisconnected")})};Controller._pluginFactories={};Controller.plugin=function(pluginName,factory){if(this._pluginFactories[pluginName]){throw'Plugin "'+pluginName+'" already registered'}return this._pluginFactories[pluginName]=factory};Controller.plugins=function(){return _.keys(this._pluginFactories)};Controller.prototype.use=function(pluginName,options){var functionOrHash,pluginFactory,key,pluginInstance,klass;pluginFactory=typeof pluginName=="function"?pluginName:Controller._pluginFactories[pluginName];if(!pluginFactory){throw"Leap Plugin "+pluginName+" not found."}options||(options={});pluginInstance=pluginFactory.call(this,options);for(key in pluginInstance){functionOrHash=pluginInstance[key];if(typeof functionOrHash==="function"){if(!this.pipeline)this.pipeline=new Pipeline(this);if(!this._pluginPipelineSteps[pluginName])this._pluginPipelineSteps[pluginName]=[];this._pluginPipelineSteps[pluginName].push(this.pipeline.addWrappedStep(key,functionOrHash))}else{if(!this._pluginExtendedMethods[pluginName])this._pluginExtendedMethods[pluginName]=[];switch(key){case"frame":klass=Frame;break;case"hand":klass=Hand;break;case"pointable":klass=Pointable;break;default:throw pluginName+' specifies invalid object type "'+key+'" for prototypical extension'}_.extend(klass.prototype,functionOrHash);_.extend(klass.Invalid,functionOrHash);this._pluginExtendedMethods[pluginName].push([klass,functionOrHash])}}return this};Controller.prototype.stopUsing=function(pluginName){var steps=this._pluginPipelineSteps[pluginName],extMethodHashes=this._pluginExtendedMethods[pluginName],i=0,klass,extMethodHash;if(steps){for(i=0;i
    Hands:
    ";for(var handIdx=0,handCount=this.hands.length;handIdx!=handCount;handIdx++){out+=" "+this.hands[handIdx].toString()+"
    "}out+="

    Pointables:
    ";for(var pointableIdx=0,pointableCount=this.pointables.length;pointableIdx!=pointableCount;pointableIdx++){out+=" "+this.pointables[pointableIdx].toString()+"
    "}if(this.gestures){out+="

    Gestures:
    ";for(var gestureIdx=0,gestureCount=this.gestures.length;gestureIdx!=gestureCount;gestureIdx++){out+=" "+this.gestures[gestureIdx].toString()+"
    "}}out+="

    Raw JSON:
    ";out+=JSON.stringify(this.data);return out};Frame.Invalid={valid:false,hands:[],fingers:[],tools:[],gestures:[],pointables:[],pointable:function(){return Pointable.Invalid},finger:function(){return Pointable.Invalid},hand:function(){return Hand.Invalid},toString:function(){return"invalid frame"},dump:function(){return this.toString()},rotationAngle:function(){return 0},rotationMatrix:function(){return mat3.create()},rotationAxis:function(){return vec3.create()},scaleFactor:function(){return 1},translation:function(){return vec3.create()}}},{"./gesture":8,"./hand":9,"./interaction_box":11,"./pointable":13,"gl-matrix":21,underscore:22}],8:[function(require,module,exports){var glMatrix=require("gl-matrix"),vec3=glMatrix.vec3,EventEmitter=require("events").EventEmitter,_=require("underscore");var createGesture=exports.createGesture=function(data){var gesture;switch(data.type){case"circle":gesture=new CircleGesture(data);break;case"swipe":gesture=new SwipeGesture(data);break;case"screenTap":gesture=new ScreenTapGesture(data);break;case"keyTap":gesture=new KeyTapGesture(data);break;default:throw"unkown gesture type"}gesture.id=data.id;gesture.handIds=data.handIds;gesture.pointableIds=data.pointableIds;gesture.duration=data.duration;gesture.state=data.state;gesture.type=data.type;return gesture};var gestureListener=exports.gestureListener=function(controller,type){var handlers={};var gestureMap={};controller.on("gesture",function(gesture,frame){if(gesture.type==type){if(gesture.state=="start"||gesture.state=="stop"){if(gestureMap[gesture.id]===undefined){var gestureTracker=new Gesture(gesture,frame);gestureMap[gesture.id]=gestureTracker;_.each(handlers,function(cb,name){gestureTracker.on(name,cb)})}}gestureMap[gesture.id].update(gesture,frame);if(gesture.state=="stop"){delete gestureMap[gesture.id]}}});var builder={start:function(cb){handlers["start"]=cb;return builder},stop:function(cb){handlers["stop"]=cb;return builder},complete:function(cb){handlers["stop"]=cb;return builder},update:function(cb){handlers["update"]=cb;return builder}};return builder};var Gesture=exports.Gesture=function(gesture,frame){this.gestures=[gesture];this.frames=[frame]};Gesture.prototype.update=function(gesture,frame){this.lastGesture=gesture;this.lastFrame=frame;this.gestures.push(gesture);this.frames.push(frame);this.emit(gesture.state,this)};Gesture.prototype.translation=function(){return vec3.subtract(vec3.create(),this.lastGesture.startPosition,this.lastGesture.position)};_.extend(Gesture.prototype,EventEmitter.prototype);var CircleGesture=function(data){this.center=data.center;this.normal=data.normal;this.progress=data.progress;this.radius=data.radius};CircleGesture.prototype.toString=function(){return"CircleGesture ["+JSON.stringify(this)+"]"};var SwipeGesture=function(data){this.startPosition=data.startPosition;this.position=data.position;this.direction=data.direction;this.speed=data.speed};SwipeGesture.prototype.toString=function(){return"SwipeGesture ["+JSON.stringify(this)+"]"};var ScreenTapGesture=function(data){this.position=data.position;this.direction=data.direction;this.progress=data.progress};ScreenTapGesture.prototype.toString=function(){return"ScreenTapGesture ["+JSON.stringify(this)+"]"};var KeyTapGesture=function(data){this.position=data.position;this.direction=data.direction;this.progress=data.progress};KeyTapGesture.prototype.toString=function(){return"KeyTapGesture ["+JSON.stringify(this)+"]"}},{events:19,"gl-matrix":21,underscore:22}],9:[function(require,module,exports){var Pointable=require("./pointable"),glMatrix=require("gl-matrix"),mat3=glMatrix.mat3,vec3=glMatrix.vec3,_=require("underscore");var Hand=module.exports=function(data){this.id=data.id;this.palmPosition=data.palmPosition;this.direction=data.direction;this.palmVelocity=data.palmVelocity;this.palmNormal=data.palmNormal;this.sphereCenter=data.sphereCenter;this.sphereRadius=data.sphereRadius;this.valid=true;this.pointables=[];this.fingers=[];this.tools=[];this._translation=data.t;this._rotation=_.flatten(data.r);this._scaleFactor=data.s;this.timeVisible=data.timeVisible;this.stabilizedPalmPosition=data.stabilizedPalmPosition};Hand.prototype.finger=function(id){var finger=this.frame.finger(id);return finger&&finger.handId==this.id?finger:Pointable.Invalid};Hand.prototype.rotationAngle=function(sinceFrame,axis){if(!this.valid||!sinceFrame.valid)return 0;var sinceHand=sinceFrame.hand(this.id);if(!sinceHand.valid)return 0;var rot=this.rotationMatrix(sinceFrame);var cs=(rot[0]+rot[4]+rot[8]-1)*.5;var angle=Math.acos(cs);angle=isNaN(angle)?0:angle;if(axis!==undefined){var rotAxis=this.rotationAxis(sinceFrame);angle*=vec3.dot(rotAxis,vec3.normalize(vec3.create(),axis))}return angle};Hand.prototype.rotationAxis=function(sinceFrame){if(!this.valid||!sinceFrame.valid)return vec3.create();var sinceHand=sinceFrame.hand(this.id);if(!sinceHand.valid)return vec3.create();return vec3.normalize(vec3.create(),[this._rotation[7]-sinceHand._rotation[5],this._rotation[2]-sinceHand._rotation[6],this._rotation[3]-sinceHand._rotation[1]])};Hand.prototype.rotationMatrix=function(sinceFrame){if(!this.valid||!sinceFrame.valid)return mat3.create();var sinceHand=sinceFrame.hand(this.id);if(!sinceHand.valid)return mat3.create();var transpose=mat3.transpose(mat3.create(),this._rotation);var m=mat3.multiply(mat3.create(),sinceHand._rotation,transpose);return m};Hand.prototype.scaleFactor=function(sinceFrame){if(!this.valid||!sinceFrame.valid)return 1;var sinceHand=sinceFrame.hand(this.id);if(!sinceHand.valid)return 1;return Math.exp(this._scaleFactor-sinceHand._scaleFactor)};Hand.prototype.translation=function(sinceFrame){if(!this.valid||!sinceFrame.valid)return vec3.create();var sinceHand=sinceFrame.hand(this.id);if(!sinceHand.valid)return vec3.create();return[this._translation[0]-sinceHand._translation[0],this._translation[1]-sinceHand._translation[1],this._translation[2]-sinceHand._translation[2]]};Hand.prototype.toString=function(){return"Hand [ id: "+this.id+" | palm velocity:"+this.palmVelocity+" | sphere center:"+this.sphereCenter+" ] "};Hand.prototype.pitch=function(){return Math.atan2(this.direction[1],-this.direction[2])};Hand.prototype.yaw=function(){return Math.atan2(this.direction[0],-this.direction[2])};Hand.prototype.roll=function(){return Math.atan2(this.palmNormal[0],-this.palmNormal[1])};Hand.Invalid={valid:false,fingers:[],tools:[],pointables:[],pointable:function(){return Pointable.Invalid},finger:function(){return Pointable.Invalid},toString:function(){return"invalid frame"},dump:function(){return this.toString()},rotationAngle:function(){return 0},rotationMatrix:function(){return mat3.create()},rotationAxis:function(){return vec3.create()},scaleFactor:function(){return 1},translation:function(){return vec3.create()}}},{"./pointable":13,"gl-matrix":21,underscore:22}],10:[function(require,module,exports){require("./_header");module.exports={Controller:require("./controller"),Frame:require("./frame"),Gesture:require("./gesture"),Hand:require("./hand"),Pointable:require("./pointable"),InteractionBox:require("./interaction_box"),CircularBuffer:require("./circular_buffer"),UI:require("./ui"),glMatrix:require("gl-matrix"),mat3:require("gl-matrix").mat3,vec3:require("gl-matrix").vec3,loopController:undefined,version:require("./version.js"),loop:function(opts,callback){if(callback===undefined){callback=opts;opts={}}opts.useAllPlugins||(opts.useAllPlugins=true);if(!this.loopController)this.loopController=new this.Controller(opts);this.loopController.loop(callback);return this.loopController},plugin:function(name,options){this.Controller.plugin(name,options)}}},{"./_header":1,"./circular_buffer":2,"./controller":6,"./frame":7,"./gesture":8,"./hand":9,"./interaction_box":11,"./pointable":13,"./ui":15,"./version.js":18,"gl-matrix":21}],11:[function(require,module,exports){var glMatrix=require("gl-matrix"),vec3=glMatrix.vec3;var InteractionBox=module.exports=function(data){this.valid=true;this.center=data.center;this.size=data.size;this.width=data.size[0];this.height=data.size[1];this.depth=data.size[2]};InteractionBox.prototype.denormalizePoint=function(normalizedPosition){return vec3.fromValues((normalizedPosition[0]-.5)*this.size[0]+this.center[0],(normalizedPosition[1]-.5)*this.size[1]+this.center[1],(normalizedPosition[2]-.5)*this.size[2]+this.center[2])};InteractionBox.prototype.normalizePoint=function(position,clamp){var vec=vec3.fromValues((position[0]-this.center[0])/this.size[0]+.5,(position[1]-this.center[1])/this.size[1]+.5,(position[2]-this.center[2])/this.size[2]+.5);if(clamp){vec[0]=Math.min(Math.max(vec[0],0),1);vec[1]=Math.min(Math.max(vec[1],0),1);vec[2]=Math.min(Math.max(vec[2],0),1)}return vec};InteractionBox.prototype.toString=function(){return"InteractionBox [ width:"+this.width+" | height:"+this.height+" | depth:"+this.depth+" ]"};InteractionBox.Invalid={valid:false}},{"gl-matrix":21}],12:[function(require,module,exports){var Pipeline=module.exports=function(controller){this.steps=[];this.controller=controller};Pipeline.prototype.addStep=function(step){this.steps.push(step)};Pipeline.prototype.run=function(frame){var stepsLength=this.steps.length;for(var i=0;i!=stepsLength;i++){if(!frame)break;frame=this.steps[i](frame)}return frame};Pipeline.prototype.removeStep=function(step){var index=this.steps.indexOf(step);if(index===-1)throw"Step not found in pipeline";this.steps.splice(index,1)};Pipeline.prototype.addWrappedStep=function(type,callback){var controller=this.controller,step=function(frame){var dependencies,i,len;dependencies=type=="frame"?[frame]:frame[type+"s"]||[];for(i=0,len=dependencies.length;i=this.start.x&&position.x<=this.end.x&&position.y>=this.start.y&&position.y<=this.end.y&&position.z>=this.start.z&&position.z<=this.end.z){return true}}return false};Region.prototype.listener=function(opts){var region=this;if(opts&&opts.nearThreshold)this.setupNearRegion(opts.nearThreshold);return function(frame){return region.updatePosition(frame)}};Region.prototype.clipper=function(){var region=this;return function(frame){region.updatePosition(frame);return region.enteredFrame?frame:null}};Region.prototype.setupNearRegion=function(distance){var nearRegion=this.nearRegion=new Region([this.start.x-distance,this.start.y-distance,this.start.z-distance],[this.end.x+distance,this.end.y+distance,this.end.z+distance]);var region=this;nearRegion.on("enter",function(frame){region.emit("near",frame)});nearRegion.on("exit",function(frame){region.emit("far",frame)});region.on("exit",function(frame){region.emit("near",frame)})};Region.prototype.updatePosition=function(frame){if(this.nearRegion)this.nearRegion.updatePosition(frame);if(this.hasPointables(frame)&&this.enteredFrame==null){this.enteredFrame=frame;this.emit("enter",this.enteredFrame)}else if(!this.hasPointables(frame)&&this.enteredFrame!=null){this.enteredFrame=null;this.emit("exit",this.enteredFrame)}return frame};Region.prototype.normalize=function(position){return new Vector([(position.x-this.start.x)/(this.end.x-this.start.x),(position.y-this.start.y)/(this.end.y-this.start.y),(position.z-this.start.z)/(this.end.z-this.start.z)])};Region.prototype.mapToXY=function(position,width,height){var normalized=this.normalize(position);var x=normalized.x,y=normalized.y;if(x>1)x=1;else if(x<-1)x=-1;if(y>1)y=1;else if(y<-1)y=-1;return[(x+1)/2*width,(1-y)/2*height,normalized.z]};_.extend(Region.prototype,EventEmitter.prototype)},{events:19,underscore:22}],18:[function(require,module,exports){module.exports={full:"0.4.1",major:0,minor:4,dot:1}},{}],19:[function(require,module,exports){var process=require("__browserify_process");if(!process.EventEmitter)process.EventEmitter=function(){};var EventEmitter=exports.EventEmitter=process.EventEmitter;var isArray=typeof Array.isArray==="function"?Array.isArray:function(xs){return Object.prototype.toString.call(xs)==="[object Array]"};function indexOf(xs,x){if(xs.indexOf)return xs.indexOf(x);for(var i=0;i0&&this._events[type].length>m){this._events[type].warned=true;console.error("(node) warning: possible EventEmitter memory "+"leak detected. %d listeners added. "+"Use emitter.setMaxListeners() to increase limit.",this._events[type].length);console.trace()}}this._events[type].push(listener)}else{this._events[type]=[this._events[type],listener]}return this};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.once=function(type,listener){var self=this;self.on(type,function g(){self.removeListener(type,g);listener.apply(this,arguments)});return this};EventEmitter.prototype.removeListener=function(type,listener){if("function"!==typeof listener){throw new Error("removeListener only takes instances of Function")}if(!this._events||!this._events[type])return this;var list=this._events[type];if(isArray(list)){var i=indexOf(list,listener);if(i<0)return this;list.splice(i,1);if(list.length==0)delete this._events[type]}else if(this._events[type]===listener){delete this._events[type]}return this};EventEmitter.prototype.removeAllListeners=function(type){if(arguments.length===0){this._events={};return this}if(type&&this._events&&this._events[type])this._events[type]=null;return this};EventEmitter.prototype.listeners=function(type){if(!this._events)this._events={};if(!this._events[type])this._events[type]=[];if(!isArray(this._events[type])){this._events[type]=[this._events[type]]}return this._events[type]};EventEmitter.listenerCount=function(emitter,type){var ret;if(!emitter._events||!emitter._events[type])ret=0;else if(typeof emitter._events[type]==="function")ret=1;else ret=emitter._events[type].length;return ret}},{__browserify_process:20}],20:[function(require,module,exports){var process=module.exports={};process.nextTick=function(){var canSetImmediate=typeof window!=="undefined"&&window.setImmediate;var canPost=typeof window!=="undefined"&&window.postMessage&&window.addEventListener;if(canSetImmediate){return function(f){return window.setImmediate(f)}}if(canPost){var queue=[];window.addEventListener("message",function(ev){if(ev.source===window&&ev.data==="process-tick"){ev.stopPropagation();if(queue.length>0){var fn=queue.shift();fn()}}},true);return function nextTick(fn){queue.push(fn);window.postMessage("process-tick","*")}}return function nextTick(fn){setTimeout(fn,0)}}();process.title="browser";process.browser=true;process.env={};process.argv=[];process.binding=function(name){throw new Error("process.binding is not supported")};process.cwd=function(){return"/"};process.chdir=function(dir){throw new Error("process.chdir is not supported")}},{}],21:[function(require,module,exports){!function(){"use strict";var shim={};if(typeof exports==="undefined"){if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){shim.exports={};define(function(){return shim.exports})}else{shim.exports=window}}else{shim.exports=exports}!function(exports){var vec2={};if(!GLMAT_EPSILON){var GLMAT_EPSILON=1e-6}vec2.create=function(){return new Float32Array(2)};vec2.clone=function(a){var out=new Float32Array(2);out[0]=a[0];out[1]=a[1];return out};vec2.fromValues=function(x,y){var out=new Float32Array(2);out[0]=x;out[1]=y;return out};vec2.copy=function(out,a){out[0]=a[0];out[1]=a[1];return out};vec2.set=function(out,x,y){out[0]=x;out[1]=y;return out};vec2.add=function(out,a,b){out[0]=a[0]+b[0];out[1]=a[1]+b[1];return out};vec2.sub=vec2.subtract=function(out,a,b){out[0]=a[0]-b[0];out[1]=a[1]-b[1];return out};vec2.mul=vec2.multiply=function(out,a,b){out[0]=a[0]*b[0];out[1]=a[1]*b[1];return out};vec2.div=vec2.divide=function(out,a,b){out[0]=a[0]/b[0];out[1]=a[1]/b[1];return out};vec2.min=function(out,a,b){out[0]=Math.min(a[0],b[0]);out[1]=Math.min(a[1],b[1]);return out};vec2.max=function(out,a,b){out[0]=Math.max(a[0],b[0]);out[1]=Math.max(a[1],b[1]);return out};vec2.scale=function(out,a,b){out[0]=a[0]*b;out[1]=a[1]*b;return out};vec2.dist=vec2.distance=function(a,b){var x=b[0]-a[0],y=b[1]-a[1];return Math.sqrt(x*x+y*y)};vec2.sqrDist=vec2.squaredDistance=function(a,b){var x=b[0]-a[0],y=b[1]-a[1];return x*x+y*y};vec2.len=vec2.length=function(a){var x=a[0],y=a[1];return Math.sqrt(x*x+y*y)};vec2.sqrLen=vec2.squaredLength=function(a){var x=a[0],y=a[1];return x*x+y*y};vec2.negate=function(out,a){out[0]=-a[0];out[1]=-a[1];return out};vec2.normalize=function(out,a){var x=a[0],y=a[1];var len=x*x+y*y;if(len>0){len=1/Math.sqrt(len);out[0]=a[0]*len;out[1]=a[1]*len}return out};vec2.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]};vec2.cross=function(out,a,b){var z=a[0]*b[1]-a[1]*b[0];out[0]=out[1]=0;out[2]=z;return out};vec2.lerp=function(out,a,b,t){var ax=a[0],ay=a[1];out[0]=ax+t*(b[0]-ax);out[1]=ay+t*(b[1]-ay);return out};vec2.transformMat2=function(out,a,m){var x=a[0],y=a[1];out[0]=x*m[0]+y*m[1];out[1]=x*m[2]+y*m[3];return out};vec2.forEach=function(){var vec=new Float32Array(2);return function(a,stride,offset,count,fn,arg){var i,l;if(!stride){stride=2}if(!offset){offset=0}if(count){l=Math.min(count*stride+offset,a.length)}else{l=a.length}for(i=offset;i0){len=1/Math.sqrt(len);out[0]=a[0]*len;out[1]=a[1]*len;out[2]=a[2]*len}return out};vec3.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]};vec3.cross=function(out,a,b){var ax=a[0],ay=a[1],az=a[2],bx=b[0],by=b[1],bz=b[2];out[0]=ay*bz-az*by;out[1]=az*bx-ax*bz;out[2]=ax*by-ay*bx;return out};vec3.lerp=function(out,a,b,t){var ax=a[0],ay=a[1],az=a[2];out[0]=ax+t*(b[0]-ax);out[1]=ay+t*(b[1]-ay);out[2]=az+t*(b[2]-az);return out};vec3.transformMat4=function(out,a,m){var x=a[0],y=a[1],z=a[2];out[0]=m[0]*x+m[4]*y+m[8]*z+m[12];out[1]=m[1]*x+m[5]*y+m[9]*z+m[13];out[2]=m[2]*x+m[6]*y+m[10]*z+m[14];return out};vec3.transformQuat=function(out,a,q){var x=a[0],y=a[1],z=a[2],qx=q[0],qy=q[1],qz=q[2],qw=q[3],ix=qw*x+qy*z-qz*y,iy=qw*y+qz*x-qx*z,iz=qw*z+qx*y-qy*x,iw=-qx*x-qy*y-qz*z;out[0]=ix*qw+iw*-qx+iy*-qz-iz*-qy;out[1]=iy*qw+iw*-qy+iz*-qx-ix*-qz;out[2]=iz*qw+iw*-qz+ix*-qy-iy*-qx;return out};vec3.forEach=function(){var vec=new Float32Array(3);return function(a,stride,offset,count,fn,arg){var i,l;if(!stride){stride=3}if(!offset){offset=0}if(count){l=Math.min(count*stride+offset,a.length)}else{l=a.length}for(i=offset;i0){len=1/Math.sqrt(len);out[0]=a[0]*len;out[1]=a[1]*len;out[2]=a[2]*len;out[3]=a[3]*len}return out};vec4.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]};vec4.lerp=function(out,a,b,t){var ax=a[0],ay=a[1],az=a[2],aw=a[3];out[0]=ax+t*(b[0]-ax);out[1]=ay+t*(b[1]-ay);out[2]=az+t*(b[2]-az);out[3]=aw+t*(b[3]-aw);return out};vec4.transformMat4=function(out,a,m){var x=a[0],y=a[1],z=a[2],w=a[3];out[0]=m[0]*x+m[4]*y+m[8]*z+m[12]*w;out[1]=m[1]*x+m[5]*y+m[9]*z+m[13]*w;out[2]=m[2]*x+m[6]*y+m[10]*z+m[14]*w;out[3]=m[3]*x+m[7]*y+m[11]*z+m[15]*w;return out};vec4.transformQuat=function(out,a,q){var x=a[0],y=a[1],z=a[2],qx=q[0],qy=q[1],qz=q[2],qw=q[3],ix=qw*x+qy*z-qz*y,iy=qw*y+qz*x-qx*z,iz=qw*z+qx*y-qy*x,iw=-qx*x-qy*y-qz*z;out[0]=ix*qw+iw*-qx+iy*-qz-iz*-qy;out[1]=iy*qw+iw*-qy+iz*-qx-ix*-qz;out[2]=iz*qw+iw*-qz+ix*-qy-iy*-qx;return out};vec4.forEach=function(){var vec=new Float32Array(4);return function(a,stride,offset,count,fn,arg){var i,l;if(!stride){stride=4}if(!offset){offset=0}if(count){l=Math.min(count*stride+offset,a.length)}else{l=a.length}for(i=offset;i=1){if(out!==a){out[0]=ax;out[1]=ay;out[2]=az;out[3]=aw}return out}halfTheta=Math.acos(cosHalfTheta);sinHalfTheta=Math.sqrt(1-cosHalfTheta*cosHalfTheta);if(Math.abs(sinHalfTheta)<.001){out[0]=ax*.5+bx*.5;out[1]=ay*.5+by*.5;out[2]=az*.5+bz*.5;out[3]=aw*.5+bw*.5;return out}ratioA=Math.sin((1-t)*halfTheta)/sinHalfTheta;ratioB=Math.sin(t*halfTheta)/sinHalfTheta;out[0]=ax*ratioA+bx*ratioB;out[1]=ay*ratioA+by*ratioB;out[2]=az*ratioA+bz*ratioB;out[3]=aw*ratioA+bw*ratioB;return out};quat.invert=function(out,a){var a0=a[0],a1=a[1],a2=a[2],a3=a[3],dot=a0*a0+a1*a1+a2*a2+a3*a3,invDot=dot?1/dot:0;out[0]=-a0*invDot;out[1]=-a1*invDot;out[2]=-a2*invDot;out[3]=a3*invDot;return out};quat.conjugate=function(out,a){out[0]=-a[0];out[1]=-a[1];out[2]=-a[2];out[3]=a[3];return out};quat.len=quat.length=vec4.length;quat.sqrLen=quat.squaredLength=vec4.squaredLength;quat.normalize=vec4.normalize;quat.str=function(a){return"quat("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+")"};if(typeof exports!=="undefined"){exports.quat=quat}}(shim.exports)}()},{}],22:[function(require,module,exports){!function(){var root=this;var previousUnderscore=root._;var breaker={};var ArrayProto=Array.prototype,ObjProto=Object.prototype,FuncProto=Function.prototype;var push=ArrayProto.push,slice=ArrayProto.slice,concat=ArrayProto.concat,toString=ObjProto.toString,hasOwnProperty=ObjProto.hasOwnProperty;var nativeForEach=ArrayProto.forEach,nativeMap=ArrayProto.map,nativeReduce=ArrayProto.reduce,nativeReduceRight=ArrayProto.reduceRight,nativeFilter=ArrayProto.filter,nativeEvery=ArrayProto.every,nativeSome=ArrayProto.some,nativeIndexOf=ArrayProto.indexOf,nativeLastIndexOf=ArrayProto.lastIndexOf,nativeIsArray=Array.isArray,nativeKeys=Object.keys,nativeBind=FuncProto.bind;var _=function(obj){if(obj instanceof _)return obj;if(!(this instanceof _))return new _(obj);this._wrapped=obj};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){exports=module.exports=_}exports._=_}else{root._=_}_.VERSION="1.4.4"; -var each=_.each=_.forEach=function(obj,iterator,context){if(obj==null)return;if(nativeForEach&&obj.forEach===nativeForEach){obj.forEach(iterator,context)}else if(obj.length===+obj.length){for(var i=0,l=obj.length;i2;if(obj==null)obj=[];if(nativeReduce&&obj.reduce===nativeReduce){if(context)iterator=_.bind(iterator,context);return initial?obj.reduce(iterator,memo):obj.reduce(iterator)}each(obj,function(value,index,list){if(!initial){memo=value;initial=true}else{memo=iterator.call(context,memo,value,index,list)}});if(!initial)throw new TypeError(reduceError);return memo};_.reduceRight=_.foldr=function(obj,iterator,memo,context){var initial=arguments.length>2;if(obj==null)obj=[];if(nativeReduceRight&&obj.reduceRight===nativeReduceRight){if(context)iterator=_.bind(iterator,context);return initial?obj.reduceRight(iterator,memo):obj.reduceRight(iterator)}var length=obj.length;if(length!==+length){var keys=_.keys(obj);length=keys.length}each(obj,function(value,index,list){index=keys?keys[--length]:--length;if(!initial){memo=obj[index];initial=true}else{memo=iterator.call(context,memo,obj[index],index,list)}});if(!initial)throw new TypeError(reduceError);return memo};_.find=_.detect=function(obj,iterator,context){var result;any(obj,function(value,index,list){if(iterator.call(context,value,index,list)){result=value;return true}});return result};_.filter=_.select=function(obj,iterator,context){var results=[];if(obj==null)return results;if(nativeFilter&&obj.filter===nativeFilter)return obj.filter(iterator,context);each(obj,function(value,index,list){if(iterator.call(context,value,index,list))results[results.length]=value});return results};_.reject=function(obj,iterator,context){return _.filter(obj,function(value,index,list){return!iterator.call(context,value,index,list)},context)};_.every=_.all=function(obj,iterator,context){iterator||(iterator=_.identity);var result=true;if(obj==null)return result;if(nativeEvery&&obj.every===nativeEvery)return obj.every(iterator,context);each(obj,function(value,index,list){if(!(result=result&&iterator.call(context,value,index,list)))return breaker});return!!result};var any=_.some=_.any=function(obj,iterator,context){iterator||(iterator=_.identity);var result=false;if(obj==null)return result;if(nativeSome&&obj.some===nativeSome)return obj.some(iterator,context);each(obj,function(value,index,list){if(result||(result=iterator.call(context,value,index,list)))return breaker});return!!result};_.contains=_.include=function(obj,target){if(obj==null)return false;if(nativeIndexOf&&obj.indexOf===nativeIndexOf)return obj.indexOf(target)!=-1;return any(obj,function(value){return value===target})};_.invoke=function(obj,method){var args=slice.call(arguments,2);var isFunc=_.isFunction(method);return _.map(obj,function(value){return(isFunc?method:value[method]).apply(value,args)})};_.pluck=function(obj,key){return _.map(obj,function(value){return value[key]})};_.where=function(obj,attrs,first){if(_.isEmpty(attrs))return first?null:[];return _[first?"find":"filter"](obj,function(value){for(var key in attrs){if(attrs[key]!==value[key])return false}return true})};_.findWhere=function(obj,attrs){return _.where(obj,attrs,true)};_.max=function(obj,iterator,context){if(!iterator&&_.isArray(obj)&&obj[0]===+obj[0]&&obj.length<65535){return Math.max.apply(Math,obj)}if(!iterator&&_.isEmpty(obj))return-Infinity;var result={computed:-Infinity,value:-Infinity};each(obj,function(value,index,list){var computed=iterator?iterator.call(context,value,index,list):value;computed>=result.computed&&(result={value:value,computed:computed})});return result.value};_.min=function(obj,iterator,context){if(!iterator&&_.isArray(obj)&&obj[0]===+obj[0]&&obj.length<65535){return Math.min.apply(Math,obj)}if(!iterator&&_.isEmpty(obj))return Infinity;var result={computed:Infinity,value:Infinity};each(obj,function(value,index,list){var computed=iterator?iterator.call(context,value,index,list):value;computedb||a===void 0)return 1;if(a>>1;iterator.call(context,array[mid])=0})})};_.difference=function(array){var rest=concat.apply(ArrayProto,slice.call(arguments,1));return _.filter(array,function(value){return!_.contains(rest,value)})};_.zip=function(){var args=slice.call(arguments);var length=_.max(_.pluck(args,"length"));var results=new Array(length);for(var i=0;i=0;i--){args=[funcs[i].apply(this,args)]}return args[0]}};_.after=function(times,func){if(times<=0)return func();return function(){if(--times<1){return func.apply(this,arguments)}}};_.keys=nativeKeys||function(obj){if(obj!==Object(obj))throw new TypeError("Invalid object");var keys=[];for(var key in obj)if(_.has(obj,key))keys[keys.length]=key;return keys};_.values=function(obj){var values=[];for(var key in obj)if(_.has(obj,key))values.push(obj[key]);return values};_.pairs=function(obj){var pairs=[];for(var key in obj)if(_.has(obj,key))pairs.push([key,obj[key]]);return pairs};_.invert=function(obj){var result={};for(var key in obj)if(_.has(obj,key))result[obj[key]]=key;return result};_.functions=_.methods=function(obj){var names=[];for(var key in obj){if(_.isFunction(obj[key]))names.push(key)}return names.sort()};_.extend=function(obj){each(slice.call(arguments,1),function(source){if(source){for(var prop in source){obj[prop]=source[prop]}}});return obj};_.pick=function(obj){var copy={};var keys=concat.apply(ArrayProto,slice.call(arguments,1));each(keys,function(key){if(key in obj)copy[key]=obj[key]});return copy};_.omit=function(obj){var copy={};var keys=concat.apply(ArrayProto,slice.call(arguments,1));for(var key in obj){if(!_.contains(keys,key))copy[key]=obj[key]}return copy};_.defaults=function(obj){each(slice.call(arguments,1),function(source){if(source){for(var prop in source){if(obj[prop]==null)obj[prop]=source[prop]}}});return obj};_.clone=function(obj){if(!_.isObject(obj))return obj;return _.isArray(obj)?obj.slice():_.extend({},obj)};_.tap=function(obj,interceptor){interceptor(obj);return obj};var eq=function(a,b,aStack,bStack){if(a===b)return a!==0||1/a==1/b;if(a==null||b==null)return a===b;if(a instanceof _)a=a._wrapped;if(b instanceof _)b=b._wrapped;var className=toString.call(a);if(className!=toString.call(b))return false;switch(className){case"[object String]":return a==String(b);case"[object Number]":return a!=+a?b!=+b:a==0?1/a==1/b:a==+b;case"[object Date]":case"[object Boolean]":return+a==+b;case"[object RegExp]":return a.source==b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if(typeof a!="object"||typeof b!="object")return false;var length=aStack.length;while(length--){if(aStack[length]==a)return bStack[length]==b}aStack.push(a);bStack.push(b);var size=0,result=true;if(className=="[object Array]"){size=a.length;result=size==b.length;if(result){while(size--){if(!(result=eq(a[size],b[size],aStack,bStack)))break}}}else{var aCtor=a.constructor,bCtor=b.constructor;if(aCtor!==bCtor&&!(_.isFunction(aCtor)&&aCtor instanceof aCtor&&_.isFunction(bCtor)&&bCtor instanceof bCtor)){return false}for(var key in a){if(_.has(a,key)){size++;if(!(result=_.has(b,key)&&eq(a[key],b[key],aStack,bStack)))break}}if(result){for(key in b){if(_.has(b,key)&&!size--)break}result=!size}}aStack.pop();bStack.pop();return result};_.isEqual=function(a,b){return eq(a,b,[],[])};_.isEmpty=function(obj){if(obj==null)return true;if(_.isArray(obj)||_.isString(obj))return obj.length===0;for(var key in obj)if(_.has(obj,key))return false;return true};_.isElement=function(obj){return!!(obj&&obj.nodeType===1)};_.isArray=nativeIsArray||function(obj){return toString.call(obj)=="[object Array]"};_.isObject=function(obj){return obj===Object(obj)};each(["Arguments","Function","String","Number","Date","RegExp"],function(name){_["is"+name]=function(obj){return toString.call(obj)=="[object "+name+"]"}});if(!_.isArguments(arguments)){_.isArguments=function(obj){return!!(obj&&_.has(obj,"callee"))}}if(typeof/./!=="function"){_.isFunction=function(obj){return typeof obj==="function"}}_.isFinite=function(obj){return isFinite(obj)&&!isNaN(parseFloat(obj))};_.isNaN=function(obj){return _.isNumber(obj)&&obj!=+obj};_.isBoolean=function(obj){return obj===true||obj===false||toString.call(obj)=="[object Boolean]"};_.isNull=function(obj){return obj===null};_.isUndefined=function(obj){return obj===void 0};_.has=function(obj,key){return hasOwnProperty.call(obj,key)};_.noConflict=function(){root._=previousUnderscore;return this};_.identity=function(value){return value};_.times=function(n,iterator,context){var accum=Array(n);for(var i=0;i":">",'"':""","'":"'","/":"/"}};entityMap.unescape=_.invert(entityMap.escape);var entityRegexes={escape:new RegExp("["+_.keys(entityMap.escape).join("")+"]","g"),unescape:new RegExp("("+_.keys(entityMap.unescape).join("|")+")","g")};_.each(["escape","unescape"],function(method){_[method]=function(string){if(string==null)return"";return(""+string).replace(entityRegexes[method],function(match){return entityMap[method][match]})}});_.result=function(object,property){if(object==null)return null;var value=object[property];return _.isFunction(value)?value.call(object):value};_.mixin=function(obj){each(_.functions(obj),function(name){var func=_[name]=obj[name];_.prototype[name]=function(){var args=[this._wrapped];push.apply(args,arguments);return result.call(this,func.apply(_,args))}})};var idCounter=0;_.uniqueId=function(prefix){var id=++idCounter+"";return prefix?prefix+id:id};_.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var noMatch=/(.)^/;var escapes={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"};var escaper=/\\|'|\r|\n|\t|\u2028|\u2029/g;_.template=function(text,data,settings){var render;settings=_.defaults({},settings,_.templateSettings);var matcher=new RegExp([(settings.escape||noMatch).source,(settings.interpolate||noMatch).source,(settings.evaluate||noMatch).source].join("|")+"|$","g");var index=0;var source="__p+='";text.replace(matcher,function(match,escape,interpolate,evaluate,offset){source+=text.slice(index,offset).replace(escaper,function(match){return"\\"+escapes[match]});if(escape){source+="'+\n((__t=("+escape+"))==null?'':_.escape(__t))+\n'"}if(interpolate){source+="'+\n((__t=("+interpolate+"))==null?'':__t)+\n'"}if(evaluate){source+="';\n"+evaluate+"\n__p+='"}index=offset+match.length;return match});source+="';\n";if(!settings.variable)source="with(obj||{}){\n"+source+"}\n";source="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+source+"return __p;\n";try{render=new Function(settings.variable||"obj","_",source)}catch(e){e.source=source;throw e}if(data)return render(data,_);var template=function(data){return render.call(this,data,_)};template.source="function("+(settings.variable||"obj")+"){\n"+source+"}";return template};_.chain=function(obj){return _(obj).chain()};var result=function(obj){return this._chain?_(obj).chain():obj};_.mixin(_);each(["pop","push","reverse","shift","sort","splice","unshift"],function(name){var method=ArrayProto[name];_.prototype[name]=function(){var obj=this._wrapped;method.apply(obj,arguments);if((name=="shift"||name=="splice")&&obj.length===0)delete obj[0];return result.call(this,obj)}});each(["concat","join","slice"],function(name){var method=ArrayProto[name];_.prototype[name]=function(){return result.call(this,method.apply(this._wrapped,arguments))}});_.extend(_.prototype,{chain:function(){this._chain=true;return this},value:function(){return this._wrapped}})}.call(this)},{}],23:[function(require,module,exports){var global=self;module.exports=function(){return global.WebSocket||global.MozWebSocket}},{}],24:[function(require,module,exports){if(typeof window!=="undefined"&&typeof window.requestAnimationFrame!=="function"){window.requestAnimationFrame=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(callback){setTimeout(callback,1e3/60)}}Leap=require("../lib/index")},{"../lib/index":10}]},{},[24]); \ No newline at end of file diff --git a/tools/hexgl/libs/postprocessing/BloomPass.js b/tools/hexgl/libs/postprocessing/BloomPass.js deleted file mode 100644 index 78abc05..0000000 --- a/tools/hexgl/libs/postprocessing/BloomPass.js +++ /dev/null @@ -1,100 +0,0 @@ -/** - * @author alteredq / http://alteredqualia.com/ - */ - -THREE.BloomPass = function ( strength, kernelSize, sigma, resolution ) { - - strength = ( strength !== undefined ) ? strength : 1; - kernelSize = ( kernelSize !== undefined ) ? kernelSize : 25; - sigma = ( sigma !== undefined ) ? sigma : 4.0; - resolution = ( resolution !== undefined ) ? resolution : 256; - - // render targets - - var pars = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBFormat }; - - this.renderTargetX = new THREE.WebGLRenderTarget( resolution, resolution, pars ); - this.renderTargetY = new THREE.WebGLRenderTarget( resolution, resolution, pars ); - - // screen material - - var screenShader = THREE.ShaderExtras[ "screen" ]; - - this.screenUniforms = THREE.UniformsUtils.clone( screenShader.uniforms ); - - this.screenUniforms[ "opacity" ].value = strength; - - this.materialScreen = new THREE.ShaderMaterial( { - - uniforms: this.screenUniforms, - vertexShader: screenShader.vertexShader, - fragmentShader: screenShader.fragmentShader, - blending: THREE.AdditiveBlending, - transparent: true - - } ); - - // convolution material - - var convolutionShader = THREE.ShaderExtras[ "convolution" ]; - - this.convolutionUniforms = THREE.UniformsUtils.clone( convolutionShader.uniforms ); - - this.convolutionUniforms[ "uImageIncrement" ].value = THREE.BloomPass.blurx; - this.convolutionUniforms[ "cKernel" ].value = THREE.ShaderExtras.buildKernel( sigma ); - - this.materialConvolution = new THREE.ShaderMaterial( { - - uniforms: this.convolutionUniforms, - vertexShader: "#define KERNEL_SIZE " + kernelSize + ".0\n" + convolutionShader.vertexShader, - fragmentShader: "#define KERNEL_SIZE " + kernelSize + "\n" + convolutionShader.fragmentShader - - } ); - - this.enabled = true; - this.needsSwap = false; - this.clear = false; - -}; - -THREE.BloomPass.prototype = { - - render: function ( renderer, writeBuffer, readBuffer, delta, maskActive ) { - - if ( maskActive ) renderer.context.disable( renderer.context.STENCIL_TEST ); - - // Render quad with blured scene into texture (convolution pass 1) - - THREE.EffectComposer.quad.material = this.materialConvolution; - - this.convolutionUniforms[ "tDiffuse" ].texture = readBuffer; - this.convolutionUniforms[ "uImageIncrement" ].value = THREE.BloomPass.blurX; - - renderer.render( THREE.EffectComposer.scene, THREE.EffectComposer.camera, this.renderTargetX, true ); - - - // Render quad with blured scene into texture (convolution pass 2) - - this.convolutionUniforms[ "tDiffuse" ].texture = this.renderTargetX; - this.convolutionUniforms[ "uImageIncrement" ].value = THREE.BloomPass.blurY; - - renderer.render( THREE.EffectComposer.scene, THREE.EffectComposer.camera, this.renderTargetY, true ); - - // Render original scene with superimposed blur to texture - - THREE.EffectComposer.quad.material = this.materialScreen; - - this.screenUniforms[ "tDiffuse" ].texture = this.renderTargetY; - - if ( maskActive ) renderer.context.enable( renderer.context.STENCIL_TEST ); - - renderer.render( THREE.EffectComposer.scene, THREE.EffectComposer.camera, readBuffer, this.clear ); - - } - -}; - -THREE.BloomPass.blurX = new THREE.Vector2( 0.001953125, 0.0 ); -THREE.BloomPass.blurY = new THREE.Vector2( 0.0, 0.001953125 ); - - diff --git a/tools/hexgl/libs/postprocessing/DotScreenPass.js b/tools/hexgl/libs/postprocessing/DotScreenPass.js deleted file mode 100644 index 0edcb8f..0000000 --- a/tools/hexgl/libs/postprocessing/DotScreenPass.js +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @author alteredq / http://alteredqualia.com/ - */ - -THREE.DotScreenPass = function ( center, angle, scale ) { - - var shader = THREE.ShaderExtras[ "dotscreen" ]; - - this.uniforms = THREE.UniformsUtils.clone( shader.uniforms ); - - if ( center !== undefined ) - this.uniforms[ "center" ].value.copy( center ); - - if ( angle !== undefined ) this.uniforms[ "angle"].value = angle; - if ( scale !== undefined ) this.uniforms[ "scale"].value = scale; - - this.material = new THREE.ShaderMaterial( { - - uniforms: this.uniforms, - vertexShader: shader.vertexShader, - fragmentShader: shader.fragmentShader - - } ); - - this.enabled = true; - this.renderToScreen = false; - this.needsSwap = true; - -}; - -THREE.DotScreenPass.prototype = { - - render: function ( renderer, writeBuffer, readBuffer, delta ) { - - this.uniforms[ "tDiffuse" ].texture = readBuffer; - this.uniforms[ "tSize" ].value.set( readBuffer.width, readBuffer.height ); - - THREE.EffectComposer.quad.material = this.material; - - if ( this.renderToScreen ) { - - renderer.render( THREE.EffectComposer.scene, THREE.EffectComposer.camera ); - - } else { - - renderer.render( THREE.EffectComposer.scene, THREE.EffectComposer.camera, writeBuffer, false ); - - } - - } - -}; diff --git a/tools/hexgl/libs/postprocessing/EffectComposer.js b/tools/hexgl/libs/postprocessing/EffectComposer.js deleted file mode 100644 index ef07dd1..0000000 --- a/tools/hexgl/libs/postprocessing/EffectComposer.js +++ /dev/null @@ -1,143 +0,0 @@ -/** - * @author alteredq / http://alteredqualia.com/ - */ - -THREE.EffectComposer = function ( renderer, renderTarget ) { - - this.renderer = renderer; - - this.renderTarget1 = renderTarget; - - if ( this.renderTarget1 === undefined ) { - - var width = window.innerWidth || 1; - var height = window.innerHeight || 1; - - this.renderTargetParameters = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBFormat, stencilBuffer: false }; - this.renderTarget1 = new THREE.WebGLRenderTarget( width, height, this.renderTargetParameters ); - - } - - this.renderTarget2 = this.renderTarget1.clone(); - - this.writeBuffer = this.renderTarget1; - this.readBuffer = this.renderTarget2; - - this.passes = []; - - this.copyPass = new THREE.ShaderPass( THREE.ShaderExtras[ "screen" ] ); - -}; - -THREE.EffectComposer.prototype = { - - swapBuffers: function() { - - var tmp = this.readBuffer; - this.readBuffer = this.writeBuffer; - this.writeBuffer = tmp; - - }, - - addPass: function ( pass ) { - - this.passes.push( pass ); - - }, - - render: function ( delta ) { - - this.writeBuffer = this.renderTarget1; - this.readBuffer = this.renderTarget2; - - var maskActive = false; - - var pass, i, il = this.passes.length; - - for ( i = 0; i < il; i ++ ) { - - pass = this.passes[ i ]; - - if ( !pass.enabled ) continue; - - pass.render( this.renderer, this.writeBuffer, this.readBuffer, delta, maskActive ); - - if ( pass.needsSwap ) { - - if ( maskActive ) { - - var context = this.renderer.context; - - context.stencilFunc( context.NOTEQUAL, 1, 0xffffffff ); - - this.copyPass.render( this.renderer, this.writeBuffer, this.readBuffer, delta ); - - context.stencilFunc( context.EQUAL, 1, 0xffffffff ); - - } - - this.swapBuffers(); - - } - - if ( pass instanceof THREE.MaskPass ) { - - maskActive = true; - - } else if ( pass instanceof THREE.ClearMaskPass ) { - - maskActive = false; - - } - - } - - }, - - reset: function ( renderTarget ) { - - this.renderTarget1 = renderTarget; - - if ( this.renderTarget1 === undefined ) { - - this.renderTarget1 = new THREE.WebGLRenderTarget( window.innerWidth, window.innerHeight, this.renderTargetParameters ); - - } - - this.renderTarget2 = this.renderTarget1.clone(); - - this.writeBuffer = this.renderTarget1; - this.readBuffer = this.renderTarget2; - - THREE.EffectComposer.quad.scale.set( window.innerWidth, window.innerHeight, 1 ); - - THREE.EffectComposer.camera.left = window.innerWidth / - 2; - THREE.EffectComposer.camera.right = window.innerWidth / 2; - THREE.EffectComposer.camera.top = window.innerHeight / 2; - THREE.EffectComposer.camera.bottom = window.innerHeight / - 2; - - THREE.EffectComposer.camera.updateProjectionMatrix(); - - } - -}; - -// shared ortho camera - -THREE.EffectComposer.initWidth = window.innerWidth || 1; -THREE.EffectComposer.initHeight = window.innerHeight || 1; - -THREE.EffectComposer.camera = new THREE.OrthographicCamera( THREE.EffectComposer.initWidth / - 2, THREE.EffectComposer.initWidth / 2, THREE.EffectComposer.initHeight / 2, THREE.EffectComposer.initHeight / - 2, -10000, 10000 ); - -// shared fullscreen quad scene - -THREE.EffectComposer.geometry = new THREE.PlaneGeometry( 1, 1 ); -THREE.EffectComposer.geometry.applyMatrix( new THREE.Matrix4().makeRotationX( Math.PI / 2 ) ); - -THREE.EffectComposer.quad = new THREE.Mesh( THREE.EffectComposer.geometry, null ); -THREE.EffectComposer.quad.position.z = -100; -THREE.EffectComposer.quad.scale.set( THREE.EffectComposer.initWidth, THREE.EffectComposer.initHeight, 1 ); - -THREE.EffectComposer.scene = new THREE.Scene(); -THREE.EffectComposer.scene.add( THREE.EffectComposer.quad ); -THREE.EffectComposer.scene.add( THREE.EffectComposer.camera ); diff --git a/tools/hexgl/libs/postprocessing/FilmPass.js b/tools/hexgl/libs/postprocessing/FilmPass.js deleted file mode 100644 index be6acb2..0000000 --- a/tools/hexgl/libs/postprocessing/FilmPass.js +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @author alteredq / http://alteredqualia.com/ - */ - -THREE.FilmPass = function ( noiseIntensity, scanlinesIntensity, scanlinesCount, grayscale ) { - - var shader = THREE.ShaderExtras[ "film" ]; - - this.uniforms = THREE.UniformsUtils.clone( shader.uniforms ); - - this.material = new THREE.ShaderMaterial( { - - uniforms: this.uniforms, - vertexShader: shader.vertexShader, - fragmentShader: shader.fragmentShader - - } ); - - if ( grayscale !== undefined ) this.uniforms.grayscale.value = grayscale; - if ( noiseIntensity !== undefined ) this.uniforms.nIntensity.value = noiseIntensity; - if ( scanlinesIntensity !== undefined ) this.uniforms.sIntensity.value = scanlinesIntensity; - if ( scanlinesCount !== undefined ) this.uniforms.sCount.value = scanlinesCount; - - this.enabled = true; - this.renderToScreen = false; - this.needsSwap = true; - -}; - -THREE.FilmPass.prototype = { - - render: function ( renderer, writeBuffer, readBuffer, delta ) { - - this.uniforms[ "tDiffuse" ].texture = readBuffer; - this.uniforms[ "time" ].value += delta; - - THREE.EffectComposer.quad.material = this.material; - - if ( this.renderToScreen ) { - - renderer.render( THREE.EffectComposer.scene, THREE.EffectComposer.camera ); - - } else { - - renderer.render( THREE.EffectComposer.scene, THREE.EffectComposer.camera, writeBuffer, false ); - - } - - } - -}; diff --git a/tools/hexgl/libs/postprocessing/MaskPass.js b/tools/hexgl/libs/postprocessing/MaskPass.js deleted file mode 100644 index 23238b0..0000000 --- a/tools/hexgl/libs/postprocessing/MaskPass.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * @author alteredq / http://alteredqualia.com/ - */ - -THREE.MaskPass = function ( scene, camera ) { - - this.scene = scene; - this.camera = camera; - - this.enabled = true; - this.clear = true; - this.needsSwap = false; - - this.inverse = false; - -}; - -THREE.MaskPass.prototype = { - - render: function ( renderer, writeBuffer, readBuffer, delta ) { - - var context = renderer.context; - - // don't update color or depth - - context.colorMask( false, false, false, false ); - context.depthMask( false ); - - // set up stencil - - var writeValue, clearValue; - - if ( this.inverse ) { - - writeValue = 0; - clearValue = 1; - - } else { - - writeValue = 1; - clearValue = 0; - - } - - context.enable( context.STENCIL_TEST ); - context.stencilOp( context.REPLACE, context.REPLACE, context.REPLACE ); - context.stencilFunc( context.ALWAYS, writeValue, 0xffffffff ); - context.clearStencil( clearValue ); - - // draw into the stencil buffer - - renderer.render( this.scene, this.camera, readBuffer, this.clear ); - renderer.render( this.scene, this.camera, writeBuffer, this.clear ); - - // re-enable update of color and depth - - context.colorMask( true, true, true, true ); - context.depthMask( true ); - - // only render where stencil is set to 1 - - context.stencilFunc( context.EQUAL, 1, 0xffffffff ); // draw if == 1 - context.stencilOp( context.KEEP, context.KEEP, context.KEEP ); - - } - -}; - - -THREE.ClearMaskPass = function () { - - this.enabled = true; - -}; - -THREE.ClearMaskPass.prototype = { - - render: function ( renderer, writeBuffer, readBuffer, delta ) { - - var context = renderer.context; - - context.disable( context.STENCIL_TEST ); - - } - -}; diff --git a/tools/hexgl/libs/postprocessing/RenderPass.js b/tools/hexgl/libs/postprocessing/RenderPass.js deleted file mode 100644 index c1596e5..0000000 --- a/tools/hexgl/libs/postprocessing/RenderPass.js +++ /dev/null @@ -1,63 +0,0 @@ -/** - * @author alteredq / http://alteredqualia.com/ - */ - -THREE.RenderPass = function ( scene, camera, overrideMaterial, clearColor, clearAlpha ) { - - this.scene = scene; - this.camera = camera; - - this.overrideMaterial = overrideMaterial; - - this.clearColor = clearColor; - this.clearAlpha = ( clearAlpha !== undefined ) ? clearAlpha : 1; - - this.oldClearColor = new THREE.Color(); - this.oldClearAlpha = 1; - - this.enabled = true; - this.clear = true; - this.needsSwap = false; - - this.prePass = null; - this.postPass = null; -}; - -THREE.RenderPass.prototype = { - - render: function ( renderer, writeBuffer, readBuffer, delta ) { - - if( this.prePass ) - { - this.prePass.call(this, renderer); - } - - this.scene.overrideMaterial = this.overrideMaterial; - - if ( this.clearColor ) { - - this.oldClearColor.copy( renderer.getClearColor() ); - this.oldClearAlpha = renderer.getClearAlpha(); - - renderer.setClearColor( this.clearColor, this.clearAlpha ); - - } - - renderer.render( this.scene, this.camera, readBuffer, this.clear ); - - if ( this.clearColor ) { - - renderer.setClearColor( this.oldClearColor, this.oldClearAlpha ); - - } - - this.scene.overrideMaterial = null; - - if( this.postPass ) - { - this.postPass.call(this, renderer); - } - - } - -}; diff --git a/tools/hexgl/libs/postprocessing/SavePass.js b/tools/hexgl/libs/postprocessing/SavePass.js deleted file mode 100644 index b604d14..0000000 --- a/tools/hexgl/libs/postprocessing/SavePass.js +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @author alteredq / http://alteredqualia.com/ - */ - -THREE.SavePass = function ( renderTarget ) { - - var shader = THREE.ShaderExtras[ "screen" ]; - - this.textureID = "tDiffuse"; - - this.uniforms = THREE.UniformsUtils.clone( shader.uniforms ); - - this.material = new THREE.ShaderMaterial( { - - uniforms: this.uniforms, - vertexShader: shader.vertexShader, - fragmentShader: shader.fragmentShader - - } ); - - this.renderTarget = renderTarget; - - if ( this.renderTarget === undefined ) { - - this.renderTargetParameters = { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBFormat, stencilBuffer: false }; - this.renderTarget = new THREE.WebGLRenderTarget( window.innerWidth, window.innerHeight, this.renderTargetParameters ); - - } - - this.enabled = true; - this.needsSwap = false; - this.clear = false; - -}; - -THREE.SavePass.prototype = { - - render: function ( renderer, writeBuffer, readBuffer, delta ) { - - if ( this.uniforms[ this.textureID ] ) { - - this.uniforms[ this.textureID ].texture = readBuffer; - - } - - THREE.EffectComposer.quad.material = this.material; - - renderer.render( THREE.EffectComposer.scene, THREE.EffectComposer.camera, this.renderTarget, this.clear ); - - } - -}; diff --git a/tools/hexgl/libs/postprocessing/ShaderPass.js b/tools/hexgl/libs/postprocessing/ShaderPass.js deleted file mode 100644 index 8817bf1..0000000 --- a/tools/hexgl/libs/postprocessing/ShaderPass.js +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @author alteredq / http://alteredqualia.com/ - */ - -THREE.ShaderPass = function ( shader, textureID ) { - - this.textureID = ( textureID !== undefined ) ? textureID : "tDiffuse"; - - this.uniforms = THREE.UniformsUtils.clone( shader.uniforms ); - - this.material = new THREE.ShaderMaterial( { - - uniforms: this.uniforms, - vertexShader: shader.vertexShader, - fragmentShader: shader.fragmentShader - - } ); - - this.renderToScreen = false; - - this.enabled = true; - this.needsSwap = true; - this.clear = false; - -}; - -THREE.ShaderPass.prototype = { - - render: function ( renderer, writeBuffer, readBuffer, delta ) { - - if ( this.uniforms[ this.textureID ] ) { - - this.uniforms[ this.textureID ].texture = readBuffer; - - } - - THREE.EffectComposer.quad.material = this.material; - - if ( this.renderToScreen ) { - - renderer.render( THREE.EffectComposer.scene, THREE.EffectComposer.camera ); - - } else { - - renderer.render( THREE.EffectComposer.scene, THREE.EffectComposer.camera, writeBuffer, this.clear ); - - } - - } - -}; diff --git a/tools/hexgl/libs/postprocessing/TexturePass.js b/tools/hexgl/libs/postprocessing/TexturePass.js deleted file mode 100644 index 6d104de..0000000 --- a/tools/hexgl/libs/postprocessing/TexturePass.js +++ /dev/null @@ -1,37 +0,0 @@ -/** - * @author alteredq / http://alteredqualia.com/ - */ - -THREE.TexturePass = function ( texture, opacity ) { - - var shader = THREE.ShaderExtras[ "screen" ]; - - this.uniforms = THREE.UniformsUtils.clone( shader.uniforms ); - - this.uniforms[ "opacity" ].value = ( opacity !== undefined ) ? opacity : 1.0; - this.uniforms[ "tDiffuse" ].texture = texture; - - this.material = new THREE.ShaderMaterial( { - - uniforms: this.uniforms, - vertexShader: shader.vertexShader, - fragmentShader: shader.fragmentShader - - } ); - - this.enabled = true; - this.needsSwap = false; - -}; - -THREE.TexturePass.prototype = { - - render: function ( renderer, writeBuffer, readBuffer, delta ) { - - THREE.EffectComposer.quad.material = this.material; - - renderer.render( THREE.EffectComposer.scene, THREE.EffectComposer.camera, readBuffer ); - - } - -}; diff --git a/tools/hexgl/manifest.webapp b/tools/hexgl/manifest.webapp deleted file mode 100644 index 7061d65..0000000 --- a/tools/hexgl/manifest.webapp +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "HexGL", - "description": "HexGL v1.0.1-ffos", - "launch_path": "/index-mobile.html", - "icons": { - "32": "/icon_32.png", - "64": "/icon_64.png", - "128": "/icon_128.png", - "256": "/icon_256.png" - }, - "developer": { - "name": "Thibaut Despoulain (BKcore)", - "url": "http://bkcore.com" - }, - "installs_allowed_from": ["*"], - "default_locale": "en", - "orientation": ["landscape"] -} diff --git a/tools/hexgl/package.webapp b/tools/hexgl/package.webapp deleted file mode 100644 index d68a48e..0000000 --- a/tools/hexgl/package.webapp +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "HexGL", - "description": "HexGL v1.0.1-ffos", - "package_path" : "package.zip", - "version": "1", - "developer": { - "name": "Thibaut Despoulain (BKcore)", - "url": "http://bkcore.com" - } -} \ No newline at end of file diff --git a/tools/hexgl/package.zip b/tools/hexgl/package.zip deleted file mode 100644 index 6f644d4..0000000 Binary files a/tools/hexgl/package.zip and /dev/null differ diff --git a/tools/hexgl/replays/cityscape-casual/bkcore.replay.json b/tools/hexgl/replays/cityscape-casual/bkcore.replay.json deleted file mode 100644 index 7adc5bb..0000000 --- a/tools/hexgl/replays/cityscape-casual/bkcore.replay.json +++ /dev/null @@ -1 +0,0 @@ -[[16,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[216,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[250,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[284,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[317,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[350,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[383,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[417,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[450,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[484,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[517,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[550,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[583,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[617,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[650,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[684,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[718,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[750,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[784,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[817,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[850,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[884,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[918,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[950,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[984,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1017,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1050,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1085,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1118,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1151,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1184,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1217,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1251,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1285,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1318,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1351,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1384,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1417,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1451,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1485,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1518,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1551,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1584,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1618,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1651,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1685,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1718,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1751,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1785,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1818,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1851,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1885,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1919,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1951,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[1985,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2018,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2052,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2085,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2119,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2151,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2185,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2218,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2251,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2286,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2319,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2352,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2385,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2418,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2451,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2485,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2519,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2552,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2585,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2618,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2652,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2686,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2719,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2752,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2785,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2818,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2852,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2886,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2919,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2953,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[2985,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3019,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3052,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3086,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3120,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3153,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3186,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3219,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3252,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3286,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3320,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3353,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3386,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3419,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3453,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3488,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3521,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3554,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3587,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3620,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3654,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3688,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3721,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3754,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3787,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3821,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3854,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3888,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3921,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3955,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[3987,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4021,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4054,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4088,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4121,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4155,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4187,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4221,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4254,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4288,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4322,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4355,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4388,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4421,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4454,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4488,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4522,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4555,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4588,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4621,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4654,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4689,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4722,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4755,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4788,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4821,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4854,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4889,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4922,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4955,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[4988,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5021,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5055,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5089,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5122,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5156,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5188,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5222,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5255,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5289,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5322,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5356,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5388,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5422,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5455,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5489,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5523,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5556,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5589,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5622,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5655,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5689,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5723,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5756,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5789,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5822,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5856,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5890,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5923,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5956,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[5989,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6022,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6056,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6090,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6123,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6156,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6189,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6223,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6257,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6289,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6323,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6357,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6389,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6423,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6456,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6489,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6523,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6557,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6589,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6623,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6656,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6689,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6724,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6757,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6790,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6823,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6856,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6890,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6924,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6957,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[6990,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7023,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7056,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7090,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7124,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7157,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7190,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7223,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7257,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7290,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7324,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7357,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7390,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7423,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7457,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7490,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7524,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7558,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7590,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7624,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7657,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7690,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7724,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7758,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7790,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7824,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7857,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7890,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7925,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7958,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[7991,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8024,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8057,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8091,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8125,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8158,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8191,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8224,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8257,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8291,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8325,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8358,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8391,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8424,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8458,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8491,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8525,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8558,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8591,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8624,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8658,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8691,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8725,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8759,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8791,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8825,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8858,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8891,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8925,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8959,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[8991,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9025,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9058,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9091,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9126,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9159,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9192,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9225,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9258,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9292,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9326,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9359,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9392,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9425,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9459,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9492,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9526,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9559,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9592,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9625,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9659,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9692,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9726,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9759,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9792,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9825,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9859,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9892,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9925,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9959,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[9992,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10026,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10059,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10092,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10126,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10160,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10192,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10226,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10259,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10292,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10327,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10360,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10393,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10426,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10459,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10493,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10527,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10560,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10594,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10626,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10659,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10693,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10727,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10760,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10794,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10826,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10860,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10893,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10927,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10960,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[10994,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11026,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11060,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11093,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11127,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11161,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11194,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11227,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11260,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11293,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11327,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11361,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11394,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11427,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11460,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11493,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11528,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11561,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11594,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11627,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11660,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11694,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11728,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11761,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11794,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11827,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11860,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11894,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11928,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11961,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[11995,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12027,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12060,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12094,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12128,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12161,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12195,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12227,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12261,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12294,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12328,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12361,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12395,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12427,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12460,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12494,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12528,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12563,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12596,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12629,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12661,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12694,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12729,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12762,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12795,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12828,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12862,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12895,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12929,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12962,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[12996,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13028,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13062,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13095,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13129,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13162,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13196,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13229,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13261,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13295,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13329,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13363,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13396,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13429,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13462,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13495,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13529,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13563,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13596,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13629,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13662,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13695,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13729,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13763,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13796,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13829,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13862,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13896,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13929,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13963,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[13996,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14029,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14063,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14096,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14129,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14164,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14197,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14229,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14263,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14296,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14329,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14363,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14397,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14429,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14463,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14496,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14529,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14563,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14597,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14630,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14663,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14696,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14730,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14764,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14797,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14830,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14863,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14896,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14930,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14964,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[14997,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15030,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15063,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15097,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15130,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15164,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15198,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15230,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15264,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15297,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15330,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15364,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15398,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15430,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15464,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15497,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15530,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15564,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15598,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15630,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15664,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15697,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15731,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15765,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15798,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15831,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15864,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15897,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15931,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15965,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[15997,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16030,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16064,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16097,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16131,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16165,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16198,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16231,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16264,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16298,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16331,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16365,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16399,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16431,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16464,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16498,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16531,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16565,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16599,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16631,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16665,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16698,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16731,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16765,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16799,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16831,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16865,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16898,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16932,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16966,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[16999,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17031,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17065,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17098,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17132,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17165,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17199,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17232,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17265,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17298,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17332,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17366,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17399,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17433,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17466,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17499,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17533,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17567,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17600,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17633,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17665,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17698,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17732,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17766,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17799,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17833,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17865,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17899,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17932,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[17966,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18000,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18033,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18066,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18099,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18132,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18166,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18200,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18233,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18266,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18299,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18332,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18367,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18400,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18433,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18466,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18499,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18533,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18567,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18600,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18634,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18666,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18699,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18733,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18767,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18800,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18834,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18866,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18900,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18933,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[18967,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19000,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19033,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19066,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19100,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19133,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19167,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19201,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19234,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19267,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19300,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19333,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19367,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19401,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19434,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19467,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19500,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19533,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19568,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19601,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19634,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19667,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19700,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19734,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19768,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19801,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19834,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19867,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19900,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19934,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[19968,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20001,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20035,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20067,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20100,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20134,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20168,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20201,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20235,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20267,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20301,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20334,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20368,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20402,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20435,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20467,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20501,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20534,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20568,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20602,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20635,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20668,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20701,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20734,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20769,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20802,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20835,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20868,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20901,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20936,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[20970,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21003,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21036,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21069,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21102,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21136,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21170,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21203,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21237,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21269,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21302,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21336,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21370,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21403,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21437,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21469,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21503,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21536,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21569,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21603,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21637,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21669,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21703,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21736,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21769,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21804,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21837,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21870,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21903,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21936,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[21970,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22004,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22037,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22070,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22103,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22136,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22169,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22203,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22237,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22270,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22303,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22337,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22370,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22404,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22438,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22470,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22504,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22537,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22570,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22604,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22638,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22670,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22704,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22737,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22770,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22805,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22838,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22870,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22904,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22937,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[22971,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23005,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23038,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23071,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23104,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23137,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23171,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23205,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23238,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23271,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23304,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23338,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23371,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23405,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23438,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23471,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23504,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23538,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23571,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23605,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23639,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23671,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23704,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23738,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23771,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23805,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23839,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23871,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23905,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23938,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[23971,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24006,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24039,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24071,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24105,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24138,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24172,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24206,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24239,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24272,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24305,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24338,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24372,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24406,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24439,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24472,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24505,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24539,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24572,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24606,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24639,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24672,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24705,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24739,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24772,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24806,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24840,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24872,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24906,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24939,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[24972,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25006,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25040,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25072,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25106,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25139,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25172,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25206,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25240,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25272,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25306,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25339,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25373,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25407,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25440,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25473,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25506,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25539,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25573,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25607,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25640,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25674,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25706,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25740,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25773,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25807,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25840,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25874,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25906,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25940,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[25973,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26007,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26041,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26074,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26107,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26139,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26173,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26207,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26240,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26274,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26306,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26340,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26373,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26408,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26441,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26474,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26507,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26540,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26573,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26608,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26641,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26674,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26707,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26740,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26774,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26808,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26841,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26875,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26907,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26941,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[26974,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27008,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27041,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27075,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27107,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27141,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27174,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27208,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27242,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27275,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27307,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27341,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27374,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27408,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27442,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27475,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27508,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27541,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27574,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27608,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27642,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27675,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27708,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27741,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27774,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27809,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27842,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27875,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27908,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27942,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[27975,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28009,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28042,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28076,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28108,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28142,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28175,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28209,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28242,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28276,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28308,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28342,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28375,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28409,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28443,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28476,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28508,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28542,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28575,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28609,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28643,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28676,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28709,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28742,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28775,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28809,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28843,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28876,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28909,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28942,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[28976,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29010,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29043,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29076,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29109,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29142,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29175,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29209,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29243,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29277,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29309,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29343,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29376,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29410,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29443,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29477,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29509,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29543,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29576,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29609,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29644,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29677,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29710,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29743,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29776,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29809,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29843,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29876,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29910,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29943,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[29976,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30010,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30044,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30077,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30110,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30143,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30177,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30209,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30244,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30277,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30310,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30343,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30376,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30410,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30444,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30478,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30510,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30543,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30577,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30610,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30644,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30678,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30710,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30744,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30777,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30810,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30844,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30878,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30911,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30944,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[30977,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31010,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31045,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31078,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31111,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31144,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31178,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31211,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31245,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31278,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31311,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31344,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31378,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31411,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31445,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31478,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31511,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31544,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31578,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31611,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31645,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31679,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31711,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31744,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31778,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31811,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31845,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31879,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31911,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31945,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[31978,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32011,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32046,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32079,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32111,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32145,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32178,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32211,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32246,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32279,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32312,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32345,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32378,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32412,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32446,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32479,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32513,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32545,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32578,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32611,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32645,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32678,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32712,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32745,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32779,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32812,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32846,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32879,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32913,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32945,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[32979,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33012,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33046,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33080,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33113,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33146,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33179,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33212,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33246,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33280,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33313,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33346,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33379,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33412,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33447,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33480,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33513,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33546,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33579,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33613,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33647,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33680,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33714,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33746,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33779,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33813,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33847,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33880,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33914,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33946,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[33980,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34013,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34047,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34080,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34114,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34146,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34180,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34213,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34247,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34281,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34314,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34347,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34380,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34413,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34448,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34481,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34514,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34547,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34580,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34613,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34648,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34681,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34714,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34747,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34780,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34814,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34848,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34881,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34915,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34947,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[34980,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35014,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35048,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35081,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35115,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35147,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35181,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35214,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35248,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35282,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35315,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35347,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35381,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35414,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35448,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35482,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35515,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35548,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35581,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35614,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35648,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35682,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35715,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35748,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35781,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35814,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35849,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35882,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35915,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35948,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[35981,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36015,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36049,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36082,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36116,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36148,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36182,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36215,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36249,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36282,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36316,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36348,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36382,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36415,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36448,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36482,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36516,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36548,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36582,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36615,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36648,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36683,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36716,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36749,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36782,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36815,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36849,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36883,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36916,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36949,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[36982,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37015,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37049,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37083,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37116,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37149,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37182,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37216,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37249,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37283,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37317,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37349,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37382,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37416,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37449,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37483,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37517,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37549,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37583,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37616,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37649,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37683,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37717,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37749,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37783,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37816,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37849,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37884,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37917,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37950,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[37983,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38016,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38050,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38084,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38117,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38150,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38183,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38216,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38250,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38284,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38317,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38350,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38383,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38418,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38451,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38485,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38519,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38551,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38584,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38618,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38651,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38685,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38719,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38751,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38785,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38818,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38852,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38885,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38919,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38951,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[38984,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39018,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39052,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39086,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39119,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39152,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39185,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39218,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39252,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39286,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39319,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39352,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39385,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39418,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39452,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39486,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39519,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39552,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39585,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39619,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39652,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39686,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39719,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39752,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39785,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39819,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39852,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39886,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39920,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39952,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[39986,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40018,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40052,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40086,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40120,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40152,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40186,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40219,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40253,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40287,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40320,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40353,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40386,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40419,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40453,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40487,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40520,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40553,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40586,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40619,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40653,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40687,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40720,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40754,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40786,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40820,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40853,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40887,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40920,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40954,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[40986,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41020,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41053,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41087,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41121,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41154,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41187,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41220,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41253,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41288,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41321,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41354,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41387,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41420,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41454,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41488,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41521,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41554,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41587,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41620,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41654,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41688,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41721,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41754,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41787,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41820,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41854,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41888,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41921,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41955,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[41987,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42021,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42054,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42087,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42121,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42155,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42187,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42220,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42254,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42287,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42321,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42354,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42387,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42421,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42454,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42488,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42522,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42555,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42588,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42621,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42654,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42688,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42722,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42755,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42788,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42821,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42855,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42889,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42922,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42955,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[42988,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43021,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43055,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43089,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43122,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43156,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43188,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43222,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43255,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43289,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43322,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43356,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43388,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43422,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43455,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43489,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43523,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43556,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43589,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43622,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43655,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43689,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43723,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43756,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43789,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43822,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43855,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43890,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43923,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43956,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[43989,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44022,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44056,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44090,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44123,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44157,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44189,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44222,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44256,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44290,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44323,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44357,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44389,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44423,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44456,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44489,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44523,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44557,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44589,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44623,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44656,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44689,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44724,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44757,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44790,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44823,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44856,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44890,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44924,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44957,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[44990,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45023,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45056,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45090,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45124,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45157,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45190,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45223,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45257,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45290,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45324,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45358,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45390,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45423,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45457,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45490,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45524,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45558,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45590,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45624,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45657,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45690,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45724,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45758,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45790,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45824,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45857,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45890,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45925,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45958,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[45992,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46025,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46058,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46092,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46126,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46158,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46191,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46225,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46259,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46292,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46326,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46359,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46391,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46425,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46459,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46492,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46526,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46559,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46592,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46625,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46659,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46692,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46726,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46760,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46792,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46826,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46859,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46892,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46926,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46960,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[46992,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47026,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47059,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47092,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47127,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47160,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47193,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47226,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47259,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47293,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47327,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47360,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47393,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47426,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47459,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47493,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47527,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47560,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47593,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47626,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47660,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47693,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47727,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47760,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47793,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47826,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47860,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47893,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47927,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47961,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[47993,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48027,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48060,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48093,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48127,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48161,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48193,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48227,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48260,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48293,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48328,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48361,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48394,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48427,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48460,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48494,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48528,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48561,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48594,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48627,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48660,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48694,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48728,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48761,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48795,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48827,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48861,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48894,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48928,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48961,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[48995,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49027,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49061,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49094,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49128,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49162,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49195,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49228,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49261,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49294,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49328,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49362,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49395,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49427,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49461,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49494,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49529,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49562,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49595,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49628,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49661,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49695,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49729,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49762,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49795,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49828,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49861,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49895,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49929,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49962,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[49996,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50028,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50062,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50095,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50129,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50162,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50196,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50228,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50262,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50295,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50329,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50363,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50396,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50429,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50461,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50495,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50529,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50563,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50596,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50629,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50662,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50695,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50730,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50763,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50796,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50829,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50862,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50896,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50930,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50963,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[50996,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51029,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51062,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51096,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51130,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51163,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51197,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51229,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51263,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51296,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51329,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51363,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51397,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51429,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51463,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51496,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51529,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51564,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51597,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51630,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51663,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51696,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51730,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51764,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51797,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51830,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51863,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51896,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51930,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51964,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[51997,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52030,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52063,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52097,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52130,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52164,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52197,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52230,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52263,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52297,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52330,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52363,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52398,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52430,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52464,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52497,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52530,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52564,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52598,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52630,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52664,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52697,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52731,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52765,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52798,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52831,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52864,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52897,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52931,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52965,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[52998,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53031,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53064,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53097,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53131,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53165,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53198,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53231,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53264,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53298,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53331,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53365,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53398,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53431,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53464,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53498,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53531,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53565,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53599,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53631,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53665,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53698,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53731,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53765,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53799,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53831,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53865,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53898,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53931,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53966,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[53999,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54032,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54065,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54098,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54132,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54166,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54199,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54232,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54265,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54298,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54332,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54366,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54399,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54432,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54465,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54498,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54532,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54566,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54599,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54632,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54665,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54699,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54732,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54766,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54800,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54832,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54866,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54899,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54932,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[54966,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55000,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55032,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55066,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55099,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55132,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55167,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55200,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55233,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55266,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55299,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55333,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55367,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55400,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55433,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55466,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55500,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55532,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55567,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55600,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55633,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55666,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55699,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55733,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55767,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55800,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55834,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55866,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55901,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55934,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[55968,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56002,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56035,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56068,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56101,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56134,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56168,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56202,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56235,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56268,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56301,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56334,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56369,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56402,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56435,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56468,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56501,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56535,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56569,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56602,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56635,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56668,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56701,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56735,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56769,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56802,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56836,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56868,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56902,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56935,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[56969,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57002,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57036,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57068,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57102,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57135,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57169,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57203,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57236,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57269,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57302,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57335,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57369,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57403,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57436,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57469,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57502,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57536,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57570,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57603,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57636,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57669,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57702,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57736,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57770,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57803,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57836,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57869,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57902,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57936,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[57970,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58003,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58037,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58069,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58103,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58136,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58170,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58203,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58237,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58269,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58303,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58336,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58370,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58404,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58437,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58469,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58503,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58536,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58570,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58604,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58637,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58670,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58703,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58736,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58771,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58804,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58837,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58870,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58903,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58937,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[58971,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59004,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59037,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59070,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59103,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59137,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59171,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59204,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59238,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59270,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59304,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59337,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59370,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59404,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59438,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59470,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59504,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59537,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59571,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59605,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59638,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59671,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59704,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59737,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59771,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59805,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59838,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59871,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59904,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59938,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[59971,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60005,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60038,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60071,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60104,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60138,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60171,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60205,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60238,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60271,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60304,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60338,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60371,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60405,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60439,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60471,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60505,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60538,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60571,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60605,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60639,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60671,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60705,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60738,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60771,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60806,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60839,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60872,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60905,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60938,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[60972,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61006,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61039,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61072,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61105,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61138,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61172,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61206,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61239,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61272,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61305,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61339,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61372,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61406,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61439,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61472,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61505,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61539,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61572,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61606,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61639,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61672,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61706,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61739,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61772,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61806,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61840,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61872,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61906,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61939,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[61973,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62007,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62040,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62072,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62106,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62139,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62173,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62207,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62240,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62273,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62306,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62339,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62373,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62407,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62439,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62473,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62506,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62540,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62573,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62607,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62640,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62673,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62706,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62740,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62773,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62807,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62841,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62873,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62907,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62940,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[62973,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63007,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63041,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63073,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63107,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63140,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63173,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63208,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63241,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63273,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63307,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63340,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63374,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63408,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63441,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63474,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63507,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63540,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63574,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63608,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63641,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63675,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63707,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63741,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63774,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63808,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63841,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63875,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63907,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63941,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[63974,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64008,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64042,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64075,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64107,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64141,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64174,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64210,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64242,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64275,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64308,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64341,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64374,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64408,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64442,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64475,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64508,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64541,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64575,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64609,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64641,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64675,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64708,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64741,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64775,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64809,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64842,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64876,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64908,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64942,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[64975,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65009,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65042,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65076,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65108,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65142,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65175,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65209,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65243,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65276,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65308,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65342,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65375,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65409,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65443,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65476,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65509,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65542,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65575,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65610,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65643,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65675,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65709,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65742,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65776,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65810,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65843,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65876,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65909,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65942,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[65976,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66010,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66043,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66077,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66109,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66143,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66176,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66209,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66243,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66277,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66309,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66343,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66376,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66409,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66444,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66477,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66509,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66543,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66576,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66610,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66643,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66677,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66710,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66743,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66776,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66810,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66844,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66877,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66910,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66943,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[66977,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67010,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67044,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67077,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67110,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67143,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67177,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67210,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67244,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67278,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67310,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67343,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67377,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67410,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67444,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67478,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67510,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67544,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67577,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67610,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67645,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67678,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67710,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67744,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67777,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67811,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67845,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67878,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67911,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67944,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[67977,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68011,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68045,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68078,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68111,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68144,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68178,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68211,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68245,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68278,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68311,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68344,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68378,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68411,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68445,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68479,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68511,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68544,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68578,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68611,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68645,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68678,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68711,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68745,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68778,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68811,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68845,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68879,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68911,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68945,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[68978,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69012,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69046,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69079,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69112,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69145,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69178,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69212,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69246,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69279,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69312,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69345,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69379,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69412,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69446,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69479,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69512,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69545,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69579,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69612,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69646,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69680,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69712,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69745,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69779,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69812,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69846,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69880,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69912,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69946,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[69979,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70012,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70046,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70080,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70112,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70146,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70179,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70213,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70247,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70280,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70313,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70346,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70379,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70413,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70447,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70480,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70514,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70546,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70580,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70613,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70647,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70680,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70714,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70746,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70780,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70813,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70847,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70881,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70914,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70946,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[70980,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71013,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71047,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71081,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71114,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71147,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71180,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71213,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71248,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71281,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71314,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71347,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71380,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71414,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71448,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71481,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71514,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71547,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71580,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71614,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71648,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71681,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71715,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71747,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71780,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71814,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71848,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71881,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71915,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71947,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[71981,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72014,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72048,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72081,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72115,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72148,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72181,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72214,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72248,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72282,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72315,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72348,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72381,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72414,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72449,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72482,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72514,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72548,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72581,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72614,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72649,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72682,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72715,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72748,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72781,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72815,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72849,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72882,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72915,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72948,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[72982,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73015,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73049,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73082,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73116,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73148,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73182,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73215,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73249,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73283,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73316,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73348,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73383,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73416,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73450,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73484,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73517,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73550,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73583,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73616,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73650,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73684,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73717,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73750,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73783,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73817,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73851,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73884,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73917,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73950,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[73983,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74017,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74051,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74084,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74118,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74150,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74183,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74217,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74251,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74284,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74318,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74350,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74384,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74417,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74450,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74484,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74518,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74550,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74584,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74617,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74651,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74685,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74717,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74750,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74784,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74817,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74851,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74885,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74918,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74951,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[74984,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75017,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75051,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75085,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75118,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75151,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75184,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75218,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75251,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75285,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75319,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75351,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75384,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75418,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75451,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75485,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75519,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75551,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75585,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75618,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75651,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75686,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75719,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75751,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75785,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75818,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75852,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75886,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75919,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75952,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[75985,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76018,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76052,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76086,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76119,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76152,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76185,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76218,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76252,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76286,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76319,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76352,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76385,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76419,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76452,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76486,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76520,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76552,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76585,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76619,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76652,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76686,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76720,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76752,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76785,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76819,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76852,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76886,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76920,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76952,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[76986,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77019,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77053,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77087,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77120,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77153,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77186,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77219,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77253,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77287,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77320,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77353,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77386,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77419,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77453,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77487,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77520,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77553,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77586,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77620,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77653,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77687,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77720,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77753,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77786,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77820,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77853,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77887,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77921,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77953,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[77987,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78020,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78053,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78087,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78121,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78153,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78187,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78220,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78254,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78288,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78321,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78354,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78387,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78420,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78454,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78488,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78521,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78555,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78587,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78620,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78654,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78688,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78721,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78754,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78787,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78820,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78854,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78888,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78921,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78955,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[78987,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79021,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79054,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79088,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79122,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79157,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79188,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79221,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79254,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79288,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79322,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79355,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79388,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79421,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79455,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79489,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79522,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79555,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79588,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79621,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79655,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79689,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79722,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79756,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79788,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79821,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79855,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79889,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79922,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79956,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[79988,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80022,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80055,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80089,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80123,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80156,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80188,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80222,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80255,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80289,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80323,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80356,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80389,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80422,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80455,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80489,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80523,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80556,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80589,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80622,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80656,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80690,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80723,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80756,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80789,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80822,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80856,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80890,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80923,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80957,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[80989,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81022,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81056,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81090,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81123,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81156,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81189,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81223,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81256,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81290,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81323,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81357,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81389,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81423,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81456,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81490,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81524,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81557,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81590,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81623,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81656,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81690,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81724,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81757,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81790,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81823,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81857,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81891,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81924,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81957,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[81990,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82023,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82057,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82091,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82124,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82158,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82190,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82223,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82257,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82291,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82324,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82358,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82390,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82424,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82457,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82490,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82525,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82557,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82590,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82624,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82657,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82690,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82725,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82758,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82791,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82824,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82857,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82891,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82925,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82958,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[82991,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83024,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83057,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83091,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83125,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83158,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83191,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83224,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83258,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83291,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83325,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83359,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83391,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83424,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83458,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83491,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83525,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83559,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83591,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83625,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83658,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83691,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83725,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83759,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83791,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83825,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83858,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83891,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83926,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83959,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[83992,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84025,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84058,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84092,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84126,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84159,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84192,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84225,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84258,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84292,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84326,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84359,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84392,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84425,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84459,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84492,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84526,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84559,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84592,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84625,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84659,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84692,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84726,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84760,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84792,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84826,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84859,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84892,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84926,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84960,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[84992,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85026,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85059,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85092,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85127,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85160,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85193,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85226,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85259,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85293,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85327,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85360,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85394,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85426,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85459,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85493,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85527,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85560,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85594,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85626,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85660,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85693,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85727,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85760,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85794,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85826,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85860,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85893,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85927,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85961,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[85994,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86027,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86060,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86093,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86127,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86161,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86194,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86227,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86260,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86293,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86328,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86361,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86394,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86427,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86460,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86494,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86528,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86561,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86594,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86627,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86660,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86694,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86728,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86761,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86795,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86827,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86861,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86894,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86928,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86961,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[86995,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87027,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87061,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87094,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87128,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87162,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87195,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87228,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87261,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87294,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87328,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87362,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87395,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87428,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87461,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87494,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87529,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87562,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87595,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87628,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87661,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87695,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87729,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87762,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87795,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87828,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87861,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87895,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87929,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87962,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[87996,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88028,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88062,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88095,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88129,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88162,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88196,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88228,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88262,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88295,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88329,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88363,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88396,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88429,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88462,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88495,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88529,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88563,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88596,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88629,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88662,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88695,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88730,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88795,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88812,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88846,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88880,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88912,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88946,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[88979,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89012,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89046,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89080,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89112,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89146,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89179,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89213,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89247,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89280,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89313,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89346,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89379,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89413,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89447,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89480,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89514,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89546,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89580,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89613,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89647,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89680,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89714,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89746,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89780,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89813,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89847,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89881,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89914,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89946,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[89980,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90013,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90047,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90081,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90114,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90147,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90180,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90213,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90248,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90281,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90314,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90347,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90380,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90414,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90448,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90481,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90514,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90547,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90580,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90614,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90648,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90681,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90715,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90747,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90781,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90814,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90848,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90882,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90916,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90948,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[90982,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91015,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91049,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91083,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91116,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91148,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91182,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91215,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91249,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91283,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91316,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91349,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91382,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91415,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91450,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91483,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91516,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91549,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91582,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91616,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91650,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91683,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91716,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91749,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91782,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91816,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91850,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91883,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91917,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91949,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[91983,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92016,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92050,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92083,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92117,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92149,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92183,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92216,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92250,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92284,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92317,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92349,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92383,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92416,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92450,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92484,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92517,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92549,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92583,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92616,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92650,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92683,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92716,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92750,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92783,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92817,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92851,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92884,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92917,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92950,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[92983,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93017,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93051,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93084,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93118,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93150,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93184,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93217,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93251,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93284,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93318,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93350,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93384,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93417,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93450,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93485,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93518,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93550,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93584,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93617,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93651,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93685,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93718,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93751,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93784,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93817,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93851,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93885,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93918,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93951,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[93984,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94018,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94051,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94085,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94118,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94151,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94184,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94218,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94251,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94285,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94319,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94351,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94385,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94418,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94451,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94485,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94519,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94551,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94585,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94618,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94651,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94685,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94719,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94751,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94785,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94818,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94852,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94886,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94919,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94952,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[94985,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95018,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95052,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95086,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95119,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95152,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95185,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95218,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95252,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95286,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95319,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95352,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95385,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95419,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95452,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95486,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95520,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95552,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95585,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95619,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95652,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95686,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95720,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95752,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95786,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95819,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95852,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95886,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95920,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95952,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[95986,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96019,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96053,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96086,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96120,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96153,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96186,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96219,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96253,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96287,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96320,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96353,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96386,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96419,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96453,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96487,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96520,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96553,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96586,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96620,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96653,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96687,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96721,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96753,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96786,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96820,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96853,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96887,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96921,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96953,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[96987,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97020,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97053,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97087,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97121,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97153,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97187,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97220,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97254,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97288,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97321,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97354,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97387,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97420,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97454,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97488,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97521,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97555,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97587,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97620,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97654,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97688,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97721,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97755,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97787,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97821,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97854,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97888,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97922,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97955,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[97988,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98021,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98054,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98088,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98122,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98155,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98188,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98221,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98254,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98288,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98322,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98355,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98388,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98421,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98455,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98489,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98522,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98555,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98588,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98621,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98655,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98689,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98722,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98756,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98788,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98821,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98855,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98889,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98922,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98956,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[98988,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99022,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99055,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99089,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99123,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99156,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99188,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99222,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99255,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99289,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99323,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99356,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99389,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99422,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99455,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99489,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99523,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99556,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99589,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99622,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99656,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99690,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99723,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99756,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99789,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99822,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99856,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99890,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99923,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99957,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[99989,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100023,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100056,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100090,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100123,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100157,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100189,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100223,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100256,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100290,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100324,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100357,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100389,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100423,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100456,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100490,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100524,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100557,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100590,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100623,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100656,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100690,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100724,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100757,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100790,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100823,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100857,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100891,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100924,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100957,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[100990,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101024,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101057,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101090,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101124,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101158,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101190,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101223,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101257,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101290,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101324,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101358,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101390,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101424,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101457,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101490,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101524,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101558,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101590,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101624,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101657,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101690,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101725,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101758,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101791,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101824,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101858,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101891,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101925,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101958,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[101991,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102024,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102057,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102090,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102124,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102158,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102191,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102224,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102258,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102291,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102325,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102359,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102391,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102424,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102458,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102491,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102525,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102559,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102591,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102625,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102658,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102691,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102725,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102759,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102791,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102825,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102858,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102891,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102926,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102959,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[102992,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103025,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103058,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103092,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103126,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103159,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103192,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103225,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103259,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103292,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103326,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103359,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103392,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103425,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103459,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103492,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103526,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103559,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103592,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103625,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103659,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103692,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103726,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103760,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103792,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103826,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103859,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103892,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103926,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103960,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[103992,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104026,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104059,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104093,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104127,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104160,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104193,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104226,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104259,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104293,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104327,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104360,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104394,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104426,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104459,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104493,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104527,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104560,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104594,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104626,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104660,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104693,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104727,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104760,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104794,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104826,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104860,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104893,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104927,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104961,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[104994,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105027,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105060,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105094,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105127,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105161,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105194,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105227,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105260,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105293,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105328,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105361,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105394,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105427,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105460,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105494,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105528,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105561,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105595,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105627,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105661,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105694,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105728,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105761,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105795,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105827,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105861,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105894,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105928,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105962,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[105995,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106027,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106061,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106094,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106128,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106162,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106195,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106228,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106261,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106294,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106329,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106362,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106395,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106428,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106461,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106494,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106529,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106562,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106595,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106628,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106661,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106695,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106729,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106762,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106795,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106828,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106861,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106895,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106929,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106962,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[106996,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107028,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107062,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107095,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107129,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107162,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107196,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107228,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107262,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107295,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107329,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107363,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107396,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107429,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107462,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107495,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107529,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107563,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107596,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107629,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107662,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107695,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107730,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107763,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107796,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107829,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107862,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107896,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107930,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107963,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[107996,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108029,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108062,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108096,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108130,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108163,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108197,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108229,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108263,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108296,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108329,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108364,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108398,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108430,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108464,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108497,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108531,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108565,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108598,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108631,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108664,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108697,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108731,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108765,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108798,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108831,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108864,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108897,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108931,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108965,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[108998,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109031,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109064,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109098,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109131,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109165,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109199,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109231,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109264,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109298,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109331,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109365,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109399,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109431,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109465,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109498,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109531,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109565,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109599,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109631,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109665,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109698,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109732,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109766,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109799,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109832,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109865,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109898,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109932,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109966,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[109999,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110032,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110065,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110099,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110132,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110166,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110199,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110232,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110265,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110298,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110332,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110366,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110399,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110432,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110465,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110499,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110532,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110566,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110600,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110632,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110666,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110699,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110732,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110766,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110800,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110832,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110866,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110899,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110933,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[110967,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111000,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111033,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111066,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111099,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111133,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111167,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111200,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111233,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111266,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111299,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111333,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111367,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111400,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111433,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111466,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111500,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111533,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111567,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111600,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111633,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111666,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111700,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111733,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111767,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111801,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111833,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111867,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111900,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111933,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[111967,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112001,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112034,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112067,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112100,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112133,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112168,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112201,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112234,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112267,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112300,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112334,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112368,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112401,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112435,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112467,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112500,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112534,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112568,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112601,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112635,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112667,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112701,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112734,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112767,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112801,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112835,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112867,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112901,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112934,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[112968,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113002,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113035,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113068,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113101,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113134,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113169,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113202,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113235,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113268,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113301,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113334,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113369,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113402,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113435,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113468,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113501,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113535,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113569,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113602,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113635,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113668,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113701,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113735,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113769,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113802,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113836,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113868,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113902,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113935,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[113969,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114002,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114036,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114068,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114102,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114135,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114169,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114203,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114236,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114269,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114302,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114335,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114369,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114403,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114436,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114469,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114502,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114535,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114570,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114603,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114636,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114669,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114702,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114736,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114770,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114803,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114836,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114869,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114902,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114936,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[114970,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115003,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115037,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115069,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115103,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115136,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115170,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115203,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115237,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115269,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115303,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115336,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115370,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115404,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115437,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115470,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115503,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115536,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115570,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115604,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115637,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115670,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115703,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115736,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115771,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115804,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115837,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115870,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115903,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115937,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[115971,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116004,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116037,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116070,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116103,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116137,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116171,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116204,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116238,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116270,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116304,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116337,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116370,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116404,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116438,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116470,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116504,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116537,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116570,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116605,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116638,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116671,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116704,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116737,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116771,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116805,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116838,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116871,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116904,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116937,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[116971,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117005,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117038,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117071,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117104,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117138,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117171,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117205,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117238,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117271,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117304,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117338,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117371,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117405,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117439,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117471,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117505,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117538,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117571,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117605,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117639,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117671,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117705,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117738,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117771,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117806,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117839,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117871,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117905,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117938,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[117972,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118006,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118039,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118072,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118105,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118138,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118172,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118206,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118239,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118272,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118305,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118339,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118372,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118406,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118439,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118472,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118505,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118539,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118572,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118606,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118640,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118672,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118706,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118739,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118772,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118806,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118840,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118872,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118906,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118939,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[118972,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119007,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119040,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119073,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119106,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119139,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119173,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119207,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119240,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119274,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119306,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119339,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119373,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119407,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119440,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119474,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119506,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119540,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119573,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119607,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119640,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119674,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119706,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119740,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119773,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119807,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119841,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119874,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119907,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119940,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[119973,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120008,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120041,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120074,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120107,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120140,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120173,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120208,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120241,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120274,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120307,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120340,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120374,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120408,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120441,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120474,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120507,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120540,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120574,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120608,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120641,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120675,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120707,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120741,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120774,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120808,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120841,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120875,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120907,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120941,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[120974,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121008,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121042,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121075,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121108,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121141,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121174,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121208,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121242,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121275,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121309,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121341,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121374,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121408,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121442,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121475,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121508,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121541,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121575,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121609,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121642,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121675,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121708,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121741,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121775,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121809,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121842,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121876,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121908,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121942,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[121975,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122009,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122042,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122076,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122109,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122142,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122175,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122209,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122243,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122276,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122309,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122342,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122375,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122409,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122443,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122476,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122509,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122542,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122575,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122610,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122643,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122676,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122709,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122742,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122776,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122809,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122842,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122876,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122909,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122942,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[122976,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123010,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123043,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123077,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123109,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123143,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123176,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123209,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123243,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123277,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123309,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123343,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123376,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123410,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123444,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123476,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123510,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123543,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123576,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123610,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123644,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123677,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123710,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123743,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123776,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123810,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123844,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123877,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123910,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123943,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[123977,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124010,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124044,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124077,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124110,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124143,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124177,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124210,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124244,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124278,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124310,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124344,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124377,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124410,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124444,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124478,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124510,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124544,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124577,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124610,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124645,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124678,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124711,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124744,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124777,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124811,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124845,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124878,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124911,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124944,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[124977,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125011,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125045,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125078,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125111,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125144,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125178,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125211,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125245,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125278,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125311,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125344,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125378,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125411,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125445,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125478,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125511,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125545,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125578,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125611,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125645,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125679,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125711,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125745,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125778,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125811,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125847,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125880,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125913,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125946,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[125979,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126013,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126047,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126080,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126113,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126146,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126179,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126212,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126247,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126280,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126313,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126346,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126380,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126412,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126447,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126480,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126513,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126546,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126580,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126613,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126647,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126681,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126713,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126747,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126780,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126813,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126847,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126881,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126913,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126947,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[126980,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127013,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127048,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127081,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127114,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127147,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127180,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127214,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127248,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127281,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127314,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127347,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127380,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127414,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127447,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127481,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127515,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127547,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127581,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127614,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127648,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127681,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127715,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127747,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127781,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127814,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127848,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127882,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127915,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127947,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[127981,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128014,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128048,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128082,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128115,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128148,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128181,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128215,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128249,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128281,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128314,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128348,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128381,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128415,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128449,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128482,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128515,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128548,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128581,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128615,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128649,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128682,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128716,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128748,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128782,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128815,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128849,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128882,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128916,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128948,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[128982,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129015,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129049,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129083,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129116,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129148,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129182,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129215,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129249,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129283,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129316,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129349,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129382,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129415,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129450,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129483,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129516,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129549,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129582,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129616,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129650,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129683,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129716,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129749,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129782,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129816,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129850,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129883,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129917,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129949,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[129983,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130016,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130050,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130083,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130117,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130149,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130183,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130216,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130250,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130284,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130317,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130349,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130383,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130416,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130450,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130483,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130517,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130550,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130583,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130616,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130651,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130684,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130717,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130750,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130783,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130817,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130851,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130884,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130917,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130950,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[130983,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131017,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131051,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131084,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131118,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131150,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131184,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131217,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131250,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131284,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131318,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131350,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131384,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131417,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131450,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131485,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131518,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131550,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131584,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131617,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131651,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131685,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131718,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131751,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131784,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131817,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131851,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131885,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131918,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131951,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[131984,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132018,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132051,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132085,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132118,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132151,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132184,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132218,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132251,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132285,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132319,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132351,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132385,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132418,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132451,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132485,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132519,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132551,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132585,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132618,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132651,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132686,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132719,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132751,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132785,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132818,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132852,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132886,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132918,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132951,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[132985,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133018,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133052,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133086,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133119,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133152,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133185,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133219,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133252,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133286,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133319,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133352,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133385,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133419,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133452,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133486,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133520,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133552,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133586,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133619,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133652,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133686,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133720,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133752,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133786,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133819,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133853,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133887,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133920,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133952,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[133986,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134019,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134053,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134087,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134120,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134153,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134186,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134219,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134253,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134287,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134320,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134353,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134386,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134420,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134453,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134487,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134520,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134553,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134586,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134620,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134653,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134687,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134721,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134753,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134786,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134820,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134853,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134887,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134921,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134953,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[134987,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135020,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135053,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135088,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135121,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135153,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135187,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135220,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135254,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135288,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135321,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135354,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135387,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135420,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135454,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135488,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135521,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135555,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135587,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135621,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135654,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135688,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135721,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135755,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135787,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135821,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135854,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135888,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135922,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135955,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[135987,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136021,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136054,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136088,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136122,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136155,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136188,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136221,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136254,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136289,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136322,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136355,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136388,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136421,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136455,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136489,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136522,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136555,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136588,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136621,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136655,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136689,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136722,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136756,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136788,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136822,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136855,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136889,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136922,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136956,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[136988,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137022,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137055,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137089,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137123,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137156,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137188,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137222,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137255,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137289,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137323,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137356,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137389,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137422,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137455,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137490,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137523,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137556,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137589,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137622,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137656,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137690,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137723,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137756,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137789,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137822,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137856,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137890,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137923,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137957,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[137989,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138023,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138056,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138089,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138123,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138157,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138189,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138223,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138256,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138289,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138324,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138357,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138389,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138423,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138456,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138490,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138524,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138557,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138590,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138623,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138656,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138690,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138724,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138757,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138790,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138823,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138857,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138890,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138924,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138957,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[138990,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139023,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139057,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139090,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139124,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139158,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139190,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139223,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139257,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139290,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139324,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139358,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139390,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139424,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139457,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139490,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139525,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139558,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139590,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139623,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139657,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139691,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139725,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139758,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139791,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139824,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139857,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139891,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139925,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139958,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[139991,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140024,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140058,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140091,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140125,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140158,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140191,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140224,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140258,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140291,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140325,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140359,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140391,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140424,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140458,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140491,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140525,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140559,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140591,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140625,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140658,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140691,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140726,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140759,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140791,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140825,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140858,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140892,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140926,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140959,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[140992,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141025,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141058,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141092,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141126,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141159,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141192,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141225,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141258,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141292,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141326,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141359,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141392,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141425,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141459,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141492,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141526,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141560,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141592,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141625,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141659,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141692,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141726,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141760,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141792,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141826,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141859,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141892,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141927,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141960,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[141993,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142026,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142059,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142093,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142127,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142160,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142193,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142226,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142259,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142293,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142327,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142360,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142394,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142426,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142460,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142493,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142527,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142560,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142594,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142626,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142660,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142693,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142727,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142761,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142794,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142827,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142860,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142893,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142927,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142961,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[142993,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143026,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143060,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143093,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143128,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143161,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143194,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143227,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143260,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143294,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143329,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143362,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143395,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143428,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143461,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143495,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143529,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143562,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143596,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143628,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143662,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143695,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143729,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143762,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143796,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143828,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143862,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143895,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143929,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143963,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[143996,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144028,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144062,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144095,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144129,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144163,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144196,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144229,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144262,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144295,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144330,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144363,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144396,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144429,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144462,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144495,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144530,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144563,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144596,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144629,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144662,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144695,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144730,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144763,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144797,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144829,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144863,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144896,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144930,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144963,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[144997,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145029,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145063,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145096,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145130,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145164,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145197,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145229,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145263,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145296,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145330,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145364,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145397,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145430,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145463,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145496,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145531,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145564,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145597,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145630,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145663,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145696,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145731,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145764,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145797,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145830,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145863,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145897,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145931,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145964,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[145998,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146030,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146064,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146097,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146132,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146164,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146198,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146230,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146264,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146297,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146330,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146365,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146398,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146430,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146464,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146497,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146531,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146565,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146598,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146631,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146664,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146697,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146731,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146765,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146798,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146831,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146864,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146898,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146931,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146965,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[146998,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147031,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147064,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147098,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147131,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147165,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147199,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147231,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147265,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147298,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147331,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147365,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147399,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147431,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147465,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147498,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147531,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147565,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147599,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147631,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147665,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147698,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147731,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147765,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147799,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147831,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147865,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147898,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147932,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147966,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[147999,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148032,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148065,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148098,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148132,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148166,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148199,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148232,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148265,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148299,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148332,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148366,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148400,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148432,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148465,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148499,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148532,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148566,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148600,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148632,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148666,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148699,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148732,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148767,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148800,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148832,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148866,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148899,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148933,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[148967,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149000,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149033,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149066,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149099,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149133,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149167,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149200,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149233,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149266,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149299,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149333,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149367,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149400,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149433,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149466,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149500,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149533,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149567,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149600,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149633,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149667,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149700,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149733,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149767,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149801,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149833,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149867,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149900,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149933,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[149968,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150001,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150033,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150067,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150100,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150134,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150168,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150201,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150234,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150267,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150300,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150334,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150368,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150401,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150435,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150467,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150500,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150534,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150568,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150601,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150635,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150667,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150701,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150734,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150768,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150802,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150835,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150867,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150901,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150934,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[150968,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151002,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151035,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151068,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151101,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151134,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151169,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151202,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151235,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151268,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151301,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151335,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151369,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151402,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151435,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151468,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151501,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151535,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151569,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151602,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151636,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151668,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151701,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151735,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151769,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151802,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151836,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151868,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151902,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151935,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[151969,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152002,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152036,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152068,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152102,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152135,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152169,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152203,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152236,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152269,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152302,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152335,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152369,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152403,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152436,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152469,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152502,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152535,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152569,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152602,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152636,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152668,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152702,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152735,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152770,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152803,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152836,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152869,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152902,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152936,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[152970,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153003,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153037,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153069,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153102,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153136,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153170,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153204,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153237,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153269,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153303,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153336,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153370,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153404,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153437,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153470,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153503,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153536,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153570,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153604,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153637,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153670,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153703,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153737,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153770,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153804,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153837,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153870,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153903,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153937,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[153970,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154004,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154038,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154070,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154104,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154137,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154170,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154204,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154238,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154270,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154304,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154337,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154370,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154404,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154438,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154470,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154504,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154537,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154571,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154605,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154638,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154671,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154704,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154737,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154771,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154805,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154838,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154871,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154904,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154938,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[154971,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155005,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155038,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155071,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155104,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155138,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155171,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155205,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155239,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155271,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155304,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155338,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155371,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155405,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155439,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155471,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155505,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155538,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155571,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155605,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155639,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155671,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155705,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155738,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155771,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155806,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155839,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155871,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155905,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155938,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[155972,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156006,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156039,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156072,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156105,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156138,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156172,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156206,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156239,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156272,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156305,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156339,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156372,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156406,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156439,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156472,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156505,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156539,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156572,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156606,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156640,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156672,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156706,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156739,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156772,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156806,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156840,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156872,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156906,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156939,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[156972,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157007,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157040,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157073,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157106,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157139,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157173,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157207,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157240,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157274,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157306,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157339,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157373,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157407,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157440,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157474,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157506,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157540,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157573,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157607,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157641,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157674,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157706,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157740,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157773,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157807,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157841,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157874,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157907,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157940,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[157973,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158007,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158041,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158074,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158107,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158140,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158173,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158208,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158241,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158274,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158307,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158340,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158374,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158408,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158441,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158474,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158507,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158540,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158574,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158608,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158641,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158675,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158707,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158741,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158774,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158808,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158842,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158875,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158907,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158941,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[158974,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159008,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159042,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159075,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159108,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159141,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159174,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159208,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159242,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159275,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159308,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159341,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159374,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159409,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159442,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159475,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159508,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159541,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159575,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159609,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159642,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159675,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159708,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159741,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159775,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159809,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159842,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159876,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159908,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159942,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[159975,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160009,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160042,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160076,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160108,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160142,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160175,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160209,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160243,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160276,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160309,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160342,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160375,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160409,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160443,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160476,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160509,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160542,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160575,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160610,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160643,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160676,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160709,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160742,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160776,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160811,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160843,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160878,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160910,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160943,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[160977,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161011,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161044,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161077,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161110,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161143,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161177,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161210,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161245,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161278,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161310,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161344,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161377,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161410,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161445,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161478,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161510,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161544,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161577,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161611,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161645,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161678,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161711,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161744,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161778,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161811,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161845,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161878,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161911,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161944,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[161978,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162011,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162044,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162078,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162111,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162144,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162178,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162211,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162245,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162279,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162311,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162345,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162378,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162411,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162445,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162479,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162511,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162545,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162578,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162611,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162646,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162679,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162712,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162745,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162778,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162812,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162846,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162879,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162912,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162945,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[162978,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163012,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163046,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163079,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163111,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163145,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163179,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163212,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163246,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163279,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163312,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163345,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163379,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163412,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163446,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163480,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163512,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163546,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163579,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163612,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163646,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163680,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163712,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163746,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163779,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163812,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163847,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163880,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163913,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163946,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[163979,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164013,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164047,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164080,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164113,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164146,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164180,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164213,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164247,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164280,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164313,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164346,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164380,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164413,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164447,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164480,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164513,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164546,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164580,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164613,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164647,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164681,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164713,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164747,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164780,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164813,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164848,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164881,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164913,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164947,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[164980,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165013,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165048,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165081,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165114,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165147,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165180,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165214,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165248,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165281,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165314,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165347,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165380,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165414,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165448,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165481,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165515,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165547,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165581,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165614,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165648,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165681,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165715,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165747,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165781,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165814,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165848,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165882,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165914,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165948,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[165981,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166014,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166048,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166082,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166115,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166148,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166181,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166214,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166249,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166282,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166315,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166348,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166381,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166415,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166449,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166482,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166515,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166548,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166581,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166615,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166649,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166682,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166716,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166748,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166782,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166815,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166849,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166882,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166916,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166948,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[166982,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167015,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167049,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167082,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167116,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167148,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167182,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167215,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167249,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167283,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167316,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167349,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167382,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167415,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167450,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167483,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167516,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167549,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167582,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167616,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167650,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167683,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167716,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167749,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167782,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167816,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167850,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167883,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167917,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167949,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[167983,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168016,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168050,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168083,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168117,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168149,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168183,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168216,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168250,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168284,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168317,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168350,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168383,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168416,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168450,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168484,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168517,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168550,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168583,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168616,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168651,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168684,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168717,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168750,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168783,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168817,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168851,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168884,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168918,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168950,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[168983,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169017,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169051,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169084,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169118,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169150,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169184,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169217,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169250,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169284,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169318,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169350,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169384,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169417,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169450,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169485,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169518,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169551,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169584,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169617,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169651,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169685,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169718,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169751,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169784,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169817,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169851,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169885,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169918,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169951,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[169984,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170018,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170051,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170085,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170118,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170151,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170184,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170218,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170251,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170285,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170319,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170351,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170385,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170418,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170451,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170485,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170519,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170551,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170585,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170618,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170651,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170686,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170719,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170752,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170785,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170818,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170852,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170886,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170919,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170952,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[170985,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171018,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171052,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171086,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171119,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171152,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171185,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171219,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171252,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171286,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171319,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171352,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171385,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171419,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171452,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171486,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171520,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171552,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171586,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171619,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171652,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171686,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171720,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171752,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171786,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171819,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171852,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171887,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171920,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171953,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[171986,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172019,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172053,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172087,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172120,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172154,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172186,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172219,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172253,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172287,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172320,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172353,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172386,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172420,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172453,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172487,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172520,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172554,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172586,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172620,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172653,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172687,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172721,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172754,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172787,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172820,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172853,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172887,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172921,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172954,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[172987,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173020,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173054,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173088,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173121,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173154,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173186,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173220,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173254,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173288,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173321,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173354,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173387,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173420,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173454,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173488,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173521,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173554,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173587,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173621,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173654,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173688,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173721,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173755,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173787,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173821,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173854,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173888,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173922,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173955,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[173988,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174021,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174054,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174088,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174122,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174155,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174188,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174221,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174254,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174289,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174322,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174355,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174388,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174421,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174455,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174489,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174522,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174555,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174588,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174621,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174655,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174689,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174722,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174756,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174788,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174822,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174855,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174889,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174922,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174956,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[174988,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175022,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175055,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175089,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175123,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175156,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175189,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175222,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175255,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175289,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175323,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175356,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175389,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175422,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175455,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175490,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175523,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175556,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175589,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175622,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175656,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175690,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175723,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175756,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175789,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175822,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175856,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175890,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175923,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175957,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[175989,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176023,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176056,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176089,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176123,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176157,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176189,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176223,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176256,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176289,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176324,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176357,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176390,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176423,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176456,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176490,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176524,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176557,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176590,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176623,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176656,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176690,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176724,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176757,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176790,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176823,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176857,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176890,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176924,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176957,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[176990,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177023,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177057,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177090,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177124,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177157,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177190,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177224,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177257,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177290,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177324,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177358,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177390,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177424,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177457,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177490,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177525,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177558,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177591,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177624,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177657,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177691,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177726,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177758,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177792,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177825,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177858,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177891,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177926,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177959,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[177991,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178024,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178058,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178091,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178125,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178159,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178191,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178225,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178258,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178292,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178326,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178360,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178392,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178426,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178459,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178492,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178527,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178560,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178593,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178626,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178659,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178693,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178727,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178760,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178793,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178826,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178859,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178893,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178927,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178960,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[178993,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179026,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179060,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179093,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179127,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179160,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179193,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179226,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179260,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179293,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179327,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179361,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179393,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179427,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179460,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179493,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179528,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179561,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179593,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179627,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179660,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179694,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179728,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179761,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179794,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179827,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179860,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179894,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179928,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179961,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[179994,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180027,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180061,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180094,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180128,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180161,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180195,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180227,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180261,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180294,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180328,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180362,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180395,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180428,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180461,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180494,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180528,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180562,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180595,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180628,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180661,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180694,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180729,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180762,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180795,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180828,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180861,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180895,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180929,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180962,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[180995,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181028,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181061,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181095,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181129,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181162,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181196,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181228,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181262,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181295,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181329,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181362,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181396,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181428,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181462,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181495,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181529,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181563,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181596,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181629,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181662,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181695,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181729,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181763,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181796,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181829,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181862,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181895,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181930,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181963,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[181996,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182029,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182062,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182096,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182130,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182162,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182196,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182229,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182262,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182296,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182330,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182363,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182397,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182429,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182463,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182496,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182530,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182563,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182597,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182629,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182663,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182696,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182730,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182764,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182798,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182830,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182864,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182897,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182931,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182963,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[182997,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183029,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183063,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183096,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183129,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183164,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183197,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183230,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183263,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183296,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183330,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183363,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183397,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183430,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183463,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183496,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183531,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183564,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183597,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183630,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183663,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183697,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183731,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183764,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183797,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183830,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183863,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183897,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183931,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183964,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[183998,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184030,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184064,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184097,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184130,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184164,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184198,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184230,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184264,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184297,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184330,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184365,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184398,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184431,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184464,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184497,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184531,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184565,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184598,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184631,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184664,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184697,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184731,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184765,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184798,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184831,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184864,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184898,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184931,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184965,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[184998,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185031,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185064,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185098,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185131,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185165,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185199,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185231,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185264,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185298,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185331,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185365,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185399,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185431,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185465,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185498,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185531,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185566,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185599,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185631,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185665,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185698,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185732,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185766,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185799,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185832,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185865,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185898,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185932,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185966,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[185999,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186032,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186065,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186099,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186132,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186166,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186199,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186232,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186265,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186299,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186332,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186366,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186400,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186432,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186466,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186499,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186532,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186566,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186600,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186632,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186666,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186699,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186732,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186767,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186800,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186832,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186866,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186899,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186933,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[186967,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187000,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187033,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187066,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187099,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187133,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187167,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187200,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187233,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187266,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187300,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187333,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187367,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187400,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187433,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187466,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187500,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187533,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187567,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187601,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[187633,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794],[0,-2246.204833984375,386.8999938964844,-633.871826171875,0,-0.005027176484236067,0,-0.9999873636685794]] \ No newline at end of file diff --git a/tools/hexgl/textures.full/bonus/base/diffuse.jpg b/tools/hexgl/textures.full/bonus/base/diffuse.jpg deleted file mode 100644 index 0b7ae96..0000000 Binary files a/tools/hexgl/textures.full/bonus/base/diffuse.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/bonus/base/normal.jpg b/tools/hexgl/textures.full/bonus/base/normal.jpg deleted file mode 100644 index 93a330e..0000000 Binary files a/tools/hexgl/textures.full/bonus/base/normal.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/bonus/base/specular.jpg b/tools/hexgl/textures.full/bonus/base/specular.jpg deleted file mode 100644 index 890c4d1..0000000 Binary files a/tools/hexgl/textures.full/bonus/base/specular.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/checker.png b/tools/hexgl/textures.full/checker.png deleted file mode 100644 index 232039e..0000000 Binary files a/tools/hexgl/textures.full/checker.png and /dev/null differ diff --git a/tools/hexgl/textures.full/hud/hex.jpg b/tools/hexgl/textures.full/hud/hex.jpg deleted file mode 100644 index f8dcc29..0000000 Binary files a/tools/hexgl/textures.full/hud/hex.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/hud/hud-bg.png b/tools/hexgl/textures.full/hud/hud-bg.png deleted file mode 100644 index 1ff2522..0000000 Binary files a/tools/hexgl/textures.full/hud/hud-bg.png and /dev/null differ diff --git a/tools/hexgl/textures.full/hud/hud-fg-shield.png b/tools/hexgl/textures.full/hud/hud-fg-shield.png deleted file mode 100644 index f94999a..0000000 Binary files a/tools/hexgl/textures.full/hud/hud-fg-shield.png and /dev/null differ diff --git a/tools/hexgl/textures.full/hud/hud-fg-speed.png b/tools/hexgl/textures.full/hud/hud-fg-speed.png deleted file mode 100644 index 4306683..0000000 Binary files a/tools/hexgl/textures.full/hud/hud-fg-speed.png and /dev/null differ diff --git a/tools/hexgl/textures.full/particles/cloud - Copie.png b/tools/hexgl/textures.full/particles/cloud - Copie.png deleted file mode 100644 index 6568f22..0000000 Binary files a/tools/hexgl/textures.full/particles/cloud - Copie.png and /dev/null differ diff --git a/tools/hexgl/textures.full/particles/cloud.png b/tools/hexgl/textures.full/particles/cloud.png deleted file mode 100644 index cc893f1..0000000 Binary files a/tools/hexgl/textures.full/particles/cloud.png and /dev/null differ diff --git a/tools/hexgl/textures.full/particles/damage.png b/tools/hexgl/textures.full/particles/damage.png deleted file mode 100644 index e24217a..0000000 Binary files a/tools/hexgl/textures.full/particles/damage.png and /dev/null differ diff --git a/tools/hexgl/textures.full/particles/spark - Copie.png b/tools/hexgl/textures.full/particles/spark - Copie.png deleted file mode 100644 index 3aa04ef..0000000 Binary files a/tools/hexgl/textures.full/particles/spark - Copie.png and /dev/null differ diff --git a/tools/hexgl/textures.full/particles/spark.png b/tools/hexgl/textures.full/particles/spark.png deleted file mode 100644 index 1101da2..0000000 Binary files a/tools/hexgl/textures.full/particles/spark.png and /dev/null differ diff --git a/tools/hexgl/textures.full/ships/feisar/booster/booster.png b/tools/hexgl/textures.full/ships/feisar/booster/booster.png deleted file mode 100644 index 62d366a..0000000 Binary files a/tools/hexgl/textures.full/ships/feisar/booster/booster.png and /dev/null differ diff --git a/tools/hexgl/textures.full/ships/feisar/booster/boostersprite.jpg b/tools/hexgl/textures.full/ships/feisar/booster/boostersprite.jpg deleted file mode 100644 index 8939b8c..0000000 Binary files a/tools/hexgl/textures.full/ships/feisar/booster/boostersprite.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/ships/feisar/diffuse.jpg b/tools/hexgl/textures.full/ships/feisar/diffuse.jpg deleted file mode 100644 index 4cefffb..0000000 Binary files a/tools/hexgl/textures.full/ships/feisar/diffuse.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/ships/feisar/normal.jpg b/tools/hexgl/textures.full/ships/feisar/normal.jpg deleted file mode 100644 index 3ac3777..0000000 Binary files a/tools/hexgl/textures.full/ships/feisar/normal.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/ships/feisar/specular.jpg b/tools/hexgl/textures.full/ships/feisar/specular.jpg deleted file mode 100644 index cb57135..0000000 Binary files a/tools/hexgl/textures.full/ships/feisar/specular.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/skybox/dawnclouds/nx.jpg b/tools/hexgl/textures.full/skybox/dawnclouds/nx.jpg deleted file mode 100644 index 1cae307..0000000 Binary files a/tools/hexgl/textures.full/skybox/dawnclouds/nx.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/skybox/dawnclouds/ny.jpg b/tools/hexgl/textures.full/skybox/dawnclouds/ny.jpg deleted file mode 100644 index fa7a975..0000000 Binary files a/tools/hexgl/textures.full/skybox/dawnclouds/ny.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/skybox/dawnclouds/nz.jpg b/tools/hexgl/textures.full/skybox/dawnclouds/nz.jpg deleted file mode 100644 index 1e9c54e..0000000 Binary files a/tools/hexgl/textures.full/skybox/dawnclouds/nz.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/skybox/dawnclouds/px.jpg b/tools/hexgl/textures.full/skybox/dawnclouds/px.jpg deleted file mode 100644 index 0ad2eea..0000000 Binary files a/tools/hexgl/textures.full/skybox/dawnclouds/px.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/skybox/dawnclouds/py.jpg b/tools/hexgl/textures.full/skybox/dawnclouds/py.jpg deleted file mode 100644 index de7e5cc..0000000 Binary files a/tools/hexgl/textures.full/skybox/dawnclouds/py.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/skybox/dawnclouds/pz.jpg b/tools/hexgl/textures.full/skybox/dawnclouds/pz.jpg deleted file mode 100644 index 836cdb4..0000000 Binary files a/tools/hexgl/textures.full/skybox/dawnclouds/pz.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/tracks/cityscape/collision.png b/tools/hexgl/textures.full/tracks/cityscape/collision.png deleted file mode 100644 index d17e4c9..0000000 Binary files a/tools/hexgl/textures.full/tracks/cityscape/collision.png and /dev/null differ diff --git a/tools/hexgl/textures.full/tracks/cityscape/diffuse.jpg b/tools/hexgl/textures.full/tracks/cityscape/diffuse.jpg deleted file mode 100644 index 36e9614..0000000 Binary files a/tools/hexgl/textures.full/tracks/cityscape/diffuse.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/tracks/cityscape/height.png b/tools/hexgl/textures.full/tracks/cityscape/height.png deleted file mode 100644 index 6747c9d..0000000 Binary files a/tools/hexgl/textures.full/tracks/cityscape/height.png and /dev/null differ diff --git a/tools/hexgl/textures.full/tracks/cityscape/normal.jpg b/tools/hexgl/textures.full/tracks/cityscape/normal.jpg deleted file mode 100644 index 14a923b..0000000 Binary files a/tools/hexgl/textures.full/tracks/cityscape/normal.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/tracks/cityscape/scrapers1/diffuse.jpg b/tools/hexgl/textures.full/tracks/cityscape/scrapers1/diffuse.jpg deleted file mode 100644 index 9369102..0000000 Binary files a/tools/hexgl/textures.full/tracks/cityscape/scrapers1/diffuse.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/tracks/cityscape/scrapers1/normal.jpg b/tools/hexgl/textures.full/tracks/cityscape/scrapers1/normal.jpg deleted file mode 100644 index f7f1b73..0000000 Binary files a/tools/hexgl/textures.full/tracks/cityscape/scrapers1/normal.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/tracks/cityscape/scrapers1/specular.jpg b/tools/hexgl/textures.full/tracks/cityscape/scrapers1/specular.jpg deleted file mode 100644 index 4364748..0000000 Binary files a/tools/hexgl/textures.full/tracks/cityscape/scrapers1/specular.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/tracks/cityscape/scrapers2/diffuse.jpg b/tools/hexgl/textures.full/tracks/cityscape/scrapers2/diffuse.jpg deleted file mode 100644 index bc1b34e..0000000 Binary files a/tools/hexgl/textures.full/tracks/cityscape/scrapers2/diffuse.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/tracks/cityscape/scrapers2/normal.jpg b/tools/hexgl/textures.full/tracks/cityscape/scrapers2/normal.jpg deleted file mode 100644 index 653aa6c..0000000 Binary files a/tools/hexgl/textures.full/tracks/cityscape/scrapers2/normal.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/tracks/cityscape/scrapers2/specular.jpg b/tools/hexgl/textures.full/tracks/cityscape/scrapers2/specular.jpg deleted file mode 100644 index 2bbb34c..0000000 Binary files a/tools/hexgl/textures.full/tracks/cityscape/scrapers2/specular.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/tracks/cityscape/specular.jpg b/tools/hexgl/textures.full/tracks/cityscape/specular.jpg deleted file mode 100644 index 76532de..0000000 Binary files a/tools/hexgl/textures.full/tracks/cityscape/specular.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/tracks/cityscape/start/diffuse.jpg b/tools/hexgl/textures.full/tracks/cityscape/start/diffuse.jpg deleted file mode 100644 index e047eb9..0000000 Binary files a/tools/hexgl/textures.full/tracks/cityscape/start/diffuse.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/tracks/cityscape/start/normal.jpg b/tools/hexgl/textures.full/tracks/cityscape/start/normal.jpg deleted file mode 100644 index 029ecba..0000000 Binary files a/tools/hexgl/textures.full/tracks/cityscape/start/normal.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/tracks/cityscape/start/specular.jpg b/tools/hexgl/textures.full/tracks/cityscape/start/specular.jpg deleted file mode 100644 index 235a2ae..0000000 Binary files a/tools/hexgl/textures.full/tracks/cityscape/start/specular.jpg and /dev/null differ diff --git a/tools/hexgl/textures.full/tracks/cityscape/start/start.jpg b/tools/hexgl/textures.full/tracks/cityscape/start/start.jpg deleted file mode 100644 index 56c9cb2..0000000 Binary files a/tools/hexgl/textures.full/tracks/cityscape/start/start.jpg and /dev/null differ diff --git a/tools/hexgl/textures/bonus/base/diffuse.jpg b/tools/hexgl/textures/bonus/base/diffuse.jpg deleted file mode 100644 index 0ea0fcb..0000000 Binary files a/tools/hexgl/textures/bonus/base/diffuse.jpg and /dev/null differ diff --git a/tools/hexgl/textures/bonus/base/normal.jpg b/tools/hexgl/textures/bonus/base/normal.jpg deleted file mode 100644 index 93a330e..0000000 Binary files a/tools/hexgl/textures/bonus/base/normal.jpg and /dev/null differ diff --git a/tools/hexgl/textures/bonus/base/specular.jpg b/tools/hexgl/textures/bonus/base/specular.jpg deleted file mode 100644 index 890c4d1..0000000 Binary files a/tools/hexgl/textures/bonus/base/specular.jpg and /dev/null differ diff --git a/tools/hexgl/textures/checker.png b/tools/hexgl/textures/checker.png deleted file mode 100644 index 232039e..0000000 Binary files a/tools/hexgl/textures/checker.png and /dev/null differ diff --git a/tools/hexgl/textures/hud/hex.jpg b/tools/hexgl/textures/hud/hex.jpg deleted file mode 100644 index f8dcc29..0000000 Binary files a/tools/hexgl/textures/hud/hex.jpg and /dev/null differ diff --git a/tools/hexgl/textures/hud/hud-bg.png b/tools/hexgl/textures/hud/hud-bg.png deleted file mode 100644 index 1ff2522..0000000 Binary files a/tools/hexgl/textures/hud/hud-bg.png and /dev/null differ diff --git a/tools/hexgl/textures/hud/hud-fg-shield.png b/tools/hexgl/textures/hud/hud-fg-shield.png deleted file mode 100644 index f94999a..0000000 Binary files a/tools/hexgl/textures/hud/hud-fg-shield.png and /dev/null differ diff --git a/tools/hexgl/textures/hud/hud-fg-speed.png b/tools/hexgl/textures/hud/hud-fg-speed.png deleted file mode 100644 index 4306683..0000000 Binary files a/tools/hexgl/textures/hud/hud-fg-speed.png and /dev/null differ diff --git a/tools/hexgl/textures/particles/cloud - Copie.png b/tools/hexgl/textures/particles/cloud - Copie.png deleted file mode 100644 index 6568f22..0000000 Binary files a/tools/hexgl/textures/particles/cloud - Copie.png and /dev/null differ diff --git a/tools/hexgl/textures/particles/cloud.png b/tools/hexgl/textures/particles/cloud.png deleted file mode 100644 index cc893f1..0000000 Binary files a/tools/hexgl/textures/particles/cloud.png and /dev/null differ diff --git a/tools/hexgl/textures/particles/damage.png b/tools/hexgl/textures/particles/damage.png deleted file mode 100644 index e24217a..0000000 Binary files a/tools/hexgl/textures/particles/damage.png and /dev/null differ diff --git a/tools/hexgl/textures/particles/spark - Copie.png b/tools/hexgl/textures/particles/spark - Copie.png deleted file mode 100644 index 3aa04ef..0000000 Binary files a/tools/hexgl/textures/particles/spark - Copie.png and /dev/null differ diff --git a/tools/hexgl/textures/particles/spark.png b/tools/hexgl/textures/particles/spark.png deleted file mode 100644 index 1101da2..0000000 Binary files a/tools/hexgl/textures/particles/spark.png and /dev/null differ diff --git a/tools/hexgl/textures/ships/feisar/booster/booster.png b/tools/hexgl/textures/ships/feisar/booster/booster.png deleted file mode 100644 index e5550c8..0000000 Binary files a/tools/hexgl/textures/ships/feisar/booster/booster.png and /dev/null differ diff --git a/tools/hexgl/textures/ships/feisar/booster/boostersprite.jpg b/tools/hexgl/textures/ships/feisar/booster/boostersprite.jpg deleted file mode 100644 index aabfd84..0000000 Binary files a/tools/hexgl/textures/ships/feisar/booster/boostersprite.jpg and /dev/null differ diff --git a/tools/hexgl/textures/ships/feisar/diffuse.jpg b/tools/hexgl/textures/ships/feisar/diffuse.jpg deleted file mode 100644 index ed07511..0000000 Binary files a/tools/hexgl/textures/ships/feisar/diffuse.jpg and /dev/null differ diff --git a/tools/hexgl/textures/ships/feisar/normal.jpg b/tools/hexgl/textures/ships/feisar/normal.jpg deleted file mode 100644 index 3ac3777..0000000 Binary files a/tools/hexgl/textures/ships/feisar/normal.jpg and /dev/null differ diff --git a/tools/hexgl/textures/ships/feisar/specular.jpg b/tools/hexgl/textures/ships/feisar/specular.jpg deleted file mode 100644 index cb57135..0000000 Binary files a/tools/hexgl/textures/ships/feisar/specular.jpg and /dev/null differ diff --git a/tools/hexgl/textures/skybox/dawnclouds/nx.jpg b/tools/hexgl/textures/skybox/dawnclouds/nx.jpg deleted file mode 100644 index 3fffa1f..0000000 Binary files a/tools/hexgl/textures/skybox/dawnclouds/nx.jpg and /dev/null differ diff --git a/tools/hexgl/textures/skybox/dawnclouds/ny.jpg b/tools/hexgl/textures/skybox/dawnclouds/ny.jpg deleted file mode 100644 index c2e17d6..0000000 Binary files a/tools/hexgl/textures/skybox/dawnclouds/ny.jpg and /dev/null differ diff --git a/tools/hexgl/textures/skybox/dawnclouds/nz.jpg b/tools/hexgl/textures/skybox/dawnclouds/nz.jpg deleted file mode 100644 index 31bfcea..0000000 Binary files a/tools/hexgl/textures/skybox/dawnclouds/nz.jpg and /dev/null differ diff --git a/tools/hexgl/textures/skybox/dawnclouds/px.jpg b/tools/hexgl/textures/skybox/dawnclouds/px.jpg deleted file mode 100644 index 180ff87..0000000 Binary files a/tools/hexgl/textures/skybox/dawnclouds/px.jpg and /dev/null differ diff --git a/tools/hexgl/textures/skybox/dawnclouds/py.jpg b/tools/hexgl/textures/skybox/dawnclouds/py.jpg deleted file mode 100644 index 7e18c57..0000000 Binary files a/tools/hexgl/textures/skybox/dawnclouds/py.jpg and /dev/null differ diff --git a/tools/hexgl/textures/skybox/dawnclouds/pz.jpg b/tools/hexgl/textures/skybox/dawnclouds/pz.jpg deleted file mode 100644 index 558922b..0000000 Binary files a/tools/hexgl/textures/skybox/dawnclouds/pz.jpg and /dev/null differ diff --git a/tools/hexgl/textures/tracks/cityscape/collision.png b/tools/hexgl/textures/tracks/cityscape/collision.png deleted file mode 100644 index d17e4c9..0000000 Binary files a/tools/hexgl/textures/tracks/cityscape/collision.png and /dev/null differ diff --git a/tools/hexgl/textures/tracks/cityscape/diffuse.jpg b/tools/hexgl/textures/tracks/cityscape/diffuse.jpg deleted file mode 100644 index 95a4be3..0000000 Binary files a/tools/hexgl/textures/tracks/cityscape/diffuse.jpg and /dev/null differ diff --git a/tools/hexgl/textures/tracks/cityscape/height.png b/tools/hexgl/textures/tracks/cityscape/height.png deleted file mode 100644 index 6747c9d..0000000 Binary files a/tools/hexgl/textures/tracks/cityscape/height.png and /dev/null differ diff --git a/tools/hexgl/textures/tracks/cityscape/normal.jpg b/tools/hexgl/textures/tracks/cityscape/normal.jpg deleted file mode 100644 index 14a923b..0000000 Binary files a/tools/hexgl/textures/tracks/cityscape/normal.jpg and /dev/null differ diff --git a/tools/hexgl/textures/tracks/cityscape/scrapers1/diffuse.jpg b/tools/hexgl/textures/tracks/cityscape/scrapers1/diffuse.jpg deleted file mode 100644 index 09af2ab..0000000 Binary files a/tools/hexgl/textures/tracks/cityscape/scrapers1/diffuse.jpg and /dev/null differ diff --git a/tools/hexgl/textures/tracks/cityscape/scrapers1/normal.jpg b/tools/hexgl/textures/tracks/cityscape/scrapers1/normal.jpg deleted file mode 100644 index f7f1b73..0000000 Binary files a/tools/hexgl/textures/tracks/cityscape/scrapers1/normal.jpg and /dev/null differ diff --git a/tools/hexgl/textures/tracks/cityscape/scrapers1/specular.jpg b/tools/hexgl/textures/tracks/cityscape/scrapers1/specular.jpg deleted file mode 100644 index 4364748..0000000 Binary files a/tools/hexgl/textures/tracks/cityscape/scrapers1/specular.jpg and /dev/null differ diff --git a/tools/hexgl/textures/tracks/cityscape/scrapers2/diffuse.jpg b/tools/hexgl/textures/tracks/cityscape/scrapers2/diffuse.jpg deleted file mode 100644 index 2795916..0000000 Binary files a/tools/hexgl/textures/tracks/cityscape/scrapers2/diffuse.jpg and /dev/null differ diff --git a/tools/hexgl/textures/tracks/cityscape/scrapers2/normal.jpg b/tools/hexgl/textures/tracks/cityscape/scrapers2/normal.jpg deleted file mode 100644 index 653aa6c..0000000 Binary files a/tools/hexgl/textures/tracks/cityscape/scrapers2/normal.jpg and /dev/null differ diff --git a/tools/hexgl/textures/tracks/cityscape/scrapers2/specular.jpg b/tools/hexgl/textures/tracks/cityscape/scrapers2/specular.jpg deleted file mode 100644 index 2bbb34c..0000000 Binary files a/tools/hexgl/textures/tracks/cityscape/scrapers2/specular.jpg and /dev/null differ diff --git a/tools/hexgl/textures/tracks/cityscape/specular.jpg b/tools/hexgl/textures/tracks/cityscape/specular.jpg deleted file mode 100644 index 76532de..0000000 Binary files a/tools/hexgl/textures/tracks/cityscape/specular.jpg and /dev/null differ diff --git a/tools/hexgl/textures/tracks/cityscape/start/diffuse.jpg b/tools/hexgl/textures/tracks/cityscape/start/diffuse.jpg deleted file mode 100644 index e047eb9..0000000 Binary files a/tools/hexgl/textures/tracks/cityscape/start/diffuse.jpg and /dev/null differ diff --git a/tools/hexgl/textures/tracks/cityscape/start/normal.jpg b/tools/hexgl/textures/tracks/cityscape/start/normal.jpg deleted file mode 100644 index 029ecba..0000000 Binary files a/tools/hexgl/textures/tracks/cityscape/start/normal.jpg and /dev/null differ diff --git a/tools/hexgl/textures/tracks/cityscape/start/specular.jpg b/tools/hexgl/textures/tracks/cityscape/start/specular.jpg deleted file mode 100644 index 235a2ae..0000000 Binary files a/tools/hexgl/textures/tracks/cityscape/start/specular.jpg and /dev/null differ diff --git a/tools/hexgl/textures/tracks/cityscape/start/start.jpg b/tools/hexgl/textures/tracks/cityscape/start/start.jpg deleted file mode 100644 index 56c9cb2..0000000 Binary files a/tools/hexgl/textures/tracks/cityscape/start/start.jpg and /dev/null differ